kanidmd_lib::entry

Type Alias EntryInvalidCommitted

Source
pub type EntryInvalidCommitted = Entry<EntryInvalid, EntryCommitted>;

Aliased Type§

struct EntryInvalidCommitted { /* private fields */ }

Implementations

Source§

impl Entry<EntryInvalid, EntryCommitted>

Source

pub fn to_recycled(self) -> Self

Convert this entry into a recycled entry, that is “in the recycle bin”.

Source

pub fn to_conflict<T>(&mut self, iter: T)
where T: IntoIterator<Item = Uuid>,

Convert this entry into a conflict, declaring what entries it conflicted against.

Source

pub fn to_revived(self) -> Self

Extract this entry from the recycle bin into a live state.

Source§

impl<STATE> Entry<EntryInvalid, STATE>
where STATE: Clone,

Source

pub fn add_ava(&mut self, attr: Attribute, value: Value)

Source

pub fn add_ava_if_not_exist<A: AsRef<Attribute>>( &mut self, attr: A, value: Value, )

Source

pub fn pop_ava<A: AsRef<Attribute>>(&mut self, attr: A) -> Option<ValueSet>

Remove this value set from the entry, returning the value set at the time of removal.

Source

pub fn set_ava<T>(&mut self, attr: &Attribute, iter: T)
where T: Clone + IntoIterator<Item = Value>,

Replace the content of this attribute with the values from this iterator. If the iterator is empty, the attribute is purged.

Source

pub fn set_ava_set(&mut self, attr: &Attribute, vs: ValueSet)

Replace the content of this attribute with a new value set. Effectively this is a a “purge and set”.

Source

pub fn merge_ava_set( &mut self, attr: &Attribute, vs: ValueSet, ) -> Result<(), OperationError>

Merge the content from the new ValueSet into the existing ValueSet. If no existing ValueSet is present, then these data are inserted.

Source

pub fn apply_modlist( &mut self, modlist: &ModifyList<ModifyValid>, ) -> Result<(), OperationError>

Apply the content of this modlist to this entry, enforcing the expressed state.

Source§

impl<STATE> Entry<EntryInvalid, STATE>

Source

pub fn validate( self, schema: &dyn SchemaTransaction, ) -> Result<Entry<EntryValid, STATE>, SchemaError>

Validate that this entry and its attribute-value sets are conformant to the system’s’ schema and the relevant syntaxes.

Source§

impl<VALID> Entry<VALID, EntryCommitted>

Source

pub fn get_id(&self) -> u64

If this entry has ever been committed to disk, retrieve its database id number.

Source§

impl<VALID, STATE> Entry<VALID, STATE>

Source

pub fn get_ava_names(&self) -> impl Iterator<Item = &str>

Get an iterator over the current set of attribute names that this entry contains.

Source

pub fn get_ava(&self) -> &Eattrs

Get an iterator over the current set of values for an attribute name.

Source

pub fn get_ava_iter(&self) -> impl Iterator<Item = (&Attribute, &ValueSet)>

Source

pub fn get_ava_set<A: AsRef<Attribute>>(&self, attr: A) -> Option<&ValueSet>

Return a reference to the current set of values that are associated to this attribute.

Source

pub fn get_ava_refer<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeSet<Uuid>>

Source

pub fn get_ava_as_iutf8_iter<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = &str>>

Source

pub fn get_ava_as_iutf8<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeSet<String>>

Source

pub fn get_ava_as_image<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&HashSet<ImageValue>>

Source

pub fn get_ava_single_image<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<ImageValue>

Source

pub fn get_ava_single_credential_type<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<CredentialType>

Source

pub fn get_ava_as_oauthscopes<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = &str>>

Source

pub fn get_ava_as_oauthscopemaps<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, BTreeSet<String>>>

Source

pub fn get_ava_as_intenttokens<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<String, IntentTokenState>>

Source

pub fn get_ava_as_session_map<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, Session>>

Source

pub fn get_ava_as_apitoken_map<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, ApiToken>>

Source

pub fn get_ava_as_oauth2session_map<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, Oauth2Session>>

Source

pub fn get_ava_iter_iname<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = &str>>

If possible, return an iterator over the set of values transformed into a &str.

Source

pub fn get_ava_iter_iutf8<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = &str>>

If possible, return an iterator over the set of values transformed into a &str.

Source

pub fn get_ava_as_refuuid<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<Box<dyn Iterator<Item = Uuid> + '_>>

If possible, return an iterator over the set of values transformed into a Uuid.

Source

pub fn get_ava_iter_sshpubkeys<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = String> + '_>

If possible, return an iterator over the set of ssh key values transformed into a &str.

Source

pub fn get_ava_single<A: AsRef<Attribute>>(&self, attr: A) -> Option<Value>

Return a single value of this attributes name, or None if it is NOT present, or there are multiple values present (ambiguous).

Source

pub fn get_ava_single_proto_string<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<String>

Source

pub fn get_ava_single_bool<A: AsRef<Attribute>>(&self, attr: A) -> Option<bool>

Return a single bool, if valid to transform this value into a boolean.

Source

pub fn get_ava_single_uint32<A: AsRef<Attribute>>(&self, attr: A) -> Option<u32>

