""" 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