""" @model AuditBaseMixin (Backend/app/models/audit_base.py) @purpose Reusable SQLAlchemy audit mixin providing standardized timestamps, user tracking, soft delete, and optimistic locking version counters across all 3 databases. """ from sqlalchemy import Column, DateTime, String, Integer, func from sqlalchemy.orm import declarative_mixin @declarative_mixin class AuditBaseMixin: created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False) created_by = Column(String(36), nullable=True) updated_by = Column(String(36), nullable=True) deleted_at = Column(DateTime(timezone=True), nullable=True) deleted_by = Column(String(36), nullable=True) version = Column(Integer, default=1, nullable=False)