feat: expose all API endpoints in OpenAPI spec

Add 26 previously missing endpoints (users, tokens, libraries,
reading_status_match/push, anilist) plus 28 missing schemas and 3 new
tags (users, reading_status, anilist). Test passes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 11:56:38 +01:00
parent 29b27b9a86
commit 57d2acc923

View File

@@ -72,6 +72,29 @@ use utoipa::OpenApi;
crate::komga::sync_komga_read_books,
crate::komga::list_sync_reports,
crate::komga::get_sync_report,
crate::users::list_users,
crate::users::create_user,
crate::users::update_user,
crate::users::delete_user,
crate::tokens::update_token,
crate::libraries::update_reading_status_provider,
crate::reading_status_match::start_match,
crate::reading_status_match::get_match_report,
crate::reading_status_match::get_match_results,
crate::reading_status_push::start_push,
crate::reading_status_push::get_push_report,
crate::reading_status_push::get_push_results,
crate::anilist::get_status,
crate::anilist::search_manga,
crate::anilist::get_series_link,
crate::anilist::link_series,
crate::anilist::unlink_series,
crate::anilist::toggle_library,
crate::anilist::list_unlinked,
crate::anilist::preview_sync,
crate::anilist::sync_to_anilist,
crate::anilist::pull_from_anilist,
crate::anilist::list_links,
),
components(
schemas(
@@ -128,6 +151,11 @@ use utoipa::OpenApi;
crate::stats::MonthlyAdditions,
crate::stats::MetadataStats,
crate::stats::ProviderCount,
crate::stats::CurrentlyReadingItem,
crate::stats::RecentlyReadItem,
crate::stats::MonthlyReading,
crate::stats::UserMonthlyReading,
crate::stats::JobTimePoint,
crate::metadata::ApproveRequest,
crate::metadata::ApproveResponse,
crate::metadata::SyncReport,
@@ -157,6 +185,27 @@ use utoipa::OpenApi;
crate::komga::KomgaSyncRequest,
crate::komga::KomgaSyncResponse,
crate::komga::KomgaSyncReportSummary,
crate::users::UserResponse,
crate::users::CreateUserRequest,
crate::tokens::UpdateTokenRequest,
crate::libraries::UpdateReadingStatusProviderRequest,
crate::reading_status_match::ReadingStatusMatchRequest,
crate::reading_status_match::ReadingStatusMatchReportDto,
crate::reading_status_match::ReadingStatusMatchResultDto,
crate::reading_status_push::ReadingStatusPushRequest,
crate::reading_status_push::ReadingStatusPushReportDto,
crate::reading_status_push::ReadingStatusPushResultDto,
crate::anilist::AnilistStatusResponse,
crate::anilist::AnilistMediaResult,
crate::anilist::AnilistSeriesLinkResponse,
crate::anilist::AnilistSyncPreviewItem,
crate::anilist::AnilistSyncItem,
crate::anilist::AnilistSyncReport,
crate::anilist::AnilistPullItem,
crate::anilist::AnilistPullReport,
crate::anilist::AnilistSearchRequest,
crate::anilist::AnilistLinkRequest,
crate::anilist::AnilistLibraryToggleRequest,
ErrorResponse,
)
),
@@ -178,6 +227,9 @@ use utoipa::OpenApi;
(name = "settings", description = "Application settings and cache management (Admin only)"),
(name = "prowlarr", description = "Prowlarr indexer integration (Admin only)"),
(name = "qbittorrent", description = "qBittorrent download client integration (Admin only)"),
(name = "users", description = "Reader user management (Admin only)"),
(name = "reading_status", description = "Reading status match and push jobs (Admin only)"),
(name = "anilist", description = "AniList integration for reading status sync (Admin only)"),
),
modifiers(&SecurityAddon)
)]