use std::sync::Arc; use domain::ports::{ DiaryExporter, DiaryQuery, EventPublisher, FollowGraphQuery, MovieCommand, MovieProfileRepository, MovieQuery, ReviewRepository, UserRepository, }; use crate::config::AppSettings; pub struct DeleteReviewDeps { pub review: Arc, pub diary: Arc, pub movie_command: Arc, pub event_publisher: Arc, } pub struct EditReviewDeps { pub review: Arc, } pub struct GetMovieSocialPageDeps { pub movie_query: Arc, pub diary: Arc, pub movie_profile: Arc, } pub struct GetActivityFeedDeps { pub diary: Arc, pub social_query: Arc, pub config: AppSettings, } pub struct GetUserFeedDeps { pub user: Arc, pub diary: Arc, } pub struct GetDiaryDeps { pub diary: Arc, } pub struct GetReviewHistoryDeps { pub diary: Arc, } pub struct ExportDiaryDeps { pub diary: Arc, pub diary_exporter: Arc, }