fix: restore openapi.json endpoint and update swagger UI path reference

Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-12 16:54:58 -03:00
parent 454bf7ba4a
commit 01b27fb61d
3 changed files with 9 additions and 69 deletions

View File

@@ -27,12 +27,12 @@ use utoipa_swagger_ui::SwaggerUi;
components(
schemas(
crate::modes::server::common::ApiResponse<crate::modes::server::api::status::StatusInfo>,
crate::modes::server::common::ApiResponse<Vec<crate::modes::server::api::item::ItemInfo>>,
crate::modes::server::common::ApiResponse<crate::modes::server::api::item::ItemInfo>,
crate::modes::server::common::ApiResponse<HashMap<String, String>>,
crate::modes::server::common::ApiResponse<Vec<crate::modes::server::common::ItemInfo>>,
crate::modes::server::common::ApiResponse<crate::modes::server::common::ItemInfo>,
crate::modes::server::common::ApiResponse<std::collections::HashMap<std::string::String>>,
crate::modes::server::common::ApiResponse<()>,
crate::modes::server::api::status::StatusInfo,
crate::modes::server::api::item::ItemInfo,
crate::modes::server::common::ItemInfo,
)
),
tags(

View File

@@ -1,64 +1,3 @@
use axum::response::{Html, Json};
use serde_json::json;
use serde_json::Value;
use crate::modes::server::common::AppState;
use axum::{
routing::get,
Router,
};
pub async fn handle_openapi() -> Json<Value> {
let openapi_spec = json!({
"openapi": "3.0.0",
"info": {
"title": "Keep API",
"version": "1.0.0",
"description": "REST API for the Keep data storage system"
},
"servers": [
{
"url": "/",
"description": "Local server"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"ItemInfo": {
"type": "object",
"properties": {
"id": {"type": "integer"},
"ts": {"type": "string", "format": "date-time"},
"size": {"type": "integer", "nullable": true},
"compression": {"type": "string"},
"tags": {"type": "array", "items": {"type": "string"}},
"metadata": {"type": "object"}
}
},
"StatusInfo": {
"type": "object",
"properties": {
"version": {"type": "string"},
"database_path": {"type": "string"},
"data_directory": {"type": "string"},
"compression_engines": {"type": "array", "items": {"type": "string"}},
"meta_plugins": {"type": "array", "items": {"type": "string"}}
}
}
}
},
"security": [{"bearerAuth": []}],
"paths": {}
});
Json(openapi_spec)
}
pub async fn handle_swagger_ui() -> Html<&'static str> {
let html = r#"<!DOCTYPE html>