diff --git a/src/api/media_api.rs b/src/api/media_api.rs index 6df2dfa..1965404 100644 --- a/src/api/media_api.rs +++ b/src/api/media_api.rs @@ -51,6 +51,7 @@ fn ffmpeg_cmd() -> std::process::Command { pub fn bbox_routes() -> Router { Router::new() + .route("/api/v1/face-thumbnail", get(face_thumbnail_compat)) .route( "/api/v1/file/:file_uuid/video/bbox", get(bbox_overlay_video), @@ -768,6 +769,7 @@ async fn stream_video( #[derive(Debug, serde::Deserialize)] struct ThumbQuery { + uuid: Option, frame: Option, x: Option, y: Option, @@ -776,6 +778,14 @@ struct ThumbQuery { trace_id: Option, } +async fn face_thumbnail_compat( + State(state): State, + Query(q): Query, +) -> Result { + let file_uuid = q.uuid.clone().ok_or(StatusCode::BAD_REQUEST)?; + face_thumbnail(State(state), Path(file_uuid), Query(q)).await +} + async fn face_thumbnail( State(state): State, Path(file_uuid): Path, @@ -1266,6 +1276,7 @@ async fn media_proxy_handler( match type_ { "thumbnail" => { let thumb_query = ThumbQuery { + uuid: None, frame: params.get("frame").and_then(|v| v.parse().ok()), x: params.get("x").and_then(|v| v.parse().ok()), y: params.get("y").and_then(|v| v.parse().ok()),