use actix_web::{web, HttpResponse}; use serde::Serialize; use crate::extractors::authentication::{policies::*, GuardedData}; use crate::Data; pub fn services(cfg: &mut web::ServiceConfig) { cfg.service(web::resource("/keys").route(web::get().to(list))); } #[derive(Serialize)] struct KeysResponse { private: Option, public: Option, } async fn list(data: GuardedData) -> HttpResponse { let api_keys = data.api_keys.clone(); HttpResponse::Ok().json(&KeysResponse { private: api_keys.private, public: api_keys.public, }) }