use utoipa::OpenApi; use crate::handlers::{ artists::get_artist_publications::GetArtistPublicationsQuery, auth::register::RegisterQuery, home::get_home::HomePage, scrapers::ExternalDBData, search::search_torrent_requests::SearchTorrentRequestsQuery, torrents::{ download_dottorrent_file::DownloadTorrentQuery, get_top_torrents::GetTopTorrentsQuery, get_upload_information::UploadInformation, }, user_applications::{ create_user_application::GetUserApplicationsQuery, update_user_application_status::UpdateUserApplication, }, }; use arcadia_storage::models::{ artist::{ AffiliatedArtist, AffiliatedArtistHierarchy, Artist, ArtistAndTitleGroupsLite, ArtistLite, }, conversation::{ Conversation, ConversationHierarchy, ConversationMessage, ConversationMessageHierarchy, ConversationOverview, ConversationsOverview, UserCreatedConversation, UserCreatedConversationMessage, }, edition_group::EditionGroup, forum::{ ForumOverview, ForumPost, ForumSubCategoryHierarchy, ForumThreadAndPosts, UserCreatedForumPost, UserCreatedForumThread, }, gift::{Gift, UserCreatedGift}, invitation::{Invitation, SentInvitation}, master_group::{MasterGroup, UserCreatedMasterGroup}, series::{Series, SeriesAndTitleGroupHierarchyLite, SeriesLite, UserCreatedSeries}, title_group::{EditedTitleGroup, PublicRating, TitleGroupAndAssociatedData, TitleGroupLite}, title_group_comment::{TitleGroupComment, UserCreatedTitleGroupComment}, torrent::{ EditedTorrent, Extras, Torrent, TorrentSearch, TorrentSearchResults, TorrentToDelete, UploadedTorrent, }, torrent_report::{TorrentReport, UserCreatedTorrentReport}, torrent_request::{ TorrentRequest, TorrentRequestAndAssociatedData, TorrentRequestFill, TorrentRequestHierarchyLite, TorrentRequestWithTitleGroupLite, UserCreatedTorrentRequest, }, torrent_request_vote::{ TorrentRequestVote, TorrentRequestVoteHierarchy, UserCreatedTorrentRequestVote, }, user::{ EditedUser, Login, LoginResponse, Profile, PublicProfile, PublicUser, RefreshToken, Register, User, UserCreatedUserWarning, UserLite, UserWarning, }, user_application::{UserApplication, UserApplicationStatus, UserCreatedUserApplication}, wiki::{UserCreatedWikiArticle, WikiArticle, WikiArticleHierarchy}, }; #[derive(OpenApi)] #[openapi( info(title = "arcadia-backend API",), paths( crate::handlers::auth::register::exec, crate::handlers::auth::login::exec, crate::handlers::auth::refresh_token::exec, crate::handlers::users::get_user::exec, crate::handlers::users::edit_user::exec, crate::handlers::users::warn_user::exec, crate::handlers::users::get_user_conversations::exec, crate::handlers::users::get_me::exec, crate::handlers::users::get_registered_users::exec, crate::handlers::user_applications::create_user_application::exec, crate::handlers::user_applications::get_user_applications::exec, crate::handlers::user_applications::update_user_application_status::exec, crate::handlers::home::get_home::exec, crate::handlers::artists::get_artist_publications::exec, crate::handlers::artists::create_artists::exec, crate::handlers::affiliated_artists::create_affiliated_artists::exec, crate::handlers::affiliated_artists::remove_affiliated_artists::exec, crate::handlers::torrents::download_dottorrent_file::exec, crate::handlers::torrents::create_torrent::exec, crate::handlers::torrents::edit_torrent::exec, crate::handlers::torrents::get_registered_torrents::exec, crate::handlers::torrents::get_upload_information::exec, crate::handlers::torrents::get_top_torrents::exec, crate::handlers::torrents::delete_torrent::exec, crate::handlers::torrents::create_torrent_report::exec, crate::handlers::edition_groups::create_edition_group::exec, crate::handlers::invitations::create_invitation::exec, crate::handlers::master_groups::create_master_group::exec, crate::handlers::series::create_series::exec, crate::handlers::series::get_series::exec, crate::handlers::subscriptions::create_subscription::exec, crate::handlers::subscriptions::remove_subscription::exec, crate::handlers::title_groups::create_title_group_comment::exec, crate::handlers::title_groups::create_title_group::exec, crate::handlers::title_groups::edit_title_group::exec, crate::handlers::title_groups::get_title_group::exec, crate::handlers::title_groups::get_title_group_info_lite::exec, crate::handlers::search::search_torrents::exec, crate::handlers::search::search_title_group_info_lite::exec, crate::handlers::search::search_torrent_requests::exec, crate::handlers::search::search_artists_lite::exec, crate::handlers::search::search_forum_thread::exec, crate::handlers::torrent_requests::create_torrent_request::exec, crate::handlers::torrent_requests::get_torrent_request::exec, crate::handlers::torrent_requests::fill_torrent_request::exec, crate::handlers::torrent_requests::create_torrent_request_vote::exec, crate::handlers::gifts::create_gift::exec, crate::handlers::forum::get_forum::exec, crate::handlers::forum::get_forum_sub_category_threads::exec, crate::handlers::forum::get_forum_thread::exec, crate::handlers::forum::create_forum_thread::exec, crate::handlers::forum::create_forum_post::exec, crate::handlers::wiki::create_wiki_article::exec, crate::handlers::wiki::get_wiki_article::exec, crate::handlers::conversations::create_conversation::exec, crate::handlers::conversations::get_conversation::exec, crate::handlers::conversations::create_conversation_message::exec, crate::handlers::external_db::get_isbn_data::exec, crate::handlers::external_db::get_musicbrainz_data::exec, crate::handlers::external_db::get_tmdb_data::exec, crate::handlers::external_db::get_comic_vine_data::exec, ), components(schemas( Register, RegisterQuery, Login, LoginResponse, RefreshToken, GetArtistPublicationsQuery, DownloadTorrentQuery, TorrentSearch, Artist, AffiliatedArtist, AffiliatedArtistHierarchy, User, PublicUser, EditionGroup, Invitation, SentInvitation, MasterGroup, UserCreatedMasterGroup, Series, UserCreatedSeries, UserCreatedTitleGroupComment, TitleGroupComment, TorrentRequest, UserCreatedTorrentRequest, TorrentRequestVote, UserCreatedTorrentRequestVote, UserCreatedTorrentReport, TorrentReport, ArtistLite, SeriesAndTitleGroupHierarchyLite, ArtistAndTitleGroupsLite, TorrentSearchResults, TitleGroupAndAssociatedData, UploadedTorrent, EditedTorrent, Torrent, TorrentToDelete, Profile, PublicProfile, Gift, UserCreatedGift, GetTopTorrentsQuery, ForumPost, UserCreatedForumPost, UserWarning, UserCreatedUserWarning, ForumOverview, ForumSubCategoryHierarchy, ForumThreadAndPosts, UserCreatedForumThread, WikiArticle, UserCreatedWikiArticle, WikiArticleHierarchy, ConversationMessage, UserCreatedConversation, UserCreatedConversationMessage, Conversation, ConversationHierarchy, ConversationMessageHierarchy, ConversationOverview, ConversationsOverview, TorrentRequestHierarchyLite, TorrentRequestFill, UserApplication, UserApplicationStatus, UserCreatedUserApplication, GetUserApplicationsQuery, UpdateUserApplication, ExternalDBData, HomePage, UploadInformation, EditedUser, PublicRating, TorrentRequestWithTitleGroupLite, TorrentRequestAndAssociatedData, TitleGroupLite, EditedTitleGroup, Extras, SearchTorrentRequestsQuery, SeriesLite, TorrentRequestVoteHierarchy, UserLite, ),) )] pub struct ApiDoc;