pub mod application;
pub mod auth;
pub mod interview_settings;
pub mod job;
pub mod job_process;
pub mod job_requirement;
pub mod location;
pub mod offer_settings;
pub mod subject;
use crate::core::config::Config;
use application::ApplicationConfigService;
use auth::AuthService;
use interview_settings::InterviewSettingsService;
use job::JobService;
use job_process::JobProcessService;
use job_requirement::JobRequirementService;
use location::LocationService;
use offer_settings::OfferSettingsService;
use subject::SubjectService;
pub struct RecruitmentConfigService {
pub location: LocationService,
pub auth: AuthService,
pub job: JobService,
pub job_requirement: JobRequirementService,
pub job_process: JobProcessService,
pub subject: SubjectService,
pub application: ApplicationConfigService,
pub interview_settings: InterviewSettingsService,
pub offer_settings: OfferSettingsService,
}
impl RecruitmentConfigService {
pub fn new(config: Config) -> Self {
Self {
location: LocationService::new(config.clone()),
auth: AuthService::new(config.clone()),
job: JobService::new(config.clone()),
job_requirement: JobRequirementService::new(config.clone()),
job_process: JobProcessService::new(config.clone()),
subject: SubjectService::new(config.clone()),
application: ApplicationConfigService::new(config.clone()),
interview_settings: InterviewSettingsService::new(config.clone()),
offer_settings: OfferSettingsService::new(config),
}
}
}