Skip to content

Commit ea52a8b

Browse files
committed
Fix user update password
1 parent 8c3ac3b commit ea52a8b

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

backend/app/admin/api/v1/sys/user.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,7 @@ async def update_user_permission(
102102
async def update_user_password(
103103
db: CurrentSessionTransaction, request: Request, obj: ResetPasswordParam
104104
) -> ResponseModel:
105-
count = await user_service.update_password(
106-
db=db, user_id=request.user.id, hash_password=request.user.password, obj=obj
107-
)
105+
count = await user_service.update_password(db=db, user_id=request.user.id, obj=obj)
108106
if count > 0:
109107
return response_base.success()
110108
return response_base.fail()

backend/app/admin/service/user_service.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,17 +265,18 @@ async def update_email(*, db: AsyncSession, user_id: int, captcha: str, email: s
265265
return count
266266

267267
@staticmethod
268-
async def update_password(*, db: AsyncSession, user_id: int, hash_password: str, obj: ResetPasswordParam) -> int:
268+
async def update_password(*, db: AsyncSession, user_id: int, obj: ResetPasswordParam) -> int:
269269
"""
270270
更新当前用户密码
271271
272272
:param db: 数据库会话
273273
:param user_id: 用户 ID
274-
:param hash_password: 哈希密码
275274
:param obj: 密码重置参数
276275
:return:
277276
"""
278-
if hash_password and not password_verify(obj.old_password, hash_password):
277+
user = await user_dao.get(db, user_id)
278+
279+
if user.password and not password_verify(obj.old_password, user.password):
279280
raise errors.RequestError(msg='原密码错误')
280281

281282
if obj.new_password != obj.confirm_password:
@@ -284,7 +285,6 @@ async def update_password(*, db: AsyncSession, user_id: int, hash_password: str,
284285
await validate_new_password(db, user_id, obj.new_password)
285286
count = await user_dao.reset_password(db, user_id, obj.new_password)
286287

287-
user = await user_dao.get(db, user_id)
288288
history_obj = CreateUserPasswordHistoryParam(user_id=user.id, password=user.password)
289289
await password_security_service.save_password_history(db, history_obj)
290290
await user_dao.update_password_changed_time(db, user.id)

0 commit comments

Comments
 (0)