|
|
|
@@ -0,0 +1,61 @@ |
|
|
|
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 |