UserProxy Class
An interface to interact with a specific user.
This class should not be instantiated directly. Instead, use the get_user_client method.
Constructor
UserProxy(client_connection: CosmosClientConnection, id: str, database_link: str, properties: CosmosDict | None = None)
Parameters
| Name | Description |
|---|---|
|
client_connection
Required
|
|
|
id
Required
|
|
|
database_link
Required
|
|
|
properties
|
Default value: None
|
Methods
| create_permission |
Create a permission for the user. To update or replace an existing permision, use the upsert_permission method. |
| delete_permission |
Delete the specified permission from the user. If the permission does not already exist, an exception is raised. |
| get_permission |
Get the permission identified by id. |
| list_permissions |
List all permission for the user. |
| query_permissions |
Return all permissions matching the given query. |
| read |
Read user properties. |
| replace_permission |
Replaces the specified permission if it exists for the user. If the permission does not already exist, an exception is raised. |
| upsert_permission |
Insert or update the specified permission. If the permission already exists in the container, it is replaced. If the permission does not exist, it is inserted. |
create_permission
Create a permission for the user.
To update or replace an existing permision, use the upsert_permission method.
create_permission(body: dict[str, Any], **kwargs: Any) -> Permission
Parameters
| Name | Description |
|---|---|
|
body
Required
|
A dict-like object representing the permission to create. |
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
|
A dict representing the new permission. |
Exceptions
| Type | Description |
|---|---|
|
If the given permission couldn't be created. |
delete_permission
Delete the specified permission from the user.
If the permission does not already exist, an exception is raised.
delete_permission(permission: str | Permission | Mapping[str, Any], **kwargs) -> None
Parameters
| Name | Description |
|---|---|
|
permission
Required
|
The ID (name), dict representing the properties or Permission instance of the permission to be replaced. |
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
Exceptions
| Type | Description |
|---|---|
|
The permission wasn't deleted successfully. |
|
|
The permission does not exist for the user. |
get_permission
Get the permission identified by id.
get_permission(permission: str | Permission | Mapping[str, Any], **kwargs: Any) -> Permission
Parameters
| Name | Description |
|---|---|
|
permission
Required
|
The ID (name), dict representing the properties or Permission instance of the permission to be retrieved. |
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
|
A dict representing the retrieved permission. |
Exceptions
| Type | Description |
|---|---|
|
If the given permission couldn't be retrieved. |
list_permissions
List all permission for the user.
list_permissions(max_item_count: int | None = None, *, response_hook: Callable[[Mapping[str, Any], ItemPaged[dict[str, Any]]], None] | None = None, **kwargs: Any) -> ItemPaged[dict[str, Any]]
Parameters
| Name | Description |
|---|---|
|
max_item_count
|
Max number of permissions to be returned in the enumeration operation. Default value: None
|
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An Iterable of permissions (dicts). |
query_permissions
Return all permissions matching the given query.
query_permissions(query: str, parameters: list[dict[str, Any]] | None = None, max_item_count: int | None = None, *, response_hook: Callable[[Mapping[str, Any], ItemPaged[dict[str, Any]]], None] | None = None, **kwargs: Any) -> ItemPaged[dict[str, Any]]
Parameters
| Name | Description |
|---|---|
|
query
Required
|
The Azure Cosmos DB SQL query to execute. |
|
parameters
|
Optional array of parameters to the query. Ignored if no query is provided. Default value: None
|
|
max_item_count
|
Max number of permissions to be returned in the enumeration operation. Default value: None
|
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. Default value: None
|
Returns
| Type | Description |
|---|---|
|
An Iterable of permissions (dicts). |
read
Read user properties.
read(**kwargs: Any) -> CosmosDict
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
|
A dictionary of the retrieved user properties. |
Exceptions
| Type | Description |
|---|---|
|
If the given user couldn't be retrieved. |
replace_permission
Replaces the specified permission if it exists for the user.
If the permission does not already exist, an exception is raised.
replace_permission(permission: str | Permission | Mapping[str, Any], body: dict[str, Any], **kwargs) -> Permission
Parameters
| Name | Description |
|---|---|
|
permission
Required
|
The ID (name), dict representing the properties or Permission instance of the permission to be replaced. |
|
body
Required
|
A dict-like object representing the permission to replace. |
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
|
A dict representing the permission after replace went through. |
Exceptions
| Type | Description |
|---|---|
|
If the replace operation failed or the permission with given id does not exist. |
upsert_permission
Insert or update the specified permission.
If the permission already exists in the container, it is replaced. If the permission does not exist, it is inserted.
upsert_permission(body: dict[str, Any], **kwargs: Any) -> Permission
Parameters
| Name | Description |
|---|---|
|
body
Required
|
A dict-like object representing the permission to update or insert. |
Keyword-Only Parameters
| Name | Description |
|---|---|
|
response_hook
|
A callable invoked with the response metadata. |
Returns
| Type | Description |
|---|---|
|
A dict representing the upserted permission. |
Exceptions
| Type | Description |
|---|---|
|
If the given permission could not be upserted. |