From 49a94c15858c02c5c75f02d2e0432cee1a1e005d Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 15:40:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9gitea=E7=9A=84=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/accounts_controller.rb | 38 +++++------------------ app/services/gitea/user/update_service.rb | 14 +++++---- 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 650cf5ea0..0e2a4d733 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -46,10 +46,6 @@ class AccountsController < ApplicationController u = User.find_by(login: params[:old_user_login]) user_mail = u.try(:mail) - Rails.logger.info("#########____params[:old_user_login]________#######{params[:old_user_login]}") - Rails.logger.info("#########_____update_user_params________#######{user_params}") - Rails.logger.info("#########_____update_user_extension_params________#######{user_extension_params}") - Rails.logger.info("#########____u________#######{u&.id}") if u.present? ue = u.user_extension @@ -68,37 +64,19 @@ class AccountsController < ApplicationController ue.save! u.save! + sync_params = {} + if (user_params["mail"] && user_params["mail"] != user_mail) || (user_params["login"] && user_params["login"] != params[:old_user_login]) + sync_params.merge(email: user_params["mail"], username: user_params["login"]) + end - - # if u.update!(user_params) - # Rails.logger.info("#####______update_success_________###########") - # else - # Rails.logger.info("#####______update_error_________###########{u.errors.messages}") - # end - # - # if u.user_extension.update!(user_extension_params) - # Rails.logger.info("#####______update_extension_+success_________###########") - # else - # Rails.logger.info("#####______update_extension___error_________###########{u.user_extension.errors.messages}") - # end + if sync_params.present? + update_gitea = Gitea::User::UpdateService.call(u.gitea_token, sync_params) + Rails.logger.info("########________update_gitea__________###########__status:_#{update_gitea.status}") + end end - sync_params = {} - if user_params["mail"] && user_params["mail"] != user_mail - sync_params.merge(email: user_params["mail"]) - end - if user_params["login"] && user_params["login"] != params[:old_user_login] - sync_params.merge(username: user_params["login"]) - end - - sync_params = sync_params.compact - if sync_params.present? - admin_user = User.find(1) - update_gitea = Gitea::User::UpdateService.call(admin_user, sync_params) - Rails.logger.info("########________update_gitea__________###########__status:_#{update_gitea.status}") - end render_ok({}) end rescue Exception => e diff --git a/app/services/gitea/user/update_service.rb b/app/services/gitea/user/update_service.rb index d92bd7aeb..c69fbbc34 100644 --- a/app/services/gitea/user/update_service.rb +++ b/app/services/gitea/user/update_service.rb @@ -1,6 +1,6 @@ class Gitea::User::UpdateService < Gitea::ClientService - attr_reader :admin_user, :params - + # attr_reader :admin_user, :params + attr_reader :token, :email, :username # 只有管理员才能修改用户信息 # params: # admin boolean @@ -18,8 +18,9 @@ class Gitea::User::UpdateService < Gitea::ClientService # source_id integer($int64) # website string - def initialize(admin_user, params={}) - @admin_user = admin_user + def initialize(token, params={}) + @token = token + @params = params end def call @@ -27,11 +28,12 @@ class Gitea::User::UpdateService < Gitea::ClientService end private + def url - "/admin/users/#{params[:login_name]}" + "/admin/users/#{username}" end def data_params - Hash.new.merge(token: admin_user.gitea_token, data: params) + Hash.new.merge(token: token, data: params) end end