Module for managing permissions and roles in the system. Provides functions to create, update, and query permissions and roles.
Summary
Functions
Add a permission to a role.
Create a new permission.
Create a new role.
Delete a permission.
Delete a role.
Get a permission by ID.
Get a permission by name.
Get a role by ID with preloaded permissions.
List all available permissions.
List permissions with pagination. Returns a tuple of {permissions, total_pages}.
List all roles.
List roles with pagination. Returns a tuple of {roles, total_pages}.
Get all direct permissions for a user.
Get all roles assigned to a user.
Get all users assigned to a role.
Lists all users assigned to a specific role by role name. Returns a list of User structs (not UserRoleAssignments).
Get users assigned to a role with pagination. Returns {users, total_pages}.
Remove a permission from a role.
Seed default permissions for the system.
Seed default roles for the system.
Set all permissions for a role, replacing existing ones.
Update a permission.
Update a role.
Functions
Add a permission to a role.
Create a new permission.
Create a new role.
Delete a permission.
Delete a role.
Get a permission by ID.
Get a permission by name.
Get a role by ID with preloaded permissions.
List all available permissions.
List permissions with pagination. Returns a tuple of {permissions, total_pages}.
List all roles.
List roles with pagination. Returns a tuple of {roles, total_pages}.
Get all direct permissions for a user.
Get all roles assigned to a user.
Get all users assigned to a role.
Lists all users assigned to a specific role by role name. Returns a list of User structs (not UserRoleAssignments).
Examples
iex> list_users_with_role_by_name("librarian")
[%User{}, ...]
Get users assigned to a role with pagination. Returns {users, total_pages}.
Remove a permission from a role.
Seed default permissions for the system.
Seed default roles for the system.
Set all permissions for a role, replacing existing ones.
Update a permission.
Update a role.