Users
albert.collections.users.UserCollection
Bases: BaseCollection
UserCollection is a collection class for managing User entities in the Albert platform.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session
|
AlbertSession
|
The Albert session instance. |
required |
Methods:
Name | Description |
---|---|
get_current_user |
Retrieves the current authenticated user. |
get_by_id |
Retrieves a User by its ID. |
search |
Searches for users matching the provided filters. |
get_all |
Retrieve fully hydrated User entities with optional filters. |
create |
Create a new User |
update |
Update a User entity. |
Attributes:
Name | Type | Description |
---|---|---|
base_path |
|
Source code in src/albert/collections/users.py
get_current_user
get_current_user() -> User
Retrieves the current authenticated user.
Returns:
Type | Description |
---|---|
User
|
The current User object. |
Source code in src/albert/collections/users.py
get_by_id
search
search(
*,
text: str | None = None,
sort_by: str | None = None,
order_by: OrderBy = DESCENDING,
roles: list[str] | None = None,
teams: list[str] | None = None,
locations: list[str] | None = None,
status: list[Status] | None = None,
user_id: list[UserId] | None = None,
subscription: list[str] | None = None,
search_fields: list[str] | None = None,
facet_text: str | None = None,
facet_field: str | None = None,
contains_field: list[str] | None = None,
contains_text: list[str] | None = None,
mentions: bool | None = None,
offset: int = 0,
max_items: int | None = None,
) -> Iterator[UserSearchItem]
Searches for users matching the provided filters.
⚠️ This method returns partial (unhydrated) search results for performance.
To retrieve fully detailed entities, use :meth:get_all
instead.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text
|
str
|
Free text search across multiple user fields. |
None
|
sort_by
|
str
|
Field to sort results by. |
None
|
order_by
|
OrderBy
|
Sort order, ascending or descending. |
DESCENDING
|
roles
|
list[str]
|
Filter by assigned roles. |
None
|
teams
|
list[str]
|
Filter by teams. |
None
|
locations
|
list[str]
|
Filter by associated location IDs. |
None
|
status
|
list[Status]
|
Filter by user status. |
None
|
user_id
|
list[str]
|
Filter by specific user IDs. |
None
|
subscription
|
list[str]
|
Filter by subscription type. |
None
|
search_fields
|
list[str]
|
Fields to apply text search across. |
None
|
facet_text
|
str
|
Text to search within facets. |
None
|
facet_field
|
str
|
Facet field to apply facet_text on. |
None
|
contains_field
|
list[str]
|
Field names for "contains" filter logic. |
None
|
contains_text
|
list[str]
|
Text snippets to search in "contains" fields. |
None
|
mentions
|
bool
|
Filter by users who are mentioned. |
None
|
offset
|
int
|
Number of results to skip for pagination. Default is 0. |
0
|
max_items
|
int
|
Maximum number of items to return in total. If None, fetches all available items. |
None
|
Returns:
Type | Description |
---|---|
Iterator[UserSearchItem]
|
An iterator of partial user results matching the criteria. |
Source code in src/albert/collections/users.py
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
|
get_all
get_all(
*,
status: Status | None = None,
type: UserFilterType | None = None,
id: list[UserId] | None = None,
start_key: str | None = None,
max_items: int | None = None,
) -> Iterator[User]
Retrieve fully hydrated User entities with optional filters.
This method uses get_by_id
to hydrate the results for convenience.
Use :meth:search
for better performance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
status
|
Status
|
Filter by user status. |
None
|
type
|
UserFilterType
|
Attribute name to filter by (e.g., 'role'). |
None
|
id
|
list[str]
|
Values of the attribute to filter on. |
None
|
start_key
|
str
|
The starting point for the next set of results. |
None
|
max_items
|
int
|
Maximum number of items to return in total. If None, fetches all available items. |
None
|
Returns:
Type | Description |
---|---|
Iterator[User]
|
User entities. |
Source code in src/albert/collections/users.py
create
Create a new User
Parameters:
Name | Type | Description | Default |
---|---|---|---|
user
|
User
|
The user to create |
required |
Returns:
Type | Description |
---|---|
User
|
The created User |
Source code in src/albert/collections/users.py
update
Update a User entity.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
user
|
User
|
The updated User entity. |
required |
Returns:
Type | Description |
---|---|
User
|
The updated User entity as returned by the server. |