|
- desc "Fix Some Unstep Data"
-
- namespace :fix_some_error_data do
- task org_member_and_project_member: :environment do
- puts "======Begin: fix organization memberr======"
- fix_org_count = 0
- OrganizationUser.find_each do |org_user|
- org = org_user.organization
- if org.team_users.where(user_id: org_user.user_id).blank?
- Gitea::Organization::OrganizationUser::DeleteService.call(org_user.organization.gitea_token, org_user.organization.login, org_user&.user&.login)
- org_user.destroy
- fix_org_count += 1
- end
- end
- puts "======Count: #{fix_org_count}======"
- puts "======End: fix organization member and project member======"
- puts "======Begin: fix project member======"
- fix_pro_count = 0
- Member.joins(project: :owner).where(users: {type: 'Organization'}).find_each do |member|
- if member.project.owner.team_users.where(user_id: member.user_id).blank?
- next
- else
- member.destroy
- fix_pro_count += 1
- end
- end
- puts "======Count: #{fix_pro_count}======"
- puts "======End: fix project member======"
- end
-
- task open_full_gitea_team_authorize: :environment do
- puts "======Begin: fix open full team authorize======"
- team_count = 0
- Team.find_each do |team|
- team.team_units.destroy_all
- %w(code issues pulls wiki releases).each do |unit|
- TeamUnit.build(team.organization_id, team.id, unit)
- end
- Gitea::Organization::Team::UpdateService.call(team&.organization&.gitea_token, team)
- team_count += 1
- end
- puts "======Count: #{team_count}======"
- puts "======End: fix open full team authorize======"
- end
-
- task transfer_repository_user_id: :environment do
- puts "======Begin: fix open full team authorize======"
- repo_count = 0
- AppliedTransferProject.find_each do |transfer|
- next unless transfer.project.present?
- next unless transfer.project.repository.present?
- if transfer.project.user_id != transfer.project.repository.user_id
- transfer.project.repository.update(user_id: transfer.project.user_id)
- repo_count += 1
- end
- end
- puts "======Count: #{repo_count}======"
- puts "======End: fix open full team authorize======"
-
- end
- end
|