feat(openapi): add search and people endpoints to Swagger/Scalar

This commit is contained in:
2026-05-12 18:50:33 +02:00
parent 67955c004d
commit 2640c99243
4 changed files with 76 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ mod auth;
mod diary;
mod import;
mod movies;
mod search;
mod social;
mod users;
@@ -36,6 +37,7 @@ fn build() -> utoipa::openapi::OpenApi {
api.merge(movies::MoviesDoc::openapi());
api.merge(users::UsersDoc::openapi());
api.merge(import::ImportDoc::openapi());
api.merge(search::SearchDoc::openapi());
#[cfg(feature = "federation")]
api.merge(social::SocialDoc::openapi());
SecurityAddon.modify(&mut api);

View File

@@ -0,0 +1,29 @@
use api_types::search::{
CastCreditDto, CrewCreditDto, MovieSearchHitDto, PaginatedMovieHits, PaginatedPersonHits,
PersonCreditsDto, PersonDto, PersonSearchHitDto, SearchResponse,
};
use utoipa::OpenApi;
#[derive(OpenApi)]
#[openapi(
paths(
crate::handlers::api::get_search,
crate::handlers::api::get_person_handler,
crate::handlers::api::get_person_credits_handler,
),
components(schemas(
SearchResponse,
PaginatedMovieHits,
PaginatedPersonHits,
MovieSearchHitDto,
PersonSearchHitDto,
PersonDto,
PersonCreditsDto,
CastCreditDto,
CrewCreditDto,
)),
tags(
(name = "search", description = "Full-text search across movies and people"),
),
)]
pub struct SearchDoc;