use std::sync::Arc; use domain::ports::{ BlockQuery, DiaryQuery, FederatedProfileQuery, FederationAdminQuery, FollowGraphQuery, GoalCommand, GoalQuery, ImportProfileRepository, ImportSessionRepository, MovieCommand, MovieProfileRepository, MovieQuery, PersonCommand, PersonQuery, RefreshSessionRepository, RemoteGoalRepository, RemoteWatchlistRepository, ReviewRepository, SearchCommand, SearchPort, SocialCommand, StatsRepository, UserProfileFieldsRepository, UserRepository, UserSettingsRepository, WatchEventCommand, WatchEventQuery, WatchlistRepository, WebhookTokenRepository, WrapUpRepository, WrapUpStatsQuery, }; #[derive(Clone)] pub struct Repositories { pub movie_command: Arc, pub movie_query: Arc, pub review: Arc, pub diary: Arc, pub stats: Arc, pub user: Arc, pub import_session: Arc, pub import_profile: Arc, pub movie_profile: Arc, pub watchlist: Arc, pub watch_event_command: Arc, pub watch_event_query: Arc, pub webhook_token: Arc, pub person_command: Arc, pub person_query: Arc, pub search_port: Arc, pub search_command: Arc, pub profile_fields: Arc, pub remote_watchlist: Arc, pub social_command: Arc, pub follow_graph: Arc, pub block_query: Arc, pub federation_admin: Arc, pub wrapup_stats: Arc, pub wrapup_repo: Arc, pub goal_command: Arc, pub goal_query: Arc, pub user_settings: Arc, pub remote_goal: Arc, pub refresh_session: Arc, pub federated_profile: Option>, }