8000 feat: update user's password by `users_api` (#498) · Anhmike/influxdb-client-python@0722416 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0722416

Browse files
authored
feat: update user's password by users_api (influxdata#498)
1 parent 81f3e84 commit 0722416

File tree

4 files changed

+200
-30
lines changed

4 files changed

+200
-30
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## 1.33.0 [unreleased]
22

3+
### Features
4+
1.< 8000 /span> [#498](https://github.com/influxdata/influxdb-client-python/pull/498): Add possibility to update user's password by `users_api`
5+
36
### Bug Fixes
47
1. [#497](https://github.com/influxdata/influxdb-client-python/pull/497): Parsing InfluxDB response with new line character in CSV column [async/await]
58

influxdb_client/client/users_api.py

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"""
77

88
from typing import Union
9-
from influxdb_client import UsersService, User, Users, UserResponse
9+
from influxdb_client import UsersService, User, Users, UserResponse, PasswordResetBody
1010

1111

1212
class UsersApi(object):
@@ -36,30 +36,45 @@ def update_user(self, user: User) -> UserResponse:
3636
"""
3737
return self._service.patch_users_id(user_id=user.id, user=user)
3838

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+
3950
def delete_user(self, user: Union[str, User, UserResponse]) -> None:
4051
"""Delete a user.
4152
4253
:param user: user id or User
43-
:return: User
54+
:return: None
4455
"""
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)
5157

5258
return self._service.delete_users_id(user_id=user_id)
5359

5460
def find_users(self, **kwargs) -> Users:
5561
"""List all users.
5662
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`.
5965
:key str after: The last resource ID from which to seek from (but not including).
6066
This is to be used instead of `offset`.
6167
:key str name: The user name.
6268
:key str id: The user ID.
6369
:return: Buckets
6470
"""
6571
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

Comments
 (0)
0