kanidmd_lib::prelude

Enum OperationError

source
pub enum OperationError {
Show 173 variants SessionExpired, DuplicateKey, DuplicateLabel, EmptyRequest, Backend, NoMatchingEntries, NoMatchingAttributes, UniqueConstraintViolation, CorruptedEntry(u64), CorruptedIndex(String), ConsistencyError(Vec<ConsistencyError>), SchemaViolation(SchemaError), Plugin(PluginError), FilterGeneration, FilterParseError, FilterUuidResolution, InvalidAttributeName(String), InvalidAttribute(String), InvalidLabel, InvalidDbState, InvalidCacheState, InvalidValueState, InvalidEntryId, InvalidRequestState, InvalidSyncState, InvalidState, InvalidEntryState, InvalidUuid, InvalidReplChangeId, InvalidAcpState(String), InvalidSchemaState(String), InvalidAccountState(String), MissingClass(String), MissingAttribute(Attribute), MissingEntries, ModifyAssertionFailed, BackendEngine, SqliteError, FsError, SerdeJsonError, SerdeCborError, AccessDenied, NotAuthenticated, NotAuthorised, InvalidAuthState(String), InvalidSessionState, SystemProtectedObject, SystemProtectedAttribute, PasswordQuality(Vec<PasswordFeedback>), CryptographyError, ResourceLimit, QueueDisconnected, Webauthn, Wait(OffsetDateTime), ReplReplayFailure, ReplEntryNotChanged, ReplInvalidRUVState, ReplDomainLevelUnsatisfiable, ReplDomainUuidMismatch, ReplServerUuidSplitDataState, TransactionAlreadyCommitted, CannotStartMFADuringOngoingMFASession, ValueDenyName, DatabaseLockAcquisitionTimeout, KG001TaskTimeout, KG002TaskCommFailure, KG003CacheClearFailed, CU0001WebauthnAttestationNotTrusted, CU0002WebauthnRegistrationError, CU0003WebauthnUserNotVerified, CU0004SessionInconsistent, CU0005IntentTokenConflict, CU0006IntentTokenInvalidated, VS0001IncomingReplSshPublicKey, VS0002CertificatePublicKeyDigest, VS0003CertificateDerDecode, VS0004CertificatePublicKeyDigest, VS0005CertificatePublicKeyDigest, VL0001ValueSshPublicKeyString, LD0001AnonymousNotAllowed, DB0001MismatchedRestoreVersion, DB0002MismatchedRestoreVersion, DB0003FilterResolveCacheBuild, DB0004DatabaseTooOld, SC0001IncomingSshPublicKey, SC0002ReferenceSyntaxInvalid, SC0003MailSyntaxInvalid, SC0004UuidSyntaxInvalid, SC0005BoolSyntaxInvalid, SC0006Uint32SyntaxInvalid, SC0007UrlSyntaxInvalid, SC0008SyntaxTypeSyntaxInvalid, SC0009IndexTypeSyntaxInvalid, SC0010DateTimeSyntaxInvalid, SC0011AddressSyntaxInvalid, SC0012CertificateSyntaxInvalid, SC0013CertificateInvalidDer, SC0014CertificateInvalidDigest, SC0015CredentialTypeSyntaxInvalid, SC0016InameSyntaxInvalid, SC0017Iutf8SyntaxInvalid, SC0018NsUniqueIdSyntaxInvalid, SC0019Oauth2ScopeSyntaxInvalid, SC0020Oauth2ScopeMapSyntaxInvalid, SC0021Oauth2ScopeMapMissingGroupIdentifier, SC0022Oauth2ClaimMapSyntaxInvalid, SC0023Oauth2ClaimMapMissingGroupIdentifier, SC0024SshPublicKeySyntaxInvalid, SC0025UiHintSyntaxInvalid, SC0026Utf8SyntaxInvalid, MG0001InvalidReMigrationLevel, MG0002RaiseDomainLevelExceedsMaximum, MG0003ServerPhaseInvalidForMigration, MG0004DomainLevelInDevelopment, MG0005GidConstraintsNotMet, MG0006SKConstraintsNotMet, MG0007Oauth2StrictConstraintsNotMet, MG0008SkipUpgradeAttempted, KP0001KeyProviderNotLoaded, KP0002KeyProviderInvalidClass, KP0003KeyProviderInvalidType, KP0004KeyProviderMissingAttributeName, KP0005KeyProviderDuplicate, KP0006KeyObjectJwtEs256Generation, KP0007KeyProviderDefaultNotAvailable, KP0008KeyObjectMissingUuid, KP0009KeyObjectPrivateToDer, KP0010KeyObjectSignerToVerifier, KP0011KeyObjectMissingClass, KP0012KeyObjectMissingProvider, KP0012KeyProviderNotLoaded, KP0013KeyObjectJwsEs256DerInvalid, KP0014KeyObjectSignerToVerifier, KP0015KeyObjectJwsEs256DerInvalid, KP0016KeyObjectJwsEs256DerInvalid, KP0017KeyProviderNoSuchKey, KP0018KeyProviderNoSuchKey, KP0019KeyProviderUnsupportedAlgorithm, KP0020KeyObjectNoActiveSigningKeys, KP0021KeyObjectJwsEs256Signature, KP0022KeyObjectJwsNotAssociated, KP0023KeyObjectJwsKeyRevoked, KP0024KeyObjectJwsInvalid, KP0025KeyProviderNotAvailable, KP0026KeyObjectNoSuchKey, KP0027KeyObjectPublicToDer, KP0028KeyObjectImportJwsEs256DerInvalid, KP0029KeyObjectSignerToVerifier, KP0030KeyObjectPublicToDer, KP0031KeyObjectNotFound, KP0032KeyProviderNoSuchKey, KP0033KeyProviderNoSuchKey, KP0034KeyProviderUnsupportedAlgorithm, KP0035KeyObjectJweA128GCMGeneration, KP0036KeyObjectPrivateToBytes, KP0037KeyObjectImportJweA128GCMInvalid, KP0038KeyObjectImportJweA128GCMInvalid, KP0039KeyObjectJweNotAssociated, KP0040KeyObjectJweInvalid, KP0041KeyObjectJweRevoked, KP0042KeyObjectNoActiveEncryptionKeys, KP0043KeyObjectJweA128GCMEncryption, KP0044KeyObjectJwsPublicJwk, PL0001GidOverlapsSystemRange, UI0001ChallengeSerialisation, UI0002InvalidState, UI0003InvalidOauth2Resume, KU001InitWhileSessionActive, KU002ContinueWhileSessionInActive, KU003PamAuthFailed, KU004PamInitFailed, KU005ErrorCheckingAccount, KU006OnlyRootAllowed,
}

