from typing import Optional from datetime import datetime from pydantic import BaseModel, Field from app.models.log import LogLevel # Shared properties class LogBase(BaseModel): device_id: str level: LogLevel = LogLevel.INFO message: str source: Optional[str] = None # Properties to receive on log creation class LogCreate(LogBase): pass # Properties shared by models stored in DB class LogInDBBase(LogBase): id: int timestamp: datetime class Config: orm_mode = True # Properties to return to client class LogResponse(LogInDBBase): pass