Skip to main content

oauth2_passkey/audit/
errors.rs

1//! Error types for login history module
2
3use thiserror::Error;
4
5/// Errors that can occur during login history operations
6#[derive(Clone, Error, Debug)]
7pub enum LoginHistoryError {
8    /// Database storage error
9    #[error("Storage error: {0}")]
10    Storage(String),
11
12    /// Invalid or malformed data
13    #[error("Invalid data: {0}")]
14    InvalidData(String),
15}
16
17impl From<serde_json::Error> for LoginHistoryError {
18    fn from(err: serde_json::Error) -> Self {
19        LoginHistoryError::InvalidData(err.to_string())
20    }
21}
22
23impl From<sqlx::Error> for LoginHistoryError {
24    fn from(err: sqlx::Error) -> Self {
25        LoginHistoryError::Storage(err.to_string())
26    }
27}