demarches-normaliennes/app/tasks/maintenance/t20241216remove_non_unique_champs_task.rb

23 lines
591 B
Ruby
Raw Normal View History

2024-12-16 21:47:27 +00:00
# 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