v0.8.7测试
This commit is contained in:
@@ -27,7 +27,7 @@ from schemas.admin import (
|
||||
AddPointsRequest, RevokeRequest, AddAdminRequest,
|
||||
AddStudentRequest,
|
||||
UpdateHomeworkStatusRequest, AddAttendanceRequest,
|
||||
UpdateAdminRequest, DeleteAdminRequest
|
||||
UpdateAdminRequest, DeleteAdminRequest, ResetPasswordRequest
|
||||
)
|
||||
from utils.response import success_response, error_response
|
||||
from utils.logger import get_logger
|
||||
@@ -439,7 +439,7 @@ async def delete_admin(request: Request, user_id: int):
|
||||
|
||||
|
||||
@router.post("/reset-password/{user_id}")
|
||||
async def reset_admin_password(request: Request, user_id: int):
|
||||
async def reset_admin_password(request: Request, user_id: int, req: ResetPasswordRequest):
|
||||
"""重置管理员密码(班主任)"""
|
||||
user = await get_current_user(request)
|
||||
is_teacher = await PermissionChecker.check_is_teacher(user["user_id"])
|
||||
@@ -457,8 +457,8 @@ async def reset_admin_password(request: Request, user_id: int):
|
||||
if target_user["user_type"] != "admin":
|
||||
return error_response(message="只能重置管理员密码", code=400)
|
||||
|
||||
# 生成新密码
|
||||
new_password = SecurityUtils.generate_random_password(8)
|
||||
# 使用传入的新密码
|
||||
new_password = req.new_password
|
||||
password_hash = SecurityUtils.sha1_md5_password(new_password)
|
||||
|
||||
# 更新密码
|
||||
@@ -471,6 +471,6 @@ async def reset_admin_password(request: Request, user_id: int):
|
||||
details=f"重置管理员密码: {target_user['real_name']}({target_user['username']})",
|
||||
ip=request.client.host
|
||||
)
|
||||
return success_response(data={"password": new_password}, message="密码重置成功")
|
||||
return success_response(message="密码重置成功")
|
||||
else:
|
||||
return error_response(message="密码重置失败")
|
||||
@@ -97,4 +97,9 @@ class UpdateAdminRequest(BaseModel):
|
||||
|
||||
class DeleteAdminRequest(BaseModel):
|
||||
"""删除管理员请求"""
|
||||
user_id: int = Field(..., description="用户ID")
|
||||
user_id: int = Field(..., description="用户ID")
|
||||
|
||||
|
||||
class ResetPasswordRequest(BaseModel):
|
||||
"""重置密码请求"""
|
||||
new_password: str = Field(..., min_length=6, max_length=50, description="新密码")
|
||||
Reference in New Issue
Block a user