Class: LiveEvents::EnrollmentEvent

Inherits:
BaseEvent show all
Defined in:
lib/canvas_sync/generators/templates/services/live_events/enrollment/enrollment_event.rb

Instance Attribute Summary

Attributes inherited from BaseEvent

#payload

Instance Method Summary collapse

Methods inherited from BaseEvent

#local_canvas_id

Methods inherited from CanvasSync::Job

#create_job_log, #report_checker_wait_time

Instance Method Details

#perform(payload) ⇒ Object

The following is provided in the live events call:

enrollment_id: enrollment.global_id,
course_id: enrollment.global_course_id,
user_id: enrollment.global_user_id,
user_name: enrollment.user_name,
type: enrollment.type,
created_at: enrollment.created_at,
updated_at: enrollment.updated_at,
limit_privileges_to_course_section: enrollment.limit_privileges_to_course_section,
course_section_id: enrollment.global_course_section_id,
workflow_state: enrollment.workflow_state



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/canvas_sync/generators/templates/services/live_events/enrollment/enrollment_event.rb', line 20

def perform(payload)
  super
  return if course.nil? || section.nil? || user.nil?
  attrs = {
    canvas_enrollment_id: local_canvas_id(payload[:enrollment_id]),
    canvas_course_id: course.try(:id),
    canvas_user_id: user.try(:id),
    role: payload[:type],
    canvas_section_id: section.try(:id),
    status: payload[:workflow_state],
  }
  create_or_update(attrs)
end