Class: LiveEvents::UserEvent

Inherits:
CanvasSync::LiveEvents::BaseHandler show all
Defined in:
lib/canvas_sync/generators/templates/services/live_events/user_event.rb

Direct Known Subclasses

UserCreatedEvent, UserUpdatedEvent

Instance Attribute Summary

Attributes inherited from CanvasSync::LiveEvents::BaseHandler

#metadata, #payload, #raw_payload

Attributes inherited from CanvasSync::Job

#job_log

Instance Method Summary collapse

Methods inherited from CanvasSync::LiveEvents::BaseHandler

#perform

Methods inherited from CanvasSync::Job

#create_job_log, #report_checker_wait_time, #update_or_create_model

Instance Method Details

#processObject



5
6
7
8
9
10
11
12
# File 'lib/canvas_sync/generators/templates/services/live_events/user_event.rb', line 5

def process
  canvas_user_id = local_canvas_id(payload[:user_id])
  user = User.where(canvas_id: canvas_user_id).first_or_initialize
  user.sync_from_api
rescue Footrest::HttpError::Unauthorized => e
  # This can happen when a new user is created, but hasn't setup a login on Canvas yet.
  Rails.logger.info("Failed to fetch user #{canvas_user_id}: #{e.backtrace}")
end