Files
scraper/src/observability/openapi_modules.rs
T
asepharyana 09c706cc61
Deploy Scraper / build-and-deploy (push) Canceled after 0s
feat(stalk): remove fake genshin stalk
live-probed: /stalk/genshin was NOT real — it just pass-through the raw
SvelteKit __data.json (only nickname/level/nameCardId/profilePicture),
not a full Genshin profile like the Shirokami source (which parses
characters/element/costume/stats via enka-network-api -> get_profile_for_uid).
That proper API is now 404 without an enka token. Removed.

stalk now has 3 real endpoints: github, youtube, twitter.
2026-09-02 13:39:54 +07:00

114 lines
7.3 KiB
Rust

use utoipa::OpenApi;
/// Manual aggregation of OpenAPI docs from module controllers.
#[derive(OpenApi)]
#[openapi(
paths(
// ── Anime module ──────────────────────────────────────────
crate::presentation::handler::anime::anime_index,
crate::presentation::handler::anime::genres,
crate::presentation::handler::anime::detail_slug,
crate::presentation::handler::anime::complete_anime_slug,
crate::presentation::handler::anime::full_slug,
crate::presentation::handler::anime::ongoing_anime_slug,
crate::presentation::handler::anime::latest_slug,
crate::presentation::handler::anime::search_slug_index,
crate::presentation::handler::anime::search_slug_page,
crate::presentation::handler::anime::genre_slug_index,
crate::presentation::handler::anime::genre_slug_page,
// ── Anime2 module ─────────────────────────────────────────
crate::presentation::handler::anime2::index,
crate::presentation::handler::anime2::genre_list,
crate::presentation::handler::anime2::filter,
crate::presentation::handler::anime2::detail_slug,
crate::presentation::handler::anime2::genre_slug_index,
crate::presentation::handler::anime2::genre_slug_page,
crate::presentation::handler::anime2::search_slug_index,
crate::presentation::handler::anime2::search_slug_page,
crate::presentation::handler::anime2::latest_slug,
crate::presentation::handler::anime2::ongoing_anime_slug,
crate::presentation::handler::anime2::complete_anime_slug,
// ── Komik module ──────────────────────────────────────────
crate::presentation::handler::komik::genre_list,
crate::presentation::handler::komik::chapter_slug,
crate::presentation::handler::komik::detail_slug,
crate::presentation::handler::komik::genre_slug,
crate::presentation::handler::komik::genre_slug_page,
crate::presentation::handler::komik::manga_slug,
crate::presentation::handler::komik::manhua_slug,
crate::presentation::handler::komik::manhwa_slug,
crate::presentation::handler::komik::popular_slug,
crate::presentation::handler::komik::search_slug,
crate::presentation::handler::komik::search_slug_page,
// ── Download module ────────────────────────────────────────
crate::presentation::handler::downloader::download,
crate::presentation::handler::downloader::detect_platform_handler,
crate::presentation::handler::downloader::download_instagram,
crate::presentation::handler::downloader::download_facebook,
crate::presentation::handler::downloader::download_tiktok,
crate::presentation::handler::downloader::download_youtube,
crate::presentation::handler::downloader::download_youtube_mp3,
crate::presentation::handler::downloader::download_spotify,
crate::presentation::handler::downloader::download_twitter,
crate::presentation::handler::downloader::download_pinterest,
crate::presentation::handler::downloader::download_mega,
crate::presentation::handler::downloader::download_terabox,
crate::presentation::handler::downloader::download_gdrive,
crate::presentation::handler::downloader::download_mediafire,
crate::presentation::handler::downloader::download_pixeldrain,
crate::presentation::handler::downloader::download_threads,
crate::presentation::handler::downloader::download_doodstream,
crate::presentation::handler::downloader::download_krakenfiles,
crate::presentation::handler::downloader::download_danbooru,
crate::presentation::handler::downloader::download_soundcloud,
crate::presentation::handler::downloader::download_dailymotion,
crate::presentation::handler::downloader::download_reddit,
crate::presentation::handler::downloader::download_streamable,
crate::presentation::handler::downloader::download_videy,
crate::presentation::handler::downloader::download_bilibili,
// ── Misc module ────────────────────────────────────────────
crate::presentation::handler::misc::currency_converter_handler,
crate::presentation::handler::misc::harga_emas_handler,
crate::presentation::handler::misc::kurs_bca_handler,
crate::presentation::handler::misc::server_info_handler,
// ── Stalk module ───────────────────────────────────────────
crate::presentation::handler::stalk::github_handler,
crate::presentation::handler::stalk::youtube_handler,
crate::presentation::handler::stalk::twitter_handler,
// ── Search module ──────────────────────────────────────────
crate::presentation::handler::search::bmkg_handler,
crate::presentation::handler::search::jadwal_sholat_handler,
crate::presentation::handler::search::weather_handler,
crate::presentation::handler::search::google_handler,
crate::presentation::handler::search::yt_handler,
// ── Tool module ────────────────────────────────────────────
crate::presentation::handler::tools::whois_handler,
crate::presentation::handler::tools::ip_location_handler,
crate::presentation::handler::tools::tinyurl_handler,
crate::presentation::handler::tools::check_hosting_handler,
crate::presentation::handler::tools::hargapangan_handler,
crate::presentation::handler::tools::cek_resi_handler,
// ── Image module ───────────────────────────────────────────
crate::presentation::handler::image::brat_handler,
crate::presentation::handler::image::brat_animated_handler,
),
components(
schemas(
crate::presentation::dto::common::ApiResponse<String>,
crate::presentation::dto::downloader::DownloadResponse,
)
),
tags(
(name = "anime", description = "Anime endpoints"),
(name = "anime2", description = "Anime2 endpoints"),
(name = "komik", description = "Komik endpoints"),
(name = "download", description = "Media download endpoints (23 platforms)"),
(name = "misc", description = "Miscellaneous utilities (currency, gold, server)"),
(name = "stalk", description = "User profile stalking (GitHub, YT, Twitter)"),
(name = "search", description = "Search endpoints (BMKG, prayer times, weather, YouTube, Google)"),
(name = "tool", description = "Utility tools (WHOIS, IP lookup, URL shortener, tracking, hosting)"),
(name = "image", description = "Image generation (brat static & animated)"),
)
)]
pub struct ModuleApiDoc;