Sha256: 861ef0f8712ea147d448373f0f4dac1ce472dd0720c2bb53e017bc68a01fcaaf

Contents?: true

Size: 1.14 KB

Versions: 12

Compression:

Stored size: 1.14 KB

Contents

module CanvasSync
  module Jobs
    # ActiveJob class that starts a Canvas provisioning report
    class SyncProvisioningReportJob < ReportStarter
      def perform(options)
        params = {
          include_deleted: true,
        }

        options[:models].each do |model|
          # group_membership is the only model param that is singular :(
          model = 'group_membership' if model == 'group_memberships'

          params[model] = true
        end

        merged_params = merge_report_params(options, params, {}).with_indifferent_access

        # Make sure the report also checks last_activity_at when checking updated_at
        if options[:models].include?("enrollments")
          if (%w[last_activity_at total_activity_time] & Enrollment.get_sync_mapping[:columns].keys).present? && merged_params.dig(:parameters, :include_last_activity) == nil
            merged_params[:parameters][:include_last_activity] = true
          end
        end

        super(
          "proservices_provisioning_csv",
          merged_params,
          CanvasSync::Processors::ProvisioningReportProcessor.to_s,
          options,
        )
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
canvas_sync-0.18.8 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.7 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.6 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.5 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.3 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.2 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.1 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.0.beta2 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.18.0.beta1 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.17.43 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.17.42 lib/canvas_sync/jobs/sync_provisioning_report_job.rb
canvas_sync-0.17.41 lib/canvas_sync/jobs/sync_provisioning_report_job.rb