flask_more_smorest.perms.models.abstract_setting
Abstract UserSetting model for key-value storage.
Classes
|
Abstract UserSetting model for key-value storage. |
- class flask_more_smorest.perms.models.abstract_setting.AbstractUserSetting(**kwargs)[source]
Abstract UserSetting model for key-value storage.
This is an abstract base class - it does NOT create a database table. Subclasses must define concrete fields and table configuration.
Permission checks are delegated to the owning user by default (via UserOwnershipMixin). Override _can_read/_can_write/_can_create to customize.
Subclassing example:
from flask_more_smorest.perms import AbstractUserSetting class CustomUserSetting(AbstractUserSetting): __tablename__ = "user_setting" key: Mapped[str] = mapped_column(db.String(80), nullable=False) value: Mapped[str | None] = mapped_column(db.String(1024), nullable=True) __table_args__ = (db.UniqueConstraint("user_id", "key"),) # Optional: custom fields metadata: Mapped[dict] = mapped_column(db.JSON, default={}) encrypted: Mapped[bool] = mapped_column(db.Boolean, default=False)