Variants§

§

SessionExpired

§

DuplicateKey

§

DuplicateLabel

§

EmptyRequest

§

Backend

§

NoMatchingEntries

§

NoMatchingAttributes

§

UniqueConstraintViolation

§

CorruptedEntry(u64)

§

CorruptedIndex(String)

§

ConsistencyError(Vec<ConsistencyError>)

§

SchemaViolation(SchemaError)

§

Plugin(PluginError)

§

FilterGeneration

§

FilterParseError

§

FilterUuidResolution

§

InvalidAttributeName(String)

§

InvalidAttribute(String)

§

InvalidLabel

§

InvalidDbState

§

InvalidCacheState

§

InvalidValueState

§

InvalidEntryId

§

InvalidRequestState

§

InvalidSyncState

§

InvalidState

§

InvalidEntryState

§

InvalidUuid

§

InvalidReplChangeId

§

InvalidAcpState(String)

§

InvalidSchemaState(String)

§

InvalidAccountState(String)

§

MissingClass(String)

§

MissingAttribute(Attribute)

§

MissingEntries

§

ModifyAssertionFailed

§

BackendEngine

§

SqliteError

§

FsError

§

SerdeJsonError

§

SerdeCborError

§

AccessDenied

§

NotAuthenticated

§

NotAuthorised

§

InvalidAuthState(String)

§

InvalidSessionState

§

SystemProtectedObject

§

SystemProtectedAttribute

§

PasswordQuality(Vec<PasswordFeedback>)

§

CryptographyError

§

ResourceLimit

§

QueueDisconnected

§

Webauthn

§

Wait(OffsetDateTime)

§

ReplReplayFailure

§

ReplEntryNotChanged

§

ReplInvalidRUVState

§

ReplDomainLevelUnsatisfiable

§

ReplDomainUuidMismatch

§

ReplServerUuidSplitDataState

§

TransactionAlreadyCommitted

§

CannotStartMFADuringOngoingMFASession

§

ValueDenyName

when you ask for a gid that overlaps a system reserved range When a name is denied by the system config

§

DatabaseLockAcquisitionTimeout

When the DB is potentially over-loaded a timeout can occur starting your operation.

§

KG001TaskTimeout

§

KG002TaskCommFailure

§

KG003CacheClearFailed

§

CU0001WebauthnAttestationNotTrusted

§

CU0002WebauthnRegistrationError

§

CU0003WebauthnUserNotVerified

§

CU0004SessionInconsistent

§

CU0005IntentTokenConflict

§

CU0006IntentTokenInvalidated

§

VS0001IncomingReplSshPublicKey

§

VS0002CertificatePublicKeyDigest

§

VS0003CertificateDerDecode

§

VS0004CertificatePublicKeyDigest

§

VS0005CertificatePublicKeyDigest

§

VL0001ValueSshPublicKeyString

§

LD0001AnonymousNotAllowed

§

DB0001MismatchedRestoreVersion

§

DB0002MismatchedRestoreVersion

§

DB0003FilterResolveCacheBuild

§

DB0004DatabaseTooOld

§

SC0001IncomingSshPublicKey

§

SC0002ReferenceSyntaxInvalid

§

SC0003MailSyntaxInvalid

§

SC0004UuidSyntaxInvalid

§

SC0005BoolSyntaxInvalid

§

SC0006Uint32SyntaxInvalid

§

SC0007UrlSyntaxInvalid

§

SC0008SyntaxTypeSyntaxInvalid

§

SC0009IndexTypeSyntaxInvalid

