Skip to main content

kmp_domain/value_objects/
case_id.rs

1use crate::DomainError;
2
3#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4pub struct CaseId(String);
5
6impl CaseId {
7    pub fn new(value: impl Into<String>) -> Result<Self, DomainError> {
8        let value = value.into();
9        if value.trim().is_empty() {
10            return Err(DomainError::EmptyValue("case_id"));
11        }
12
13        Ok(Self(value))
14    }
15
16    pub fn as_str(&self) -> &str {
17        &self.0
18    }
19}