refactor: LOW cleanups — dedup secure_flag, remove vestigial social_query,

drop PersistedImportSession, rename LoginQuery→LoginCommand, own
DeleteAccountDeps, PersonId via uuid_id! macro, rename SortDirection→
ReviewSortBy, TUI fs::read→Command, generic PaginatedResponse<T>
This commit is contained in:
2026-07-10 05:04:35 +02:00
parent 5266646b0b
commit 5e0dde656c
37 changed files with 167 additions and 218 deletions

View File

@@ -1,7 +1,23 @@
use serde::Deserialize;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Default)]
pub struct PaginationQueryParams {
pub limit: Option<u32>,
pub offset: Option<u32>,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct PaginatedResponse<T: std::fmt::Debug + Clone> {
pub items: Vec<T>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
pub type MoviesResponse = PaginatedResponse<crate::movies::MovieDto>;
pub type SocialFeedResponse = PaginatedResponse<crate::movies::SocialReviewDto>;
pub type DiaryResponse = PaginatedResponse<crate::diary::DiaryEntryDto>;
pub type ActivityFeedResponse = PaginatedResponse<crate::diary::FeedEntryDto>;
pub type WatchlistResponse = PaginatedResponse<crate::watchlist::WatchlistEntryDto>;
pub type PaginatedMovieHits = PaginatedResponse<crate::search::MovieSearchHitDto>;
pub type PaginatedPersonHits = PaginatedResponse<crate::search::PersonSearchHitDto>;

View File

@@ -28,14 +28,6 @@ pub struct DiaryEntryDto {
pub review: ReviewDto,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct DiaryResponse {
pub items: Vec<DiaryEntryDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Clone, Deserialize, utoipa::IntoParams)]
#[into_params(parameter_in = Query)]
pub struct DiaryQueryParams {
@@ -65,14 +57,6 @@ pub struct FeedEntryDto {
pub actor_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct ActivityFeedResponse {
pub items: Vec<FeedEntryDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Clone, Deserialize, utoipa::IntoParams)]
#[into_params(parameter_in = Query)]
pub struct ExportQueryParams {

View File

@@ -1,6 +1,8 @@
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::common::SocialFeedResponse;
// ── Movie list ────────────────────────────────────────────────────────────────
#[derive(Debug, Clone, Deserialize, utoipa::IntoParams)]
@@ -16,14 +18,6 @@ pub struct MoviesQueryParams {
pub language: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct MoviesResponse {
pub items: Vec<MovieDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
// ── Movie profile (enrichment) ────────────────────────────────────────────────
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
@@ -130,14 +124,6 @@ pub struct SocialReviewDto {
pub watch_medium: Option<domain::value_objects::WatchMedium>,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct SocialFeedResponse {
pub items: Vec<SocialReviewDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct MovieDetailResponse {
pub movie: MovieDto,

View File

@@ -2,6 +2,8 @@ use serde::{Deserialize, Serialize};
use utoipa::{IntoParams, ToSchema};
use uuid::Uuid;
pub use crate::common::{PaginatedMovieHits, PaginatedPersonHits};
#[derive(Debug, Deserialize, IntoParams)]
pub struct SearchQueryParams {
/// Free-text query matched across title, cast, crew, genres and keywords.
@@ -28,23 +30,7 @@ pub struct SearchResponse {
pub people: PaginatedPersonHits,
}
#[derive(Debug, Serialize, ToSchema)]
pub struct PaginatedMovieHits {
pub items: Vec<MovieSearchHitDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Serialize, ToSchema)]
pub struct PaginatedPersonHits {
pub items: Vec<PersonSearchHitDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Serialize, ToSchema)]
#[derive(Debug, Clone, Serialize, ToSchema)]
pub struct MovieSearchHitDto {
pub movie_id: Uuid,
pub title: String,
@@ -54,7 +40,7 @@ pub struct MovieSearchHitDto {
pub genres: Vec<String>,
}
#[derive(Debug, Serialize, ToSchema)]
#[derive(Debug, Clone, Serialize, ToSchema)]
pub struct PersonSearchHitDto {
pub person_id: Uuid,
pub name: String,

View File

@@ -1,7 +1,8 @@
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::diary::{DiaryEntryDto, DiaryResponse};
use crate::common::DiaryResponse;
use crate::diary::DiaryEntryDto;
use crate::goals::GoalDto;
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]

View File

@@ -10,14 +10,6 @@ pub struct WatchlistEntryDto {
pub added_at: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, utoipa::ToSchema)]
pub struct WatchlistResponse {
pub items: Vec<WatchlistEntryDto>,
pub total_count: u64,
pub limit: u32,
pub offset: u32,
}
#[derive(Debug, Clone, Deserialize, utoipa::ToSchema)]
pub struct AddToWatchlistRequest {
#[serde(skip_serializing_if = "Option::is_none")]