use auth::AuthConfig; use cache::config::redis::AppRedisSettings; use db::config::AppDatabaseSettings; use email::config::AppEmailSettings; use issues::IssueConfig; use jwt::config::JwtSettings; use project::ProjectConfig; use queue::config::AppQueueSettings; use repo::RepoConfig; use space::SpaceConfig; use storage::config::StorageSettings; use user::UserConfig; /// Bundle of all settings required to construct the full service stack. /// /// Every field provides a sensible `Default`, so the whole bundle can be /// derived from environment/config sources and then overridden piecewise. #[derive(Clone, Default)] pub struct AppConfig { pub db: AppDatabaseSettings, pub cache: AppRedisSettings, pub queue: AppQueueSettings, pub email: AppEmailSettings, pub storage: StorageSettings, pub jwt: JwtSettings, pub auth: AuthConfig, pub issues: IssueConfig, pub project: ProjectConfig, pub repo: RepoConfig, pub space: SpaceConfig, pub user: UserConfig, }