use super::value_objects::ExternalSystem;
use std::fmt;
#[derive(Debug, Clone, PartialEq)]
pub enum IdentityLinkError {
IdentityAlreadyExists {
system: ExternalSystem,
},
IdentityNotFound {
system: ExternalSystem,
},
}
impl fmt::Display for IdentityLinkError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::IdentityAlreadyExists { system } => {
write!(
f,
"外部システム {} の識別情報は既に登録されています",
system.as_str()
)
}
Self::IdentityNotFound { system } => {
write!(
f,
"外部システム {} の識別情報が見つかりません",
system.as_str()
)
}
}
}
}
impl std::error::Error for IdentityLinkError {}
impl crate::domain::errors::DomainError for IdentityLinkError {}