Skip to content

angee.base.scoping

Transport-neutral queryset scoping adapters for Django models.

bind_actor

python
def bind_actor(instance: models.Model, actor: Any | None) -> None

Bind actor to instance when the model owns REBAC row policy.

aggregate_scoped_queryset

python
def aggregate_scoped_queryset(
        queryset: models.QuerySet[_ModelT]) -> models.QuerySet[_ModelT]

Return the aggregate-safe scoped queryset for a REBAC model.

read_scoped_queryset

python
def read_scoped_queryset(
        model: type[_ModelT],
        actor: Any | None,
        *,
        action: str = "read") -> models.QuerySet[_ModelT] | None

Return a queryset scoped to actor for models with a REBAC row policy.

write_scoped_queryset

python
def write_scoped_queryset(model: type[_ModelT]) -> models.QuerySet[_ModelT]

Return a write-target queryset with REBAC row scope and unredacted fields.

system_queryset

python
def system_queryset(
        model: type[_ModelT],
        *,
        using: str | None = None,
        lock: tuple[str, ...] | None = None) -> models.QuerySet[_ModelT]

Return the model's unscoped system queryset, with a third-party fallback.

requires_angee_rebac_contract

python
def requires_angee_rebac_contract(model: type[models.Model]) -> bool

Return whether model is an Angee model with declared row authorization.

Released under the AGPL-3.0 License.