36 lines
841 B
Rust
36 lines
841 B
Rust
use std::sync::Arc;
|
|
|
|
use geoffrey_models::models::settings::GeoffreySettings;
|
|
|
|
use crate::api_endpoint::{ApiEndpoint, RequestType};
|
|
use crate::context::Context;
|
|
use crate::model::ModelEndpoint;
|
|
use crate::Result;
|
|
use geoffrey_models::models::parameters::EmptyRequest;
|
|
use geoffrey_models::models::token::Permissions;
|
|
|
|
pub struct Settings {}
|
|
|
|
impl ApiEndpoint for Settings {
|
|
fn endpoint_name() -> String {
|
|
"settings".to_string()
|
|
}
|
|
|
|
fn request_type() -> RequestType {
|
|
RequestType::GET
|
|
}
|
|
}
|
|
|
|
impl ModelEndpoint for Settings {
|
|
type Req = EmptyRequest;
|
|
type Resp = GeoffreySettings;
|
|
|
|
fn token_permission() -> Vec<Permissions> {
|
|
vec![Permissions::ModelGet]
|
|
}
|
|
|
|
fn run_endpoint(ctx: Arc<Context>, _: &Self::Req) -> Result<Self::Resp> {
|
|
Ok(ctx.cfg.geoffrey_settings.clone())
|
|
}
|
|
}
|