Files
movies-diary/crates/application/src/diary/commands.rs
Gabriel Kaszewski bb2001b9cc Add Spoiler Flag with veil, AP content-warning encoding, and full-stack plumbing
Authors can flag a review's comment as containing spoilers; the comment is
blurred behind a reveal control for every viewer except the author, omitted
from RSS, and federates as containsSpoilers plus an AP summary content
warning (ADR-0011) so Mastodon-class clients also collapse it. Flag follows
the general-edit path (ADR-0001) across domain, both DB backends, REST,
HTML templates, SPA (shadcn), TUI fixtures, and exports.
2026-10-17 21:12:56 +02:00

42 lines
1005 B
Rust

use chrono::NaiveDateTime;
use domain::value_objects::WatchMedium;
use uuid::Uuid;
pub struct MovieInput {
pub movie_id: Option<Uuid>,
pub external_metadata_id: Option<String>,
pub manual_title: Option<String>,
pub manual_release_year: Option<u16>,
pub manual_director: Option<String>,
}
pub struct LogReviewCommand {
pub user_id: Uuid,
pub input: MovieInput,
pub rating: u8,
pub comment: Option<String>,
pub watched_at: NaiveDateTime,
pub watch_medium: Option<WatchMedium>,
pub spoilers: bool,
}
pub struct DeleteReviewCommand {
pub review_id: Uuid,
pub requesting_user_id: Uuid,
}
pub struct EditReviewCommand {
pub review_id: Uuid,
pub requesting_user_id: Uuid,
pub rating: Option<u8>,
pub comment: Option<Option<String>>,
pub watched_at: Option<NaiveDateTime>,
pub watch_medium: Option<Option<WatchMedium>>,
pub spoilers: Option<bool>,
}
#[derive(Clone)]
pub struct SyncPosterCommand {
pub movie_id: Uuid,
}