Sha256: b990d05777bda210bd166fad5af230f8c8e0806fe270ab72ba232538b12157a2

Contents?: true

Size: 1.01 KB

Versions: 9

Compression:

Stored size: 1.01 KB

Contents

module CanvasSync
  module Jobs
    class SyncAccountsJob < ReportStarter
      # Starts a provisioning report for just accounts.
      #
      # Provisioning reports do not scope accounts by term, so when we are
      # running provisioning by term we sync users first so we don't duplicate
      # the work of syncing all accounts for each term.
      #
      # @param job_chain [Hash]
      # @param options [Hash]
      def perform(job_chain, options)
        unless options[:root_account] == false
          acc_params = CanvasSync.get_canvas_sync_client(job_chain[:global_options]).account("self")
          update_or_create_model(Account, acc_params)
        end

        super(
          job_chain,
          "proservices_provisioning_csv",
          merge_report_params(job_chain, options, {
            accounts: true,
            include_deleted: true,
          }, term_scope: false),
          CanvasSync::Processors::ProvisioningReportProcessor.to_s,
          { models: ["accounts"] },
        )
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
canvas_sync-0.16.5 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.16.4 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.16.3 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.16.2 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.16.1 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.15.1 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.15.0 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.14.0 lib/canvas_sync/jobs/sync_accounts_job.rb
canvas_sync-0.13.0 lib/canvas_sync/jobs/sync_accounts_job.rb