| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- """
- Pydantic schemas for Device model.
- """
- from datetime import datetime
- from pydantic import BaseModel
- class DeviceBase(BaseModel):
- """Base device schema."""
- mac_address: str
- class DeviceCreate(DeviceBase):
- """Schema for creating a device."""
- organization_id: int | None = None
- config: dict | None = None
- class DeviceUpdate(BaseModel):
- """Schema for updating a device."""
- organization_id: int | None = None
- status: str | None = None
- config: dict | None = None
- class DeviceResponse(DeviceBase):
- """Schema for device response."""
- id: int
- simple_id: int
- organization_id: int | None
- status: str
- last_seen_at: datetime | None
- config: dict
- created_at: datetime
- @property
- def display_name(self) -> str:
- """User-friendly device name."""
- return f"Receiver #{self.simple_id}"
- class Config:
- from_attributes = True
- class DeviceListResponse(BaseModel):
- """Schema for list of devices."""
- devices: list[DeviceResponse]
- total: int
|