59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
from pydantic import BaseModel, Field
|
|
|
|
from frigate.config.classification import TriggerType
|
|
|
|
|
|
class EventsSubLabelBody(BaseModel):
|
|
subLabel: str = Field(title="Sub label", max_length=100)
|
|
subLabelScore: float | None = Field(
|
|
title="Score for sub label", default=None, gt=0.0, le=1.0
|
|
)
|
|
camera: str | None = Field(title="Camera this object is detected on.", default=None)
|
|
|
|
|
|
class EventsLPRBody(BaseModel):
|
|
recognizedLicensePlate: str = Field(
|
|
title="Recognized License Plate", max_length=100
|
|
)
|
|
recognizedLicensePlateScore: float | None = Field(
|
|
title="Score for recognized license plate", default=None, gt=0.0, le=1.0
|
|
)
|
|
|
|
|
|
class EventsAttributesBody(BaseModel):
|
|
attributes: list[str] = Field(
|
|
title="Selected classification attributes for the event",
|
|
default_factory=list,
|
|
)
|
|
|
|
|
|
class EventsDescriptionBody(BaseModel):
|
|
description: str | None = Field(title="The description of the event")
|
|
|
|
|
|
class EventsCreateBody(BaseModel):
|
|
sub_label: str | None = None
|
|
score: float | None = 0
|
|
duration: int | None = 30
|
|
include_recording: bool | None = True
|
|
draw: dict | None = {}
|
|
pre_capture: int | None = None
|
|
|
|
|
|
class EventsEndBody(BaseModel):
|
|
end_time: float | None = None
|
|
|
|
|
|
class EventsDeleteBody(BaseModel):
|
|
event_ids: list[str] = Field(title="The event IDs to delete")
|
|
|
|
|
|
class SubmitPlusBody(BaseModel):
|
|
include_annotation: int = Field(default=1)
|
|
|
|
|
|
class TriggerEmbeddingBody(BaseModel):
|
|
type: TriggerType
|
|
data: str
|
|
threshold: float = Field(default=0.5, ge=0.0, le=1.0)
|