from __future__ import annotations from datetime import datetime from pydantic import BaseModel class DeviceGroupRead(BaseModel): id: int name: str description: str model_config = {"from_attributes": True} class DeviceGroupCreate(BaseModel): name: str description: str = "" class DeviceRead(BaseModel): id: int device_uid: str name: str device_type: str status: str firmware_version: str ip_address: str group_id: int | None owner_id: int | None last_seen_at: datetime | None created_at: datetime model_config = {"from_attributes": True} class DeviceCreate(BaseModel): device_uid: str name: str device_type: str = "" group_id: int | None = None owner_id: int | None = None firmware_version: str = "" class DeviceUpdate(BaseModel): name: str | None = None device_type: str | None = None status: str | None = None firmware_version: str | None = None group_id: int | None = None owner_id: int | None = None