from sqlalchemy import Column, DateTime, String, Text, text from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.sql import func from sqlalchemy.types import JSON from backend.app.db.base import Base class AuditLog(Base): __tablename__ = "audit_logs" id = Column(UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()")) actor_id = Column(UUID(as_uuid=True)) action = Column(String, nullable=False) target_type = Column(String, nullable=False) target_id = Column(UUID(as_uuid=True)) detail = Column(JSON) ip = Column(Text) created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)