47 lines
2.2 KiB
Rust
47 lines
2.2 KiB
Rust
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<dyn MovieCommand>,
|
|
pub movie_query: Arc<dyn MovieQuery>,
|
|
pub review: Arc<dyn ReviewRepository>,
|
|
pub diary: Arc<dyn DiaryQuery>,
|
|
pub stats: Arc<dyn StatsRepository>,
|
|
pub user: Arc<dyn UserRepository>,
|
|
pub import_session: Arc<dyn ImportSessionRepository>,
|
|
pub import_profile: Arc<dyn ImportProfileRepository>,
|
|
pub movie_profile: Arc<dyn MovieProfileRepository>,
|
|
pub watchlist: Arc<dyn WatchlistRepository>,
|
|
pub watch_event_command: Arc<dyn WatchEventCommand>,
|
|
pub watch_event_query: Arc<dyn WatchEventQuery>,
|
|
pub webhook_token: Arc<dyn WebhookTokenRepository>,
|
|
pub person_command: Arc<dyn PersonCommand>,
|
|
pub person_query: Arc<dyn PersonQuery>,
|
|
pub search_port: Arc<dyn SearchPort>,
|
|
pub search_command: Arc<dyn SearchCommand>,
|
|
pub profile_fields: Arc<dyn UserProfileFieldsRepository>,
|
|
pub remote_watchlist: Arc<dyn RemoteWatchlistRepository>,
|
|
pub social_command: Arc<dyn SocialCommand>,
|
|
pub follow_graph: Arc<dyn FollowGraphQuery>,
|
|
pub block_query: Arc<dyn BlockQuery>,
|
|
pub federation_admin: Arc<dyn FederationAdminQuery>,
|
|
pub wrapup_stats: Arc<dyn WrapUpStatsQuery>,
|
|
pub wrapup_repo: Arc<dyn WrapUpRepository>,
|
|
pub goal_command: Arc<dyn GoalCommand>,
|
|
pub goal_query: Arc<dyn GoalQuery>,
|
|
pub user_settings: Arc<dyn UserSettingsRepository>,
|
|
pub remote_goal: Arc<dyn RemoteGoalRepository>,
|
|
pub refresh_session: Arc<dyn RefreshSessionRepository>,
|
|
pub federated_profile: Option<Arc<dyn FederatedProfileQuery>>,
|
|
}
|