|
- from pydantic import BaseModel
- from typing import Optional
- from uuid import UUID
- from typing import Optional, Union
- from typing import List
-
- class BuildingItem(BaseModel):
- id: UUID
- name: str
- city: Optional[str] = None
- address: Optional[str] = None
- latitude: Optional[float] = None
- longitude: Optional[float] = None
-
- class FloorItem(BaseModel):
- id: UUID
- name: str
- image: Optional[str] = None
- description: Optional[str] = None
- scale: Optional[float] = None
- building: Optional[UUID] = None
-
- class ZoneItem(BaseModel):
- id: UUID
- name: str
- groups: List[UUID]
- floor: Optional[UUID] = None
- building: Optional[UUID] = None
-
- class GatewayItem(BaseModel):
- id: UUID
- 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
- floor: Optional[UUID] = None
- building: Optional[UUID] = 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
- floor: Optional[UUID] = None
- building: Optional[UUID] = None
- battery: Optional[str] = None
- temperature: Optional[str] = None
- acceleration: Optional[str] = None
- heartRate: Optional[str] = None
- buttonPress: Optional[bool] = None
-
- class OperatorItem(BaseModel):
- id: UUID
- name: str
- phone: Optional[str] = None
- zones: List[UUID]
- groups: Optional[str] = None
- notes: Optional[str] = None
- building: Optional[UUID] = None
-
- class SubjectItem(BaseModel):
- id: UUID
- name: str
- role: Optional[str] = None
- phone: Optional[str] = None
- tracker: UUID
- groups: Optional[str] = None
- notes: Optional[str] = None
- building: Optional[UUID] = None
-
- class AlarmItem(BaseModel):
- id: UUID
- 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: UUID
- 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[UUID] = None
- subjectName: Optional[str] = None
- floor: Optional[UUID] = None
- signal: Optional[float] = None
- building: Optional[UUID] = None
-
- class TrackerZoneItem(BaseModel):
- id: UUID
- zoneList: List[UUID]
- tracker: UUID
- days: Optional[str] = None
- time: Optional[str] = None
-
- class ConfigItem(BaseModel):
- name: str
- min: str
- max: str
- pattern: str
- configs:List[str]
- propery: List[str]
- offset: str
|