| 123456789101112131415161718 |
- 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)
|