4 changed files with 27 additions and 10 deletions
@ -1,12 +1,19 @@ |
|||||||
namespace :merge do |
namespace :merge do |
||||||
desc "Merge organisations into one" |
desc "Merge organisations into one" |
||||||
task :merge_organisations, %i[absorbing_organisation_id merging_organisation_ids] => :environment do |_task, args| |
task :merge_organisations, %i[absorbing_organisation_id merging_organisation_ids merge_date] => :environment do |_task, args| |
||||||
absorbing_organisation_id = args[:absorbing_organisation_id] |
absorbing_organisation_id = args[:absorbing_organisation_id] |
||||||
merging_organisation_ids = args[:merging_organisation_ids]&.split(" ")&.map(&:to_i) |
merging_organisation_ids = args[:merging_organisation_ids]&.split(" ")&.map(&:to_i) |
||||||
|
begin |
||||||
|
merge_date = args[:merge_date].present? ? Date.parse(args[:merge_date]) : nil |
||||||
|
rescue StandardError |
||||||
|
raise "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids, merge_date]. Merge date must be in format YYYY-MM-DD" |
||||||
|
end |
||||||
|
|
||||||
raise "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids]" if merging_organisation_ids.blank? || absorbing_organisation_id.blank? |
if merging_organisation_ids.blank? || absorbing_organisation_id.blank? |
||||||
|
raise "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids, merge_date]" |
||||||
|
end |
||||||
|
|
||||||
service = Merge::MergeOrganisationsService.new(absorbing_organisation_id:, merging_organisation_ids:) |
service = Merge::MergeOrganisationsService.new(absorbing_organisation_id:, merging_organisation_ids:, merge_date:) |
||||||
service.call |
service.call |
||||||
end |
end |
||||||
end |
end |
||||||
|
|||||||
Loading…
Reference in new issue