namespace :after_party do
  desc 'Deployment task: remove_invalid_geometries'
  task remove_invalid_geometries: :environment do
    puts "Running deploy task 'remove_invalid_geometries'"

    geo_areas = GeoArea.where(source: :selection_utilisateur).includes(champ: [:geo_areas, :type_de_champ])
    progress = ProgressReport.new(geo_areas.count)
    geo_areas.find_each do |geo_area|
      if !geo_area.valid?
        geo_area.destroy
      end
      progress.inc
    end
    progress.finish

    # Update task as completed.  If you remove the line below, the task will
    # run with every deploy (or every time you call after_party:run).
    AfterParty::TaskRecord
      .create version: AfterParty::TaskRecorder.new(__FILE__).timestamp
  end
end