flask_more_smorest.perms.base_perms_model
Base permission-aware model for Flask-More-Smorest.
Classes
|
Base model with permission checking. |
- class flask_more_smorest.perms.base_perms_model.BasePermsModel(**kwargs)[source]
Base model with permission checking.
- perms_disabled
Disable permission checks (default: False)
Example
>>> class Article(BasePermsModel): ... title: Mapped[str] = mapped_column(sa.String(200)) ... def _can_write(self, user) -> bool: ... return user is not None and self.user_id == user.id
- perms_disabled = False
- classmethod bypass_perms(cls)[source]
Temporarily disable permission checking for this model class.
Example
>>> with Article.bypass_perms(): ... article.delete() # No permission check
- classmethod get_by(**kwargs)[source]
Get resource by field values with permission check.
- Return type:
Optional[Self]- Returns:
Instance if found and can_read() is True None if not found None if found but can_read() is False and RETURN_404_ON_ACCESS_DENIED is True
- Raises:
ForbiddenError – If found but can_read() is False