| @@ -15,6 +15,19 @@ namespace :repair_gitea_user do | |||||
| user.is_sync_pwd = false | user.is_sync_pwd = false | ||||
| user.save! | user.save! | ||||
| success_count = success_count + 1 | 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 | end | ||||
| rescue Exception => e | rescue Exception => e | ||||
| puts "repair gitea user: #{user.id}:#{user.login}:, error:#{e}" | puts "repair gitea user: #{user.id}:#{user.login}:, error:#{e}" | ||||