mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-15 15:45:27 +03:00
Added body model for /reviews/viewed and /reviews/delete
This commit is contained in:
parent
d55736b11b
commit
178498b2dd
10
frigate/api/defs/review_body.py
Normal file
10
frigate/api/defs/review_body.py
Normal file
@ -0,0 +1,10 @@
|
||||
from pydantic import BaseModel, conlist, constr
|
||||
|
||||
|
||||
class ReviewSetMultipleReviewedBody(BaseModel):
|
||||
# List of string with at least one element and each element with at least one char
|
||||
ids: conlist(constr(min_length=1), min_length=1)
|
||||
|
||||
class ReviewDeleteMultipleReviewsBody(BaseModel):
|
||||
# List of string with at least one element and each element with at least one char
|
||||
ids: conlist(constr(min_length=1), min_length=1)
|
||||
@ -14,6 +14,10 @@ from peewee import Case, DoesNotExist, fn, operator
|
||||
from playhouse.shortcuts import model_to_dict
|
||||
|
||||
from frigate.api.defs.generic_response import GenericResponse
|
||||
from frigate.api.defs.review_body import (
|
||||
ReviewDeleteMultipleReviewsBody,
|
||||
ReviewSetMultipleReviewedBody,
|
||||
)
|
||||
from frigate.api.defs.review_query_parameters import (
|
||||
ReviewActivityMotionQueryParams,
|
||||
ReviewQueryParams,
|
||||
@ -357,18 +361,9 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
|
||||
|
||||
|
||||
@router.post("/reviews/viewed", response_model=GenericResponse)
|
||||
def set_multiple_reviewed(body: dict = None):
|
||||
json: dict[str, any] = body or {}
|
||||
list_of_ids = json.get("ids", "")
|
||||
|
||||
if not list_of_ids or len(list_of_ids) == 0:
|
||||
return JSONResponse(
|
||||
content=({"success": False, "message": "Not a valid list of ids"}),
|
||||
status_code=404,
|
||||
)
|
||||
|
||||
def set_multiple_reviewed(body: ReviewSetMultipleReviewedBody):
|
||||
ReviewSegment.update(has_been_reviewed=True).where(
|
||||
ReviewSegment.id << list_of_ids
|
||||
ReviewSegment.id << body.ids
|
||||
).execute()
|
||||
|
||||
return JSONResponse(
|
||||
@ -378,16 +373,8 @@ def set_multiple_reviewed(body: dict = None):
|
||||
|
||||
|
||||
@router.post("/reviews/delete", response_model=GenericResponse)
|
||||
def delete_reviews(body: dict = None):
|
||||
json: dict[str, any] = body or {}
|
||||
list_of_ids = json.get("ids", "")
|
||||
|
||||
if not list_of_ids or len(list_of_ids) == 0:
|
||||
return JSONResponse(
|
||||
content=({"success": False, "message": "Not a valid list of ids"}),
|
||||
status_code=404,
|
||||
)
|
||||
|
||||
def delete_reviews(body: ReviewDeleteMultipleReviewsBody):
|
||||
list_of_ids = body.ids
|
||||
reviews = (
|
||||
ReviewSegment.select(
|
||||
ReviewSegment.camera,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user