Skip to content
This repository was archived by the owner on Sep 22, 2023. It is now read-only.

Commit ca07ff4

Browse files
committed
Add command to update user's password
1 parent 77213a9 commit ca07ff4

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

src/ai/backend/client/auth.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,19 @@ async def logout(cls) -> None:
105105
rqst = Request(cls.session, 'POST', '/server/logout')
106106
async with rqst.fetch() as resp:
107107
resp.raw_response.raise_for_status()
108+
109+
@api_function
110+
@classmethod
111+
async def update_password(cls, old_password: str, new_password: str, new_password2: str) -> dict:
112+
"""
113+
Update user's password. This API works only for account owner.
114+
"""
115+
from .request import Request
116+
rqst = Request(cls.session, 'POST', '/auth/update-password')
117+
rqst.set_json({
118+
'old_password': old_password,
119+
'new_password': new_password,
120+
'new_password2': new_password2,
121+
})
122+
async with rqst.fetch() as resp:
123+
return await resp.json()

src/ai/backend/client/cli/config.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,24 @@ def logout():
9797
pass
9898
except Exception as e:
9999
print_error(e)
100+
101+
102+
@main.command()
103+
@click.argument('old_password', metavar='OLD_PASSWORD')
104+
@click.argument('new_password', metavar='NEW_PASSWORD')
105+
@click.argument('new_password2', metavar='NEW_PASSWORD2')
106+
def update_password(old_password, new_password, new_password2):
107+
'''
108+
Update user's password.
109+
'''
110+
config = get_config()
111+
if config.endpoint_type != 'session':
112+
print_warn('To update password, your endpoint type must be "session".')
113+
raise click.Abort()
114+
115+
with Session() as session:
116+
try:
117+
session.Auth.update_password(old_password, new_password, new_password2)
118+
print_done('Password updated.')
119+
except Exception as e:
120+
print_error(e)

0 commit comments

Comments
 (0)