domain: add person enrichment fields, event, port

This commit is contained in:
2026-06-11 13:30:19 +02:00
parent 549923b92e
commit 7df24a19ee
15 changed files with 198 additions and 19 deletions

View File

@@ -2,6 +2,7 @@ use chrono::NaiveDateTime;
use domain::{
errors::DomainError,
events::DomainEvent,
models::PersonId,
value_objects::{
ExternalMetadataId, GoalId, MovieId, PosterPath, Rating, ReviewId, UserId, WrapUpId,
},
@@ -109,6 +110,10 @@ pub enum EventPayload {
user_id: String,
year: u16,
},
PersonEnrichmentRequested {
person_id: String,
external_person_id: String,
},
}
impl EventPayload {
@@ -135,6 +140,7 @@ impl EventPayload {
EventPayload::GoalCreated { .. } => "GoalCreated",
EventPayload::GoalUpdated { .. } => "GoalUpdated",
EventPayload::GoalDeleted { .. } => "GoalDeleted",
EventPayload::PersonEnrichmentRequested { .. } => "PersonEnrichmentRequested",
}
}
}
@@ -311,6 +317,13 @@ impl From<&DomainEvent> for EventPayload {
user_id: user_id.value().to_string(),
year: *year,
},
DomainEvent::PersonEnrichmentRequested {
person_id,
external_person_id,
} => EventPayload::PersonEnrichmentRequested {
person_id: person_id.value().to_string(),
external_person_id: external_person_id.clone(),
},
}
}
}
@@ -496,6 +509,13 @@ impl TryFrom<EventPayload> for DomainEvent {
user_id: UserId::from_uuid(parse_uuid(&user_id, "user_id")?),
year,
}),
EventPayload::PersonEnrichmentRequested {
person_id,
external_person_id,
} => Ok(DomainEvent::PersonEnrichmentRequested {
person_id: PersonId::from_uuid(parse_uuid(&person_id, "person_id")?),
external_person_id,
}),
}
}
}