Roles¶
roles
¶
Role adapter interface.
Defines the abstract interface for role-based access control (RBAC) operations. Handles roles, permissions, and their assignments to users.
Classes¶
RoleAdapter
¶
Bases: ABC
Abstract base class for role and permission database operations.
Implementations must provide database-specific logic for RBAC. The core business logic remains database-agnostic.
Functions¶
create_role
abstractmethod
¶
Create a new role.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Unique role name |
required |
description |
str | None
|
Optional role description |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Created role object |
Source code in fastauth/adapters/base/roles.py
get_role_by_name
abstractmethod
¶
Retrieve a role by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Role name |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Role object if found, None otherwise |
create_permission
abstractmethod
¶
Create a new permission.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Unique permission name |
required |
description |
str | None
|
Optional permission description |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Created permission object |
Source code in fastauth/adapters/base/roles.py
get_permission_by_name
abstractmethod
¶
Retrieve a permission by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name |
str
|
Permission name |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Permission object if found, None otherwise |
assign_role_to_user
abstractmethod
¶
Assign a role to a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
role_id |
UUID
|
Role's unique identifier |
required |
remove_role_from_user
abstractmethod
¶
Remove a role from a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
role_id |
UUID
|
Role's unique identifier |
required |
get_user_roles
abstractmethod
¶
Get all roles assigned to a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
Returns:
| Type | Description |
|---|---|
list[Any]
|
List of role objects |
assign_permission_to_role
abstractmethod
¶
Assign a permission to a role.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
role_id |
UUID
|
Role's unique identifier |
required |
permission_id |
UUID
|
Permission's unique identifier |
required |
Source code in fastauth/adapters/base/roles.py
get_role_permissions
abstractmethod
¶
Get all permissions assigned to a role.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
role_id |
UUID
|
Role's unique identifier |
required |
Returns:
| Type | Description |
|---|---|
list[Any]
|
List of permission objects |
Source code in fastauth/adapters/base/roles.py
get_user_permissions
abstractmethod
¶
Get all permissions for a user (from all their roles).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
Returns:
| Type | Description |
|---|---|
list[Any]
|
List of permission objects |