📝 Add model-level permissions example

This commit is contained in:
Brian Wiborg 2025-09-27 14:09:14 +02:00
parent 3d61ecd216
commit 73785faebf
No known key found for this signature in database

View file

@ -225,7 +225,7 @@ ohmyapi createsuperuser
## Permissions ## Permissions
### API-Level ### API-Level Permissions
Use FastAPI's `Depends` pattern to implement API-level access-control. Use FastAPI's `Depends` pattern to implement API-level access-control.
@ -255,3 +255,23 @@ async def list(user: auth.User = Depends(permissions.require_authenticated)):
... ...
``` ```
### Model-Level Permissions
Use Tortoise's `Manager` to implement model-layer permissions.
```python
from ohmyapi.db import Manager
from typing import Callable
class TeamManager(Manager):
async def for_user(self, user):
return await self.filter(members=user).all()
class Team(Model):
[...]
class Meta:
manager = TeamManager()
```