From ed02967a40083b7268c9c90a3d979e81a373d4a2 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Fri, 17 Jul 2020 16:57:53 +0800 Subject: [PATCH] Change Gitea User Mail Regex --- app/tasks/check_gitea_user.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/tasks/check_gitea_user.rb b/app/tasks/check_gitea_user.rb index 135bac35b..eb2888672 100644 --- a/app/tasks/check_gitea_user.rb +++ b/app/tasks/check_gitea_user.rb @@ -4,14 +4,19 @@ class CheckGiteaUser def call SyncLog.sync_log("=====begin to check gitea_user======") - all_users = User.select(:id, :gitea_token, :gitea_uid, :mail, :type,:login).where(type: "User", gitea_token: [nil, ""], gitea_uid: [nil, ""]) + all_users = User.select(:id, :gitea_token, :gitea_uid, :mail, :type,:login,:platform).where(type: "User", gitea_token: [nil, ""], gitea_uid: [nil, ""]) if all_users.present? new_password = "12345678" all_users.each do |user| begin SyncLog.sync_log("=====check_user_login_is:#{user.login}======") + EMAIL_REGEX = /^[a-zA-Z0-9_\-.]+@[a-zA-Z0-9_\-.]+(\.[a-zA-Z0-9_-]+)+$/ + user_mail = user&.mail.present? ? user.mail : "#{user.login}@example.com" + unless user_mail.match(EMAIL_REGEX).present? + user_mail = "#{user.login}@example.com" + end ActiveRecord::Base.transaction do - interactor = Gitea::RegisterInteractor.call({username: user.login, email: user&.mail.present? ? user.mail : "#{user.login}@example.com", password: new_password}) + interactor = Gitea::RegisterInteractor.call({username: user.login, email: user_mail, password: new_password}) if interactor.success? gitea_user = interactor.result result = Gitea::User::GenerateTokenService.new(user.login, new_password).call