From 57d82b19728b27e87f997c8a23b7d958e72ac4fa Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Sat, 3 Jan 2026 08:08:07 -0700 Subject: [PATCH] Consolidate query types --- frigate/api/defs/query/media_query_parameters.py | 15 +-------------- .../api/defs/query/recordings_query_parameters.py | 15 ++++++++++++++- frigate/api/record.py | 4 +--- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/frigate/api/defs/query/media_query_parameters.py b/frigate/api/defs/query/media_query_parameters.py index a16f0d53f..7438f2f2f 100644 --- a/frigate/api/defs/query/media_query_parameters.py +++ b/frigate/api/defs/query/media_query_parameters.py @@ -1,8 +1,7 @@ from enum import Enum -from typing import Optional, Union +from typing import Optional from pydantic import BaseModel -from pydantic.json_schema import SkipJsonSchema class Extension(str, Enum): @@ -48,15 +47,3 @@ class MediaMjpegFeedQueryParams(BaseModel): mask: Optional[int] = None motion: Optional[int] = None regions: Optional[int] = None - - -class MediaRecordingsSummaryQueryParams(BaseModel): - timezone: str = "utc" - cameras: Optional[str] = "all" - - -class MediaRecordingsAvailabilityQueryParams(BaseModel): - cameras: str = "all" - before: Union[float, SkipJsonSchema[None]] = None - after: Union[float, SkipJsonSchema[None]] = None - scale: int = 30 diff --git a/frigate/api/defs/query/recordings_query_parameters.py b/frigate/api/defs/query/recordings_query_parameters.py index 679ff047b..d4f1b0a7b 100644 --- a/frigate/api/defs/query/recordings_query_parameters.py +++ b/frigate/api/defs/query/recordings_query_parameters.py @@ -1,6 +1,19 @@ -from typing import Optional +from typing import Optional, Union from pydantic import BaseModel +from pydantic.json_schema import SkipJsonSchema + + +class MediaRecordingsSummaryQueryParams(BaseModel): + timezone: str = "utc" + cameras: Optional[str] = "all" + + +class MediaRecordingsAvailabilityQueryParams(BaseModel): + cameras: str = "all" + before: Union[float, SkipJsonSchema[None]] = None + after: Union[float, SkipJsonSchema[None]] = None + scale: int = 30 class RecordingsDeleteQueryParams(BaseModel): diff --git a/frigate/api/record.py b/frigate/api/record.py index b11e06275..789aa4a80 100644 --- a/frigate/api/record.py +++ b/frigate/api/record.py @@ -18,10 +18,8 @@ from frigate.api.auth import ( require_camera_access, require_role, ) -from frigate.api.defs.query.media_query_parameters import ( - MediaRecordingsAvailabilityQueryParams, -) from frigate.api.defs.query.recordings_query_parameters import ( + MediaRecordingsAvailabilityQueryParams, MediaRecordingsSummaryQueryParams, RecordingsDeleteQueryParams, )