from typing import Optional, Dict from datetime import datetime from sqlmodel import SQLModel, Field from sqlalchemy import Column, JSON class StaffActionLog(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) action: str action_time: datetime = Field(default_factory=datetime.now) target_type: str before: Dict = Field(default_factory=dict, sa_column=Column(JSON)) after: Dict = Field(default_factory=dict, sa_column=Column(JSON)) __tablename__ = "staff_action_logs"