26 lines
682 B
Rust
26 lines
682 B
Rust
use thiserror::Error;
|
|
|
|
#[derive(Debug, Error, PartialEq, Eq)]
|
|
pub enum DomainError {
|
|
#[error("not found")]
|
|
NotFound,
|
|
#[error("email already in use")]
|
|
EmailTaken,
|
|
#[error("invalid credentials")]
|
|
InvalidCredentials,
|
|
#[error("user is inactive")]
|
|
InactiveUser,
|
|
#[error("invalid or expired token")]
|
|
InvalidToken,
|
|
#[error("the last active admin cannot be demoted or deactivated")]
|
|
LastAdmin,
|
|
#[error("validation failed: {0}")]
|
|
Validation(String),
|
|
#[error("conflict: {0}")]
|
|
Conflict(String),
|
|
#[error("external service unavailable: {0}")]
|
|
Unavailable(String),
|
|
#[error("storage error: {0}")]
|
|
Storage(String),
|
|
}
|