from datetime import datetime from typing import Optional from pydantic import BaseModel class AlertEventOut(BaseModel): id: int device_id: int device_name: str = "" device_ip: str = "" device_type: str = "" location: str = "" project_name: str = "" alert_type: str message: str start_at: datetime end_at: Optional[datetime] = None duration_minutes: Optional[int] = None is_resolved: bool notification_sent: bool created_at: datetime model_config = {"from_attributes": True} class AlertEventQuery(BaseModel): page: int = 1 page_size: int = 20 device_id: Optional[int] = None alert_type: Optional[str] = None is_resolved: Optional[bool] = None start_time: Optional[datetime] = None end_time: Optional[datetime] = None