|
- from pydantic import BaseModel
- from typing import Optional
- from uuid import UUID
- from typing import Optional, Union
-
- class BuildingItem(BaseModel):
- id: UUID
- name: str
- city: Optional[str] = None
- address: Optional[str] = None
- latitude: Optional[float] = None
- longitude: Optional[float] = None
-
- class PlanItem(BaseModel):
- id: UUID
- name: str
- image: Optional[str] = None
- scale: Optional[float] = None
- building: Optional[UUID] = None
-
- class ZoneItem(BaseModel):
- id: UUID
- name: str
- groups: Optional[str] = None
- plan: Optional[UUID] = None
- building: Optional[UUID] = None
-
- class GatewayItem(BaseModel):
- id: str
- name: str
- mac: Optional[str] = None
- status: Optional[Union[str, bool]] = None
- model: Optional[str] = None
- ip: Optional[str] = None
- position: Optional[str] = None
- x: Optional[float] = None
- y: Optional[float] = None
- notes: Optional[str] = None
- zone: Optional[str] = None
- building: Optional[str] = None
-
- class TrackerItem(BaseModel):
- id: UUID
- name: str
- mac: Optional[str] = None
- status: Optional[str] = None
- model: Optional[str] = None
- position: Optional[str] = None
- notes: Optional[str] = None
- x: Optional[float] = None
- y: Optional[float] = None
- zone: Optional[UUID] = None
- building: Optional[UUID] = None
-
- class OperatorItem(BaseModel):
- id: str
- name: str
- phone: Optional[str] = None
- zones: Optional[str] = None
- groups: Optional[str] = None
- notes: Optional[str] = None
- building: Optional[UUID] = None
-
- class SubjectItem(BaseModel):
- id: str
- name: str
- role: Optional[str] = None
- phone: Optional[str] = None
- zones: Optional[str] = None
- groups: Optional[str] = None
- notes: Optional[str] = None
- building: Optional[UUID] = None
-
- class AlarmItem(BaseModel):
- id: str
- timestamp: Optional[str] = None
- type: Optional[str] = None
- status: Optional[str] = None
- gateway: Optional[UUID] = None
- gatewayMac: Optional[str] = None
- tracker: Optional[UUID] = None
- trackerBid: Optional[str] = None
- subject: Optional[UUID] = None
- subjectName: Optional[str] = None
- operator: Optional[UUID] = None
- operatorName: Optional[str] = None
- zone: Optional[UUID] = None
- zoneName: Optional[str] = None
- building: Optional[UUID] = None
-
- class TrackItem(BaseModel):
- id: str
- timestamp: Optional[str] = None
- type: Optional[str] = None
- status: Optional[str] = None
- gateway: Optional[UUID] = None
- gatewayMac: Optional[str] = None
- tracker: Optional[UUID] = None
- trackerMac: Optional[str] = None
- subject: Optional[str] = None
- subjectName: Optional[str] = None
- zone: Optional[str] = None
- zoneName: Optional[str] = None
- signal: Optional[float] = None
- building: Optional[UUID] = None
|