forked from Trustie/forgeplus
新增:重置密码接口
This commit is contained in:
parent
3ede69e436
commit
04b1dc4655
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue