lib/canvas_sync/generators/templates/services/live_events/course_section_event.rb



# <%= autogenerated_event_warning %>

module LiveEvents
  class CourseSectionEvent < LiveEvents::BaseEvent

    def process
      section = Section.where(canvas_id: local_canvas_id(payload[:course_section_id])).first_or_initialize
      section.sync_from_api
      # A section change could constitute a crosslisting change, which means
      # we need to make sure all our enrollments are pointing to the correct course
      section.enrollments.update_all(canvas_course_id: section.canvas_course_id)
    end

  end

  class CourseSectionCreatedEvent < LiveEvents::CourseSectionEvent; end
  class CourseSectionUpdatedEvent < LiveEvents::CourseSectionEvent; end
end