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}