fixed 补偿users.gitea_uid不存在的用户

This commit is contained in:
xxqfamous 2023-05-22 14:01:14 +08:00
parent 9859c30f9d
commit 65a00efd32
1 changed files with 13 additions and 0 deletions

View File

@ -15,6 +15,19 @@ namespace :repair_gitea_user do
user.is_sync_pwd = false
user.save!
success_count = success_count + 1
else
if interactor.result['message'].present? && interactor.result['message'].to_s.include?("user already exists")
uid = ActiveRecord::Base.connection.query_value("SELECT id FROM forgegitea.`user` WHERE forgegitea.`user`.name='#{user.login}' and forgegitea.`user`.email='#{user.mail}'")
if uid.present?
result = Gitea::User::GenerateTokenService.call(user.login, "abc12345678" )
if result['sha1'].present?
user.gitea_token = result['sha1']
user.gitea_uid = uid
user.is_sync_pwd = false
user.save!
end
end
end
end
rescue Exception => e
puts "repair gitea user: #{user.id}:#{user.login}:, error:#{e}"