use actix_web::web; use actix_web::HttpResponse; use actix_web::get; use serde::Serialize; use crate::helpers::Authentication; use crate::Data; pub fn services(cfg: &mut web::ServiceConfig) { cfg.service(list); } #[derive(Serialize)] struct KeysResponse { private: Option, public: Option, } #[get("/keys", wrap = "Authentication::Admin")] async fn list(_data: web::Data) -> HttpResponse { let api_keys = data.api_keys.clone(); HttpResponse::Ok().json(KeysResponse { private: api_keys.private, public: api_keys.public, }) }