2024-09-24 14:05:30 +01:00
|
|
|
from typing import Optional
|
|
|
|
|
|
2025-08-18 08:26:02 -05:00
|
|
|
from pydantic import BaseModel, Field
|
2024-09-24 14:05:30 +01:00
|
|
|
|
|
|
|
|
DEFAULT_TIME_RANGE = "00:00,24:00"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EventsQueryParams(BaseModel):
|
|
|
|
|
camera: Optional[str] = "all"
|
|
|
|
|
cameras: Optional[str] = "all"
|
|
|
|
|
label: Optional[str] = "all"
|
|
|
|
|
labels: Optional[str] = "all"
|
|
|
|
|
sub_label: Optional[str] = "all"
|
|
|
|
|
sub_labels: Optional[str] = "all"
|
|
|
|
|
zone: Optional[str] = "all"
|
|
|
|
|
zones: Optional[str] = "all"
|
|
|
|
|
limit: Optional[int] = 100
|
|
|
|
|
after: Optional[float] = None
|
|
|
|
|
before: Optional[float] = None
|
|
|
|
|
time_range: Optional[str] = DEFAULT_TIME_RANGE
|
|
|
|
|
has_clip: Optional[int] = None
|
|
|
|
|
has_snapshot: Optional[int] = None
|
|
|
|
|
in_progress: Optional[int] = None
|
2025-08-18 08:26:02 -05:00
|
|
|
include_thumbnails: Optional[int] = Field(
|
|
|
|
|
1,
|
|
|
|
|
description=(
|
|
|
|
|
"Deprecated. Thumbnail data is no longer included in the response. "
|
|
|
|
|
"Use the /api/events/:event_id/thumbnail.:extension endpoint instead."
|
|
|
|
|
),
|
|
|
|
|
deprecated=True,
|
|
|
|
|
)
|
2024-09-24 14:05:30 +01:00
|
|
|
favorites: Optional[int] = None
|
|
|
|
|
min_score: Optional[float] = None
|
|
|
|
|
max_score: Optional[float] = None
|
2025-02-10 14:23:42 -06:00
|
|
|
min_speed: Optional[float] = None
|
|
|
|
|
max_speed: Optional[float] = None
|
2025-03-12 18:45:16 -05:00
|
|
|
recognized_license_plate: Optional[str] = "all"
|
2024-09-24 14:05:30 +01:00
|
|
|
is_submitted: Optional[int] = None
|
|
|
|
|
min_length: Optional[float] = None
|
|
|
|
|
max_length: Optional[float] = None
|
2024-11-02 18:16:07 -05:00
|
|
|
event_id: Optional[str] = None
|
2024-09-24 14:05:30 +01:00
|
|
|
sort: Optional[str] = None
|
|
|
|
|
timezone: Optional[str] = "utc"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EventsSearchQueryParams(BaseModel):
|
|
|
|
|
query: Optional[str] = None
|
|
|
|
|
event_id: Optional[str] = None
|
2024-10-17 10:02:27 -06:00
|
|
|
search_type: Optional[str] = "thumbnail"
|
2025-08-18 08:26:02 -05:00
|
|
|
include_thumbnails: Optional[int] = Field(
|
|
|
|
|
1,
|
|
|
|
|
description=(
|
|
|
|
|
"Deprecated. Thumbnail data is no longer included in the response. "
|
|
|
|
|
"Use the /api/events/:event_id/thumbnail.:extension endpoint instead."
|
|
|
|
|
),
|
|
|
|
|
deprecated=True,
|
|
|
|
|
)
|
2024-09-24 14:05:30 +01:00
|
|
|
limit: Optional[int] = 50
|
|
|
|
|
cameras: Optional[str] = "all"
|
|
|
|
|
labels: Optional[str] = "all"
|
|
|
|
|
zones: Optional[str] = "all"
|
|
|
|
|
after: Optional[float] = None
|
|
|
|
|
before: Optional[float] = None
|
2024-09-26 15:30:56 -05:00
|
|
|
time_range: Optional[str] = DEFAULT_TIME_RANGE
|
2024-10-18 16:16:43 -05:00
|
|
|
has_clip: Optional[bool] = None
|
|
|
|
|
has_snapshot: Optional[bool] = None
|
2024-11-10 16:57:11 -06:00
|
|
|
is_submitted: Optional[bool] = None
|
2024-09-24 14:05:30 +01:00
|
|
|
timezone: Optional[str] = "utc"
|
2024-10-17 06:30:52 -05:00
|
|
|
min_score: Optional[float] = None
|
|
|
|
|
max_score: Optional[float] = None
|
2025-02-10 14:23:42 -06:00
|
|
|
min_speed: Optional[float] = None
|
|
|
|
|
max_speed: Optional[float] = None
|
2025-03-12 18:45:16 -05:00
|
|
|
recognized_license_plate: Optional[str] = "all"
|
2024-10-17 06:30:52 -05:00
|
|
|
sort: Optional[str] = None
|
2024-09-24 14:05:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class EventsSummaryQueryParams(BaseModel):
|
|
|
|
|
timezone: Optional[str] = "utc"
|
|
|
|
|
has_clip: Optional[int] = None
|
|
|
|
|
has_snapshot: Optional[int] = None
|