Sha256: e7d9d08d7848110fec91221aff4cbf369f635ec4b6e8ebf8ff8ac178e7384c19

Contents?: true

Size: 832 Bytes

Versions: 3

Compression:

Stored size: 832 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module FileAuthorizationHandler
    class RemoveDuplicatesJob < ApplicationJob
      queue_as :default

      # rubocop:disable Style/HashSyntax
      def perform(organization)
        duplicated_census(organization).pluck(:id_document).each do |id_document|
          CensusDatum.inside(organization)
                     .where(id_document: id_document)
                     .order(id: :desc)
                     .all[1..]
                     .each(&:delete)
        end
      end
      # rubocop:enable Style/HashSyntax

      private

      def duplicated_census(organization)
        CensusDatum.inside(organization)
                   .select(:id_document)
                   .group(:id_document)
                   .having("count(id_document)>1")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-file_authorization_handler-0.27.1.7 app/jobs/decidim/file_authorization_handler/remove_duplicates_job.rb
decidim-file_authorization_handler-0.27.1.6 app/jobs/decidim/file_authorization_handler/remove_duplicates_job.rb
decidim-file_authorization_handler-0.27.1.5 app/jobs/decidim/file_authorization_handler/remove_duplicates_job.rb