§

SC0010DateTimeSyntaxInvalid

§

SC0011AddressSyntaxInvalid

§

SC0012CertificateSyntaxInvalid

§

SC0013CertificateInvalidDer

§

SC0014CertificateInvalidDigest

§

SC0015CredentialTypeSyntaxInvalid

§

SC0016InameSyntaxInvalid

§

SC0017Iutf8SyntaxInvalid

§

SC0018NsUniqueIdSyntaxInvalid

§

SC0019Oauth2ScopeSyntaxInvalid

§

SC0020Oauth2ScopeMapSyntaxInvalid

§

SC0021Oauth2ScopeMapMissingGroupIdentifier

§

SC0022Oauth2ClaimMapSyntaxInvalid

§

SC0023Oauth2ClaimMapMissingGroupIdentifier

§

SC0024SshPublicKeySyntaxInvalid

§

SC0025UiHintSyntaxInvalid

§

SC0026Utf8SyntaxInvalid

§

MG0001InvalidReMigrationLevel

§

MG0002RaiseDomainLevelExceedsMaximum

§

MG0003ServerPhaseInvalidForMigration

§

MG0004DomainLevelInDevelopment

§

MG0005GidConstraintsNotMet

§

MG0006SKConstraintsNotMet

§

MG0007Oauth2StrictConstraintsNotMet

§

MG0008SkipUpgradeAttempted

§

KP0001KeyProviderNotLoaded

§

KP0002KeyProviderInvalidClass

§

KP0003KeyProviderInvalidType

§

KP0004KeyProviderMissingAttributeName

§

KP0005KeyProviderDuplicate

§

KP0006KeyObjectJwtEs256Generation

§

KP0007KeyProviderDefaultNotAvailable

§

KP0008KeyObjectMissingUuid

§

KP0009KeyObjectPrivateToDer

§

KP0010KeyObjectSignerToVerifier

§

KP0011KeyObjectMissingClass

§

KP0012KeyObjectMissingProvider

§

KP0012KeyProviderNotLoaded

§

KP0013KeyObjectJwsEs256DerInvalid

§

KP0014KeyObjectSignerToVerifier

§

KP0015KeyObjectJwsEs256DerInvalid

§

KP0016KeyObjectJwsEs256DerInvalid

§

KP0017KeyProviderNoSuchKey

§

KP0018KeyProviderNoSuchKey

§

KP0019KeyProviderUnsupportedAlgorithm

§

KP0020KeyObjectNoActiveSigningKeys

§

KP0021KeyObjectJwsEs256Signature

§

KP0022KeyObjectJwsNotAssociated

§

KP0023KeyObjectJwsKeyRevoked

§

KP0024KeyObjectJwsInvalid

§

KP0025KeyProviderNotAvailable

§

KP0026KeyObjectNoSuchKey

§

KP0027KeyObjectPublicToDer

§

KP0028KeyObjectImportJwsEs256DerInvalid

§

KP0029KeyObjectSignerToVerifier

§

KP0030KeyObjectPublicToDer

§

KP0031KeyObjectNotFound

§

KP0032KeyProviderNoSuchKey

§

KP0033KeyProviderNoSuchKey

§

KP0034KeyProviderUnsupportedAlgorithm

§

KP0035KeyObjectJweA128GCMGeneration

§

KP0036KeyObjectPrivateToBytes

§

KP0037KeyObjectImportJweA128GCMInvalid

§

KP0038KeyObjectImportJweA128GCMInvalid

§

KP0039KeyObjectJweNotAssociated

§

KP0040KeyObjectJweInvalid

§

KP0041KeyObjectJweRevoked

§

KP0042KeyObjectNoActiveEncryptionKeys

§

KP0043KeyObjectJweA128GCMEncryption

§

KP0044KeyObjectJwsPublicJwk

§

PL0001GidOverlapsSystemRange

§

UI0001ChallengeSerialisation

§

UI0002InvalidState

§

UI0003InvalidOauth2Resume

§

KU001InitWhileSessionActive

§

KU002ContinueWhileSessionInActive

§

KU003PamAuthFailed

§

KU004PamInitFailed

§

KU005ErrorCheckingAccount

§

KU006OnlyRootAllowed

Implementations§

source§

impl OperationError

source

pub fn message(&self) -> Option<String>

Return the message associated with the error if there is one.

Trait Implementations§

source§

impl Debug for OperationError

source§

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

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

impl<'de> Deserialize<'de> for OperationError

source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<OperationError, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for OperationError

source§

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

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

impl PartialEq for OperationError

source§

fn eq(&self, other: &OperationError) -> 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.
source§

impl Serialize for OperationError

source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'__s> ToSchema<'__s> for OperationError

source§

fn schema() -> (&'__s str, RefOr<Schema>)

Return a tuple of name and schema or reference to a schema that can be referenced by the name or inlined directly to responses, request bodies or parameters.
§

fn aliases() -> Vec<(&'__s str, Schema)>

Optional set of alias schemas for the [ToSchema::schema]. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T> AsTaggedExplicit<'a> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self>

§

impl<'a, T> AsTaggedImplicit<'a> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,