25 lines
947 B
Ruby
25 lines
947 B
Ruby
namespace :batch_user_add_projects do
|
|
desc "batch add projects"
|
|
task done: :environment do
|
|
user_id = ENV['user_id']
|
|
puts "user_id=================#{user_id}"
|
|
next if user_id.blank?
|
|
project_ids = Project.find_by_sql("SELECT id FROM projects WHERE forked_from_project_id IN (SELECT id FROM projects WHERE user_id IN (SELECT id FROM users WHERE login='OSKYCX'))").pluck(:id)
|
|
if ENV['project_id'].present?
|
|
project_ids = [ENV['project_id']]
|
|
end
|
|
next if project_ids.blank?
|
|
puts "project_ids=================#{project_ids}"
|
|
project_ids.each do |project_id|
|
|
begin
|
|
user = User.find_by(id: user_id)
|
|
next if user.blank?
|
|
project = Project.find_by(id: project_id)
|
|
next if project.blank?
|
|
Projects::AddMemberInteractor.call(project.owner, project, user, "admin")
|
|
rescue Exception => e
|
|
puts "batch add projects error: #{user_id}"
|
|
end
|
|
end
|
|
end
|
|
end |