babe1dc
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,
}