mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-15 23:55:25 +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 playhouse.shortcuts import model_to_dict
|
||||||
|
|
||||||
from frigate.api.defs.generic_response import GenericResponse
|
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 (
|
from frigate.api.defs.review_query_parameters import (
|
||||||
ReviewActivityMotionQueryParams,
|
ReviewActivityMotionQueryParams,
|
||||||
ReviewQueryParams,
|
ReviewQueryParams,
|
||||||
@ -357,18 +361,9 @@ def review_summary(params: ReviewSummaryQueryParams = Depends()):
|
|||||||
|
|
||||||
|
|
||||||
@router.post("/reviews/viewed", response_model=GenericResponse)
|
@router.post("/reviews/viewed", response_model=GenericResponse)
|
||||||
def set_multiple_reviewed(body: dict = None):
|
def set_multiple_reviewed(body: ReviewSetMultipleReviewedBody):
|
||||||
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,
|
|
||||||
)
|
|
||||||
|
|
||||||
ReviewSegment.update(has_been_reviewed=True).where(
|
ReviewSegment.update(has_been_reviewed=True).where(
|
||||||
ReviewSegment.id << list_of_ids
|
ReviewSegment.id << body.ids
|
||||||
).execute()
|
).execute()
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
@ -378,16 +373,8 @@ def set_multiple_reviewed(body: dict = None):
|
|||||||
|
|
||||||
|
|
||||||
@router.post("/reviews/delete", response_model=GenericResponse)
|
@router.post("/reviews/delete", response_model=GenericResponse)
|
||||||
def delete_reviews(body: dict = None):
|
def delete_reviews(body: ReviewDeleteMultipleReviewsBody):
|
||||||
json: dict[str, any] = body or {}
|
list_of_ids = body.ids
|
||||||
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,
|
|
||||||
)
|
|
||||||
|
|
||||||
reviews = (
|
reviews = (
|
||||||
ReviewSegment.select(
|
ReviewSegment.select(
|
||||||
ReviewSegment.camera,
|
ReviewSegment.camera,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user