oauth2_passkey/session/
errors.rs1use thiserror::Error;
2
3use crate::storage::{CacheErrorConversion, StorageError};
4use crate::userdb::UserError;
5use crate::utils::UtilError;
6
7#[derive(Debug, Error, Clone)]
12pub enum SessionError {
13 #[error("Session error")]
15 SessionError,
16
17 #[error("Storage error: {0}")]
19 Storage(String),
20
21 #[error("Crypto error: {0}")]
23 Crypto(String),
24
25 #[error("Cookie error: {0}")]
27 Cookie(String),
28
29 #[error("Page session token error: {0}")]
31 PageSessionToken(String),
32
33 #[error("CSRF token error: {0}")]
35 CsrfToken(String),
36
37 #[error("Session expired error")]
39 SessionExpiredError,
40
41 #[error("Session conflict: active session already exists for this user")]
43 SessionConflictRejected,
44
45 #[error("Validation error: {0}")]
47 Validation(String),
48
49 #[error("Utils error: {0}")]
51 Utils(#[from] UtilError),
52
53 #[error("Header error: {0}")]
55 HeaderError(String),
56
57 #[error("User error: {0}")]
59 User(#[from] UserError),
60}
61
62impl CacheErrorConversion<SessionError> for SessionError {
63 fn convert_storage_error(error: StorageError) -> SessionError {
64 SessionError::Storage(error.to_string())
65 }
66}