add OpenAPI/Swagger documentation with utoipa
This commit is contained in:
45
apps/api/src/openapi.rs
Normal file
45
apps/api/src/openapi.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
use utoipa::OpenApi;
|
||||
|
||||
#[derive(OpenApi)]
|
||||
#[openapi(
|
||||
paths(
|
||||
crate::books::list_books,
|
||||
crate::books::get_book,
|
||||
crate::pages::get_page,
|
||||
crate::search::search_books,
|
||||
crate::index_jobs::enqueue_rebuild,
|
||||
crate::index_jobs::list_index_jobs,
|
||||
crate::index_jobs::cancel_job,
|
||||
crate::index_jobs::list_folders,
|
||||
crate::libraries::list_libraries,
|
||||
crate::libraries::create_library,
|
||||
crate::libraries::delete_library,
|
||||
crate::tokens::list_tokens,
|
||||
crate::tokens::create_token,
|
||||
crate::tokens::revoke_token,
|
||||
),
|
||||
components(
|
||||
schemas(
|
||||
crate::books::ListBooksQuery,
|
||||
crate::books::BookItem,
|
||||
crate::books::BooksPage,
|
||||
crate::books::BookDetails,
|
||||
crate::pages::PageQuery,
|
||||
crate::search::SearchQuery,
|
||||
crate::search::SearchResponse,
|
||||
crate::index_jobs::RebuildRequest,
|
||||
crate::index_jobs::IndexJobResponse,
|
||||
crate::index_jobs::FolderItem,
|
||||
crate::libraries::LibraryResponse,
|
||||
crate::libraries::CreateLibraryRequest,
|
||||
crate::tokens::CreateTokenRequest,
|
||||
crate::tokens::TokenResponse,
|
||||
crate::tokens::CreatedTokenResponse,
|
||||
)
|
||||
),
|
||||
tags(
|
||||
(name = "books", description = "Books management endpoints"),
|
||||
(name = "admin", description = "Admin management endpoints"),
|
||||
)
|
||||
)]
|
||||
pub struct ApiDoc;
|
||||
Reference in New Issue
Block a user