mirror of
https://github.com/rzuasti/oott.git
synced 2026-07-08 19:21:54 +02:00
42 lines
987 B
Rust
42 lines
987 B
Rust
use axum::Json;
|
|||
|
|
|
||
|
|
use crate::model::config::{Config, NotificationConfig};
|
||
|
|
use crate::settings::get_settings;
|
||
|
|
|
||
|
|
#[utoipa::path(
|
||
|
|
get,
|
||
|
|
path = "/api/config",
|
||
|
|
tag = "config",
|
||
|
|
responses(
|
||
|
|
(status = 200, description = "Front-end configuration", body = Config),
|
||
|
|
),
|
||
|
|
security(("bearer_auth" = []))
|
||
|
|
)]
|
||
|
|
pub async fn read() -> Json<Config> {
|
||
|
|
let settings = get_settings();
|
||
|
|
Json(Config {
|
||
|
|
notifications: NotificationConfig {
|
||
|
|
method: settings.notifications.method.clone(),
|
||
|
|
},
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
#[cfg(test)]
|
||
|
|
mod tests {
|
||
|
|
use super::*;
|
||
|
|
use crate::tests_common;
|
||
|
|
|
||
|
|
#[tokio::test]
|
||
|
|
async fn config_reports_the_configured_notification_method() {
|
||
|
|
tests_common::setup().await;
|
||
|
|
|
||
|
|
let Json(config) = read().await;
|
||
|
|
|
||
|
|
assert_eq!(
|
||
|
|
config.notifications.method,
|
||
|
|
get_settings().notifications.method,
|
||
|
|
"The endpoint should echo the backend's configured notification method"
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|