新增:重置密码接口

This commit is contained in:
yystopf 2025-09-19 17:03:55 +08:00
parent 3ede69e436
commit 04b1dc4655
2 changed files with 19 additions and 1 deletions

View File

@ -2,7 +2,7 @@ class Api::V1::UsersController < Api::V1::BaseController
include AesCryptHelper
before_action :load_observe_user, except: [:check_user_id, :check_user_login]
before_action :check_auth_for_observe_user, except: [:check_user_id, :check_user_login]
before_action :check_auth_for_observe_user, except: [:check_user_id, :check_user_login, :reset_password]
def check_user_id
return tip_exception(-1, "用户ID不存在") unless params[:user_id].present? && User.exists?(id: params[:user_id])
@ -117,6 +117,23 @@ class Api::V1::UsersController < Api::V1::BaseController
end
end
def reset_password
return render_error("该用户没有重置密码的权限") if @observe_user.organizations.joins(teams: :team_users).where(teams: {authorize: 'owner'}, team_users: {user_id: current_user.id}).blank?
sync_params={
password: '12345678',
email: @observe_user.mail,
login_name: @observe_user.login,
source_id: 0
}
interactor = Gitea::User::UpdateInteractor.call(@observe_user.login, sync_params)
if interactor.success?
@observe_user.update_attribute(:password, '12345678')
render_ok
else
render_error(interactor.error)
end
end
def check_user_can_delete
org_ids = TeamUser.where(user_id: @observe_user.id).pluck(:organization_id) | OrganizationUser.where(user_id: @observe_user.id).pluck(:organization_id)

View File

@ -81,6 +81,7 @@ defaults format: :json do
post :check_user_can_delete
patch :update_email
patch :update_phone
patch :reset_password
end
end
scope module: :users do