def add_perm(ctx, perm): """ Add a new permission. A permission defines a particular action that a user can perform. A permission is independent of roles and are added to roles later. Args: perm (hydra_complexmodels.Perm): The new permission. Returns: hydra_complexmodels.Perm: The new permission """ perm_i = users.add_perm(perm, **ctx.in_header.__dict__) return Perm(perm_i)
def get_user_permissions(ctx, user_id): """ Get all the permissions granted to the user, based on all the roles that the user is in. Args: user_id (int): The user whose permissions you want Returns: List(hydra_complexmodels.Perm): The user's permissions Raises: ResourceNotFoundError: If the user does not exist """ perms = users.get_user_permissions(user_id, **ctx.in_header.__dict__) return [Perm(p) for p in perms]
def get_all_perms(ctx): """ Get all permissions Args: Returns: List(hydra_complexmodels.Perm): All the permissions in the system Raises: """ all_perm_dicts = users.get_all_perms(**ctx.in_header.__dict__) all_perm_cms = [Perm(p) for p in all_perm_dicts] return all_perm_cms
def get_perm_by_code(ctx, perm_code): """ Get a permission by its code. Permission IDS change between hydra instances. Codes are more stable. Args: perm_id (int): The code of the permission. Returns: hydra_complexmodels.Perm: The permission Raises: ResourceNotFoundError: If the permission does not exist """ perm = users.get_perm_by_code(perm_code, **ctx.in_header.__dict__) perm_cm = Perm(perm) return perm_cm
def get_perm(ctx, perm_id): """ Get a permission, by ID Args: perm_id (int): The ID of the permission Returns: hydra_complexmodels.Perm: The permission Raises: ResourceNotFoundError: If the permission does not exist """ perm = users.get_perm(perm_id, **ctx.in_header.__dict__) perm_cm = Perm(perm) return perm_cm