from pydantic import BaseModel from typing import Optional, Dict, Any from datetime import datetime class LogBase(BaseModel): user_id: Optional[str] = None user_email: Optional[str] = None user_ip: Optional[str] = None action: str entity_type: Optional[str] = None entity_id: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = {} class LogCreate(LogBase): pass class LogResponse(BaseModel): id: str user_id: Optional[str] = None user_email: Optional[str] = None user_ip: Optional[str] = None action: str entity_type: Optional[str] = None entity_id: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = {} created_at: datetime model_config = {"extra": "allow"}