stately_files/
openapi.rs

1#![expect(clippy::needless_for_each)]
2//! `OpenAPI` documentation for stately-files endpoints.
3
4use super::path::{RelativePath, UserDefinedPath};
5use super::request::{FileDownloadQuery, FileListQuery, FileSaveRequest};
6use super::response::{FileInfo, FileListResponse, FileUploadResponse, FileVersion};
7use crate::path::VersionedPath;
8
9/// `OpenAPI` documentation for file management endpoints.
10#[derive(utoipa::OpenApi, Clone, Copy)]
11#[openapi(
12    paths(
13        super::handlers::upload,
14        super::handlers::save_file,
15        super::handlers::list_files,
16        super::handlers::download_cache,
17        super::handlers::download_data,
18        super::handlers::download_upload,
19    ),
20    components(
21        responses(
22            FileListResponse,
23            FileUploadResponse,
24            stately::ApiError,
25        ),
26        schemas(
27            FileListResponse,
28            FileUploadResponse,
29            FileInfo,
30            FileListQuery,
31            FileDownloadQuery,
32            FileSaveRequest,
33            FileVersion,
34            UserDefinedPath,
35            RelativePath,
36            VersionedPath,
37        )
38    ),
39    tags((name = "files", description = "File management endpoints"))
40)]
41pub struct OpenApiDoc;