Search API with classified releases (#65)
ci / rust (push) Failing after 1m1s
ci / web (push) Successful in 49s
e2e / e2e (push) Successful in 1m15s

This commit was merged in pull request #65.
This commit is contained in:
2026-08-22 21:22:12 +01:00
parent 29d6831c83
commit de2a13060c
10 changed files with 1136 additions and 2 deletions
+6 -1
View File
@@ -8,6 +8,7 @@
mod health;
mod movies;
mod search;
mod state;
use axum::routing::get;
@@ -19,6 +20,7 @@ use utoipa_scalar::{Scalar, Servable};
pub use health::{Check, Health, HealthReport, Status};
pub use movies::{Accepted, AttentionQueues, CreateMovie, ErrorBody, Movie, Release, UpdateMovie};
pub use search::{ClassifiedRelease, SearchResponse};
pub use state::{AppState, MovieCommand, Upstreams, DEFAULT_TMDB_URL};
/// Where the generated document is served, and where `just gen-client` reads
@@ -39,7 +41,8 @@ pub const DOCS_PATH: &str = "/api/docs";
),
tags(
(name = "system", description = "Service health and metadata"),
(name = "movies", description = "Movie library and actions")
(name = "movies", description = "Movie library and actions"),
(name = "search", description = "Unified title and release search")
),
)]
struct ApiDoc;
@@ -54,6 +57,8 @@ fn api_router() -> OpenApiRouter<AppState> {
.routes(routes!(movies::releases))
.routes(routes!(movies::grab))
.routes(routes!(movies::attention))
.routes(routes!(search::search))
.routes(routes!(search::releases))
}
/// The generated `OpenAPI` document.