24 lines
583 B
Python

from __future__ import annotations
from datetime import datetime
from typing import Optional, Dict, Any
from pydantic import BaseModel, Field, ConfigDict
class LogCreate(BaseModel):
level: str = Field(..., description="Log level: info/warning/error/debug")
source: Optional[str] = None
message: str
details: Optional[Dict[str, Any]] = None
host_id: Optional[str] = None
task_id: Optional[str] = None
schedule_id: Optional[str] = None
class LogOut(LogCreate):
id: int
created_at: datetime
model_config = ConfigDict(from_attributes=True)