feat: atomic wrapup, movie, integration writes
Ride writes: WrapUpRequested/Completed (wrapup create/set_complete), MovieDiscovered (resolve upsert, new+ext id only), PosterSynced (poster handler upsert), MovieDeleted (delete_movie), WatchEventIngested (save). Deps drop event_publisher: wrapup, ingest, delete_review, watchlist add, review logger. Remaining .publish( sites: announce-only: users/delete_account UserDeleted, person/get + get_credits PersonEnrichmentRequested, jobs/enrichment_staleness, http-axum search, movies/sync_poster + poster_sync_handler + image-converter backfill + users/update_profile ImageStored (object storage), activitypub federation_event_bridge (reacting to events). rides write, deferred: social/execute (see report), activitypub review_handler MovieEnrichmentRequested (after save_remote_review).
This commit is contained in:
@@ -5,26 +5,17 @@ use async_trait::async_trait;
|
||||
use chrono::Datelike;
|
||||
use domain::{
|
||||
errors::DomainError,
|
||||
ports::{EventPublisher, PeriodicJob, UserRepository, WrapUpRepository},
|
||||
ports::{PeriodicJob, UserRepository, WrapUpRepository},
|
||||
};
|
||||
|
||||
pub struct WrapUpAutoGenerateJob {
|
||||
user: Arc<dyn UserRepository>,
|
||||
wrapup_repo: Arc<dyn WrapUpRepository>,
|
||||
event_publisher: Arc<dyn EventPublisher>,
|
||||
}
|
||||
|
||||
impl WrapUpAutoGenerateJob {
|
||||
pub fn new(
|
||||
user: Arc<dyn UserRepository>,
|
||||
wrapup_repo: Arc<dyn WrapUpRepository>,
|
||||
event_publisher: Arc<dyn EventPublisher>,
|
||||
) -> Self {
|
||||
Self {
|
||||
user,
|
||||
wrapup_repo,
|
||||
event_publisher,
|
||||
}
|
||||
pub fn new(user: Arc<dyn UserRepository>, wrapup_repo: Arc<dyn WrapUpRepository>) -> Self {
|
||||
Self { user, wrapup_repo }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +51,6 @@ impl PeriodicJob for WrapUpAutoGenerateJob {
|
||||
};
|
||||
let deps = crate::wrapup::deps::GenerateWrapUpDeps {
|
||||
wrapup_repo: self.wrapup_repo.clone(),
|
||||
event_publisher: self.event_publisher.clone(),
|
||||
};
|
||||
if let Err(e) = crate::wrapup::generate::execute(&deps, cmd).await {
|
||||
tracing::warn!(
|
||||
@@ -81,7 +71,6 @@ impl PeriodicJob for WrapUpAutoGenerateJob {
|
||||
};
|
||||
let deps = crate::wrapup::deps::GenerateWrapUpDeps {
|
||||
wrapup_repo: self.wrapup_repo.clone(),
|
||||
event_publisher: self.event_publisher.clone(),
|
||||
};
|
||||
if let Err(e) = crate::wrapup::generate::execute(&deps, cmd).await {
|
||||
tracing::warn!("auto-generate global wrapup failed: {e}");
|
||||
|
||||
Reference in New Issue
Block a user