demarches-normaliennes/app/tasks/maintenance/t20241216remove_non_unique_champs_task.rb
2024-12-16 21:49:52 +00:00

22 lines
591 B
Ruby

# frozen_string_literal: true
module Maintenance
class T20241216removeNonUniqueChampsTask < MaintenanceTasks::Task
# Documentation: cette tâche supprime les champs en double dans un dossier
include RunnableOnDeployConcern
include StatementsHelpersConcern
def collection
Dossier.state_not_brouillon.includes(champs: true)
end
def process(dossier)
dossier.champs.filter { _1.row_id.nil? }.group_by(&:public_id).each do |_, champs|
if champs.size > 1
champs.sort_by(&:id)[1..].each(&:destroy)
end
end
end
end
end