use crate::app_config::{AppConfig, OIDCProvider}; use crate::constants::StaticConstraints; use crate::models::{CoupleState, CoupleStateDesc}; use crate::utils::countries_utils; use crate::utils::countries_utils::CountryCode; use actix_web::{HttpResponse, Responder}; /// Default hello route pub async fn home() -> impl Responder { HttpResponse::Ok().json("GeneIT API service.") } #[derive(Debug, Clone, serde::Serialize)] struct ServerConfig<'a> { constraints: StaticConstraints, mail: &'static str, oidc_providers: Vec>, countries: Vec, couples_states: Vec, } impl Default for ServerConfig<'_> { fn default() -> Self { Self { mail: AppConfig::get().mail_sender.as_str(), constraints: StaticConstraints::default(), oidc_providers: AppConfig::get().openid_providers(), countries: countries_utils::get_list(), couples_states: CoupleState::states_list(), } } } /// Get server configuration pub async fn server_config() -> impl Responder { HttpResponse::Ok().json(ServerConfig::default()) }