feat: add WatchMedium field, general review editing, configurable deploy
Some checks failed
CI / Check / Test (push) Failing after 27m0s
Some checks failed
CI / Check / Test (push) Failing after 27m0s
- WatchMedium enum (cinema/streaming/tv/physical_media/download/media_server/other) - PATCH /api/v1/reviews/:id partial update (rating, comment, watched_at, watch_medium) - edit_review use case w/ ownership + remote review guard, best-effort AP Update broadcast - SPA: icon picker, edit sheet (long-press mobile / pencil desktop), watch medium badge - shared ReviewFormFields, EditableContextMenu, parse_watched_at/format_watched_at - deploy.sh parameterized (--features, --tag), CORS allows PATCH - CONTEXT.md glossary, ADR-0001 general review editing
This commit is contained in:
@@ -364,6 +364,7 @@ pub fn parse_csv(content: &str) -> Vec<ParsedRow> {
|
||||
Some(comment)
|
||||
},
|
||||
watched_at,
|
||||
watch_medium: None,
|
||||
}),
|
||||
});
|
||||
}
|
||||
@@ -856,6 +857,7 @@ pub fn update(app: &mut App, action: Action) -> Vec<Command> {
|
||||
rating,
|
||||
comment,
|
||||
watched_at,
|
||||
watch_medium: None,
|
||||
};
|
||||
app.loading = true;
|
||||
return vec![Command::CreateReview(req)];
|
||||
|
||||
@@ -54,6 +54,7 @@ fn diary_entry() -> DiaryEntryDto {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "1999-03-31T00:00:00".into(),
|
||||
watch_medium: None,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -381,6 +382,7 @@ fn bulk_import_all_with_valid_rows_returns_import_next_command() {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "1999-03-31T00:00:00".into(),
|
||||
watch_medium: None,
|
||||
}),
|
||||
}];
|
||||
}
|
||||
@@ -403,6 +405,7 @@ fn bulk_item_done_advances_stage_and_returns_next_command() {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "2024-01-01T00:00:00".into(),
|
||||
watch_medium: None,
|
||||
},
|
||||
LogReviewRequest {
|
||||
external_metadata_id: None,
|
||||
@@ -412,6 +415,7 @@ fn bulk_item_done_advances_stage_and_returns_next_command() {
|
||||
rating: 4,
|
||||
comment: None,
|
||||
watched_at: "2024-01-02T00:00:00".into(),
|
||||
watch_medium: None,
|
||||
},
|
||||
];
|
||||
m.bulk_import.results = vec![None, None];
|
||||
@@ -440,6 +444,7 @@ fn bulk_item_done_last_item_transitions_to_done() {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "2024-01-01T00:00:00".into(),
|
||||
watch_medium: None,
|
||||
}];
|
||||
m.bulk_import.results = vec![None];
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ fn log_review_request_skips_none_fields() {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "2024-01-15T20:00:00".into(),
|
||||
watch_medium: None,
|
||||
};
|
||||
let json = serde_json::to_string(&req).unwrap();
|
||||
assert!(!json.contains("external_metadata_id"));
|
||||
@@ -42,6 +43,7 @@ fn log_review_request_includes_director_when_set() {
|
||||
rating: 5,
|
||||
comment: None,
|
||||
watched_at: "2024-01-15T20:00:00".into(),
|
||||
watch_medium: None,
|
||||
};
|
||||
let json = serde_json::to_string(&req).unwrap();
|
||||
assert!(json.contains("\"manual_director\":\"Denis Villeneuve\""));
|
||||
|
||||
Reference in New Issue
Block a user