feat: atomic goal, watchlist, profile writes
This commit is contained in:
@@ -94,19 +94,17 @@ impl ReviewLogger for DefaultReviewLogger {
|
||||
events.push(review_event);
|
||||
self.review_repo.save_review(&review, &events).await?;
|
||||
|
||||
let was_on_watchlist = self
|
||||
.watchlist_repo
|
||||
.remove_if_present(review.user_id(), review.movie_id())
|
||||
.await?;
|
||||
if was_on_watchlist {
|
||||
let _ = self
|
||||
.event_publisher
|
||||
.publish(&DomainEvent::WatchlistEntryRemoved {
|
||||
// The removal event is recorded only if an entry was actually removed.
|
||||
self.watchlist_repo
|
||||
.remove_if_present(
|
||||
review.user_id(),
|
||||
review.movie_id(),
|
||||
&[DomainEvent::WatchlistEntryRemoved {
|
||||
user_id: review.user_id().clone(),
|
||||
movie_id: review.movie_id().clone(),
|
||||
})
|
||||
.await;
|
||||
}
|
||||
}],
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user