| @@ -8,4 +8,9 @@ class SyncLog | |||||
| @my_log ||= Logger.new("#{Rails.root}/log/sync_project_log.log") | @my_log ||= Logger.new("#{Rails.root}/log/sync_project_log.log") | ||||
| @my_log.debug(message) unless message.nil? | @my_log.debug(message) unless message.nil? | ||||
| end | end | ||||
| def self.empty_repo_project_log(message=nil) | |||||
| empt_log ||= Logger.new("#{Rails.root}/log/empty_repo_project_log.log") | |||||
| empt_log.debug(message) unless message.nil? | |||||
| end | |||||
| end | end | ||||
| @@ -0,0 +1,34 @@ | |||||
| class CheckGiteaUser | |||||
| # 运行示例: 检查哪些用户的gitea不存在,bundle exec rails runner "CheckMirrorRake.new.call()" | |||||
| def call | |||||
| SyncLog.sync_log("=====begin to check gitea_user======") | |||||
| all_users = User.select(:id, :gitea_token, :gitea_uid, :mail, :type).where(type: "User", gitea_token: [nil, ""], gitea_uid: [nil, ""]) | |||||
| if all_users.present? | |||||
| new_password = "12345678" | |||||
| all_users.each do |user| | |||||
| SyncLog.sync_log("=====check_user_login_is:#{user.login}======") | |||||
| ActiveRecord::Base.transaction do | |||||
| interactor = Gitea::RegisterInteractor.call({username: user.login, email: user&.mail.present? ? user.mail : "#{user.login}@example.com", password: new_password}) | |||||
| if interactor.success? | |||||
| gitea_user = interactor.result | |||||
| result = Gitea::User::GenerateTokenService.new(user.login, new_password).call | |||||
| user.gitea_token = result['sha1'] | |||||
| user.gitea_uid = gitea_user['id'] | |||||
| if user.save! | |||||
| SyncLog.sync_log("=================create_gitea_user_success_login==#{user.login}") | |||||
| else | |||||
| SyncLog.sync_log("=================create_gitea_user_success_login==#{user.login}") | |||||
| end | |||||
| else | |||||
| SyncLog.sync_log("=============sync_to_user_failed,user_login====#{user.login}") | |||||
| end | |||||
| end | |||||
| rescue Exception => e | |||||
| SyncLog.sync_log("=================create_gitea_user_has_erros=#{user.login}===#{e}") | |||||
| end | |||||
| end | |||||
| SyncLog.sync_log("=====end_to_check_gitea_user=====") | |||||
| end | |||||
| end | |||||
| @@ -8,8 +8,7 @@ class CheckMirrorRake | |||||
| all_projects = Project.select(:id,:identifier,:user_id, :gpid, :forked_count,:is_public).includes(:owner, :repository) | all_projects = Project.select(:id,:identifier,:user_id, :gpid, :forked_count,:is_public).includes(:owner, :repository) | ||||
| all_projects.each do |project| | all_projects.each do |project| | ||||
| SyncLog.sync_log("=====check_project_id:#{project.id}======") | SyncLog.sync_log("=====check_project_id:#{project.id}======") | ||||
| # CheckMirrorJob.perform_later(project) | |||||
| if project.owner.present? | |||||
| if project&.owner&.login.present? && | |||||
| response = Gitea::Repository::Branches::ListService.new(project.owner, project.identifier).call | response = Gitea::Repository::Branches::ListService.new(project.owner, project.identifier).call | ||||
| else | else | ||||
| response = "22" | response = "22" | ||||
| @@ -19,7 +18,20 @@ class CheckMirrorRake | |||||
| empty_repo.push(project.id) | empty_repo.push(project.id) | ||||
| end | end | ||||
| end | end | ||||
| SyncLog.empty_repo_project_log("=====empty_repo_project_ids:#{empty_repo}======") | |||||
| SyncLog.empty_repo_project_log("=====empty_user_project_ids:#{empty_user}======") | |||||
| SyncLog.sync_log("=====empty_repo_project_ids:#{empty_repo}======") | SyncLog.sync_log("=====empty_repo_project_ids:#{empty_repo}======") | ||||
| SyncLog.sync_log("=====empty_user_project_ids:#{empty_user}======") | SyncLog.sync_log("=====empty_user_project_ids:#{empty_user}======") | ||||
| if empty_repo.present? | |||||
| SyncLog.sync_log("**=====begin_create_empty_repo======**") | |||||
| empty_repo_projects = all_projects.where(id: empty_repo) | |||||
| empty_repo_projects.each do |project| | |||||
| SyncLog.sync_log("**====create_empty_repo_project_id: #{project.id}======**") | |||||
| CheckMirrorJob.perform_later(project) | |||||
| end | |||||
| SyncLog.sync_log("**=====endcreate_empty_repo======**") | |||||
| end | |||||
| end | end | ||||
| end | end | ||||