"""django-guardian helpers for object-level permissions."""

from guardian.shortcuts import assign_perm, get_objects_for_user, remove_perm


def grant_object_perm(user, perm: str, obj) -> None:
    assign_perm(perm, user, obj)


def revoke_object_perm(user, perm: str, obj) -> None:
    remove_perm(perm, user, obj)


def objects_for_user(user, perms: list[str], model_cls, **kwargs):
    return get_objects_for_user(user, perms, klass=model_cls, **kwargs)
