summaryrefslogtreecommitdiff
path: root/makima/src/server/openapi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/server/openapi.rs')
-rw-r--r--makima/src/server/openapi.rs22
1 files changed, 19 insertions, 3 deletions
diff --git a/makima/src/server/openapi.rs b/makima/src/server/openapi.rs
index 3e8c06c..b946ff3 100644
--- a/makima/src/server/openapi.rs
+++ b/makima/src/server/openapi.rs
@@ -2,19 +2,27 @@
use utoipa::OpenApi;
-use crate::server::handlers::listen;
+use crate::db::models::{
+ CreateFileRequest, File, FileListResponse, FileSummary, TranscriptEntry, UpdateFileRequest,
+};
+use crate::server::handlers::{files, listen};
use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage, TranscriptMessage};
#[derive(OpenApi)]
#[openapi(
info(
- title = "Makima Listen API",
+ title = "Makima API",
version = "1.0.0",
- description = "Streaming audio APIs for speech-to-text.",
+ description = "Streaming audio APIs for speech-to-text with persistence.",
license(name = "MIT"),
),
paths(
listen::websocket_handler,
+ files::list_files,
+ files::get_file,
+ files::create_file,
+ files::update_file,
+ files::delete_file,
),
components(
schemas(
@@ -23,10 +31,18 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
StartMessage,
StopMessage,
TranscriptMessage,
+ // File schemas
+ File,
+ FileSummary,
+ FileListResponse,
+ CreateFileRequest,
+ UpdateFileRequest,
+ TranscriptEntry,
)
),
tags(
(name = "Listen", description = "Speech-to-text streaming endpoints"),
+ (name = "Files", description = "Transcript file management"),
)
)]
pub struct ApiDoc;