Return a single uint32, if valid to transform this value.

Source

pub fn get_ava_single_syntax<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<SyntaxType>

Return a single syntax type, if valid to transform this value.

Source

pub fn get_ava_single_credential<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&Credential>

Return a single credential, if valid to transform this value.

Source

pub fn get_ava_passkeys<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, (String, PasskeyV4)>>

Get the set of passkeys on this account, if any are present.

Source

pub fn get_ava_attestedpasskeys<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, (String, AttestedPasskeyV4)>>

Get the set of devicekeys on this account, if any are present.

Source

pub fn get_ava_uihint<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeSet<UiHint>>

Get the set of uihints on this account, if any are present.

Source

pub fn get_ava_single_secret<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&str>

Return a single secret value, if valid to transform this value.

Source

pub fn get_ava_single_datetime<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<OffsetDateTime>

Return a single datetime, if valid to transform this value.

Source

pub fn get_ava_single_url<A: AsRef<Attribute>>(&self, attr: A) -> Option<&Url>

Return a single &Url, if valid to transform this value.

Source

pub fn get_ava_single_uuid<A: AsRef<Attribute>>(&self, attr: A) -> Option<Uuid>

Source

pub fn get_ava_single_refer<A: AsRef<Attribute>>(&self, attr: A) -> Option<Uuid>

Source

pub fn get_ava_mail_primary<A: AsRef<Attribute>>(&self, attr: A) -> Option<&str>

Source

pub fn get_ava_iter_mail<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<impl Iterator<Item = &str>>

Source

pub fn get_ava_single_protofilter<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&ProtoFilter>

Return a single protocol filter, if valid to transform this value.

Source

pub fn get_ava_single_private_binary<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&[u8]>

Source

pub fn get_ava_single_jws_key_es256<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&JwsEs256Signer>

Source

pub fn get_ava_single_eckey_private<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&EcKey<Private>>

Source

pub fn get_ava_single_eckey_public<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&EcKey<Public>>

Source

pub fn get_ava_webauthn_attestation_ca_list<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&AttestationCaList>

Source

pub fn get_ava_application_password<A: AsRef<Attribute>>( &self, attr: A, ) -> Option<&BTreeMap<Uuid, Vec<ApplicationPassword>>>

Source

pub fn attribute_pres<A: AsRef<Attribute>>(&self, attr: A) -> bool

Assert if an attribute of this name is present on this entry.

Source

pub fn attribute_equality<A: AsRef<Attribute>>( &self, attr: A, value: &PartialValue, ) -> bool

Assert if an attribute of this name is present, and one of its values contains an exact match of this partial value.

Source

pub fn attribute_substring<A: AsRef<Attribute>>( &self, attr: A, subvalue: &PartialValue, ) -> bool

Assert if an attribute of this name is present, and one of it’s values contains the following substring, if possible to perform the substring comparison.

Source

pub fn attribute_startswith<A: AsRef<Attribute>>( &self, attr: A, subvalue: &PartialValue, ) -> bool

Assert if an attribute of this name is present, and one of its values startswith the following string, if possible to perform the comparison.

Source

pub fn attribute_endswith<A: AsRef<Attribute>>( &self, attr: A, subvalue: &PartialValue, ) -> bool

Assert if an attribute of this name is present, and one of its values startswith the following string, if possible to perform the comparison.

Source

pub fn attribute_lessthan<A: AsRef<Attribute>>( &self, attr: A, subvalue: &PartialValue, ) -> bool

Assert if an attribute of this name is present, and one of its values is less than the following partial value

Source

pub fn entry_match_no_index(&self, filter: &Filter<FilterValidResolved>) -> bool

Test if the following filter applies to and matches this entry.

Source

pub fn filter_from_attrs( &self, attrs: &[Attribute], ) -> Option<Filter<FilterInvalid>>

Given this entry, generate a filter containing the requested attributes strings as equality components.

Source

pub fn gen_modlist_assert( &self, schema: &dyn SchemaTransaction, ) -> Result<ModifyList<ModifyInvalid>, SchemaError>

Given this entry, generate a modification list that would “assert” another entry is in the same/identical attribute state.

Source

pub fn mask_recycled_ts(&self) -> Option<&Self>

Determine if this entry is recycled or a tombstone, and map that to “None”. This allows filter_map to effectively remove entries that should not be considered as “alive”.

Source

pub fn mask_recycled(&self) -> Option<&Self>

Determine if this entry is recycled, and map that to “None”. This allows filter_map to effectively remove entries that are recycled in some cases.

Source

pub fn mask_tombstone(&self) -> Option<&Self>

Determine if this entry is a tombstone, and map that to “None”. This allows filter_map to effectively remove entries that are tombstones in some cases.

Trait Implementations

Source§

impl<VALID, STATE> Clone for Entry<VALID, STATE>
where VALID: Clone, STATE: Clone,

Source§

fn clone(&self) -> Entry<VALID, STATE>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<VALID, STATE> Debug for Entry<VALID, STATE>
where STATE: Debug, VALID: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<VALID, STATE> PartialEq for Entry<VALID, STATE>

Source§

fn eq(&self, rhs: &Entry<VALID, STATE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.