settings.py 593 B

1234567891011121314151617181920212223
  1. """
  2. System settings model.
  3. """
  4. from datetime import datetime
  5. from sqlalchemy import JSON, String
  6. from sqlalchemy.orm import Mapped, mapped_column
  7. from app.core.database import Base
  8. class Settings(Base):
  9. """System settings key-value store."""
  10. __tablename__ = "settings"
  11. id: Mapped[int] = mapped_column(primary_key=True)
  12. key: Mapped[str] = mapped_column(String(255), unique=True, nullable=False)
  13. value: Mapped[dict] = mapped_column(JSON, nullable=False)
  14. updated_at: Mapped[datetime] = mapped_column(
  15. default=datetime.utcnow, onupdate=datetime.utcnow
  16. )