use thiserror::Error;
use super::finish;
use super::start;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum PasskeyError {
#[error("auth data is missing")]
MissingAuthData,
#[error("error preparing auth request: {}", source)]
InitAuthBuilder {
#[from]
source: start::AuthStartRequestBuilderError,
},
#[error("error preparing auth request: {}", source)]
InitPasskeyBuilder {
#[from]
source: start::PasskeyBuilderError,
},
#[error(transparent)]
FinishPasskeyBuilder {
#[from]
source: finish::AuthFinishRequestBuilderError,
},
#[error(transparent)]
HmacGetSecretOutput {
#[from]
source: finish::HmacGetSecretOutputBuilderError,
},
#[error(transparent)]
AuthExtensions {
#[from]
source: finish::AuthenticationExtensionsClientOutputsBuilderError,
},
#[error(transparent)]
AuthResponse {
#[from]
source: finish::AuthenticatorAssertionResponseRawBuilderError,
},
#[error(transparent)]
Base64 {
#[from]
source: base64::DecodeError,
},
#[error(transparent)]
WebAuthn {
#[from]
source: webauthn_authenticator_rs::error::WebauthnCError,
},
}