1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum SessionError {
5 #[error(transparent)]
6 IO(#[from] std::io::Error),
7 #[error(transparent)]
8 Decode(#[from] base64::DecodeError),
9 #[error(transparent)]
10 SerdeJson(#[from] serde_json::error::Error),
11 #[error(transparent)]
12 HTTP(#[from] http::Error),
13 #[error(transparent)]
14 UUID(#[from] uuid::Error),
15 #[error(transparent)]
16 UTF8(#[from] std::string::FromUtf8Error),
17 #[error(transparent)]
18 DatabaseError(#[from] crate::DatabaseError),
19 #[error("unknown Session store error")]
20 Unknown,
21 #[error("{0}")]
22 GenericNotSupportedError(String),
23 #[error("Session was not found. Either the session was unloaded or was never created.")]
24 NoSessionError,
25 #[error(
26 "The Session Exists but is outdated, either renew it or remove it. \n
27 Session will get removed on next Session request purge update if no changes are done."
28 )]
29 OldSessionError,
30}