Skip to main content

camel_core/lifecycle/domain/
error.rs

1use std::fmt;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub enum DomainError {
5    InvalidTransition { from: String, to: String },
6    NotFound(String),
7    AlreadyExists(String),
8    InvalidState(String),
9}
10
11impl fmt::Display for DomainError {
12    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13        match self {
14            DomainError::InvalidTransition { from, to } => {
15                write!(f, "invalid transition: {from} -> {to}")
16            }
17            DomainError::NotFound(id) => write!(f, "not found: {id}"),
18            DomainError::AlreadyExists(id) => write!(f, "already exists: {id}"),
19            DomainError::InvalidState(msg) => write!(f, "invalid state: {msg}"),
20        }
21    }
22}
23
24impl std::error::Error for DomainError {}