|
6 | 6 | """
|
7 | 7 |
|
8 | 8 | from typing import Union
|
9 |
| -from influxdb_client import UsersService, User, Users, UserResponse |
| 9 | +from influxdb_client import UsersService, User, Users, UserResponse, PasswordResetBody |
10 | 10 |
|
11 | 11 |
|
12 | 12 | class UsersApi(object):
|
@@ -36,30 +36,45 @@ def update_user(self, user: User) -> UserResponse:
|
36 | 36 | """
|
37 | 37 | return self._service.patch_users_id(user_id=user.id, user=user)
|
38 | 38 |
|
| 39 | + def update_password(self, user: Union[str, User, UserResponse], password: str) -> None: |
| 40 | + """Update a password. |
| 41 | +
|
| 42 | + :param user: User to update password (required) |
| 43 | + :param password: New password (required) |
| 44 | + :return: None |
| 45 | + """ |
| 46 | + user_id = self._user_id(user) |
| 47 | + |
| 48 | + return self._service.post_users_id_password(user_id=user_id, password_reset_body=PasswordResetBody(password)) |
| 49 | + |
39 | 50 | def delete_user(self, user: Union[str, User, UserResponse]) -> None:
|
40 | 51 | """Delete a user.
|
41 | 52 |
|
42 | 53 | :param user: user id or User
|
43 |
| - :return: User |
| 54 | + :return: None |
44 | 55 | """
|
45 |
| - if isinstance(user, User): |
46 |
| - user_id = user.id |
47 |
| - elif isinstance(user, UserResponse): |
48 |
| - user_id = user.id |
49 |
| - else: |
50 |
| - user_id = user |
| 56 | + user_id = self._user_id(user) |
51 | 57 |
|
52 | 58 | return self._service.delete_users_id(user_id=user_id)
|
53 | 59 |
|
54 | 60 | def find_users(self, **kwargs) -> Users:
|
55 | 61 | """List all users.
|
56 | 62 |
|
57 |
| - :key int offset: Offset for pagination |
58 |
| - :key int limit: Limit for pagination |
| 63 | + :key int offset: The offset for pagination. The number of records to skip. |
| 64 | + :key int limit: Limits the number of records returned. Default is `20`. |
59 | 65 | :key str after: The last resource ID from which to seek from (but not including).
|
60 | 66 | This is to be used instead of `offset`.
|
61 | 67 | :key str name: The user name.
|
62 | 68 | :key str id: The user ID.
|
63 | 69 | :return: Buckets
|
64 | 70 | """
|
65 | 71 | return self._service.get_users(**kwargs)
|
| 72 | + |
| 73 | + def _user_id(self, user: Union[str, User, UserResponse]): |
| 74 | + if isinstance(user, User): |
| 75 | + user_id = user.id |
| 76 | + elif isinstance(user, UserResponse): |
| 77 | + user_id = user.id |
| 78 | + else: |
| 79 | + user_id = user |
| 80 | + return user_id |
0 commit comments