kanidmd_lib::schema

Trait SchemaTransaction

source
pub trait SchemaTransaction {
    // Required methods
    fn get_classes(&self) -> &HashMap<AttrString, SchemaClass>;
    fn get_attributes(&self) -> &HashMap<Attribute, SchemaAttribute>;
    fn get_attributes_unique(&self) -> &Vec<Attribute>;
    fn get_reference_types(&self) -> &HashMap<Attribute, SchemaAttribute>;

    // Provided methods
    fn validate(&self) -> Vec<Result<(), ConsistencyError>> { ... }
    fn is_replicated(&self, attr: &Attribute) -> bool { ... }
    fn is_multivalue(&self, attr: &Attribute) -> Result<bool, SchemaError> { ... }
    fn normalise_attr_if_exists(&self, an: &str) -> Option<Attribute> { ... }
    fn query_attrs_difference(
        &self,
        prev_class: &BTreeSet<&str>,
        new_class: &BTreeSet<&str>,
    ) -> Result<(BTreeSet<&str>, BTreeSet<&str>), SchemaError> { ... }
}

Required Methods§

Provided Methods§

Implementors§