|
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