feat: MovieDto enrichment, movie detail page, PWA, watchlist, watchlist federation

This commit is contained in:
2026-05-13 00:23:45 +02:00
parent 2fd8734d23
commit 53df90ab1f
84 changed files with 2755 additions and 398 deletions

View File

@@ -25,6 +25,7 @@ uuid_id!(ReviewId);
uuid_id!(UserId);
uuid_id!(ImportSessionId);
uuid_id!(ImportProfileId);
uuid_id!(WatchlistEntryId);
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct ExternalMetadataId(String);
@@ -80,7 +81,7 @@ impl MovieTitle {
))
} else if trimmed.len() > Self::MAX_LENGTH {
Err(DomainError::ValidationError(
format!("Movie title exceeds {} characters", Self::MAX_LENGTH).into(),
format!("Movie title exceeds {} characters", Self::MAX_LENGTH),
))
} else {
Ok(Self(trimmed.to_string()))
@@ -102,7 +103,7 @@ impl Comment {
let trimmed = comment.trim();
if trimmed.len() > Self::MAX_LENGTH {
Err(DomainError::ValidationError(
format!("Comment exceeds {} characters", Self::MAX_LENGTH).into(),
format!("Comment exceeds {} characters", Self::MAX_LENGTH),
))
} else {
Ok(Self(trimmed.to_string()))
@@ -190,8 +191,7 @@ impl Username {
"Username must be {}{} characters",
Self::MIN_LENGTH,
Self::MAX_LENGTH
)
.into(),
),
));
}
if !s