From d905f61eaa14b644c2176288c6a4f85a0417555e Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sat, 1 Feb 2025 08:34:34 -0600 Subject: [PATCH] Add endpoint for fetching batch review items (#16254) --- frigate/api/review.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/frigate/api/review.py b/frigate/api/review.py index 9266e1f8c..3e503d400 100644 --- a/frigate/api/review.py +++ b/frigate/api/review.py @@ -110,6 +110,28 @@ def review(params: ReviewQueryParams = Depends()): return JSONResponse(content=[r for r in review]) +@router.get("/review_ids", response_model=list[ReviewSegmentResponse]) +def review_ids(ids: str): + ids = ids.split(",") + + if not ids: + return JSONResponse( + content=({"success": False, "message": "Valid list of ids must be sent"}), + status_code=400, + ) + + try: + reviews = ( + ReviewSegment.select().where(ReviewSegment.id << ids).dicts().iterator() + ) + return JSONResponse(list(reviews)) + except Exception: + return JSONResponse( + content=({"success": False, "message": "Review segments not found"}), + status_code=400, + ) + + @router.get("/review/summary", response_model=ReviewSummaryResponse) def review_summary(params: ReviewSummaryQueryParams = Depends()): hour_modifier, minute_modifier, seconds_offset = get_tz_modifiers(params.timezone)