use chrono::NaiveDateTime; use domain::value_objects::WatchMedium; use uuid::Uuid; pub struct MovieInput { pub movie_id: Option, pub external_metadata_id: Option, pub manual_title: Option, pub manual_release_year: Option, pub manual_director: Option, } pub struct LogReviewCommand { pub user_id: Uuid, pub input: MovieInput, pub rating: u8, pub comment: Option, pub watched_at: NaiveDateTime, pub watch_medium: Option, 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, pub comment: Option>, pub watched_at: Option, pub watch_medium: Option>, pub spoilers: Option, } #[derive(Clone)] pub struct SyncPosterCommand { pub movie_id: Uuid, }