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



# <%= autogenerated_event_warning %>

module LiveEvents
  class AssignmentGroupEvent < LiveEvents::BaseEvent

    def process
      canvas_assignment_group_id = local_canvas_id(payload[:assignment_group_id])
      assignment_group = AssignmentGroup.where(canvas_id: canvas_assignment_group_id).first_or_initialize
      assignment_group.canvas_course_id = canvas_course_id
      assignment_group.sync_from_api
    end

    private

    # This could be nil if the context type for this assignment is not 'Course' of if a local course was not found
    def canvas_course_id
      payload[:context_type] == "Course" ? local_canvas_id(payload[:context_id]) : nil
    end

  end

  class AssignmentGroupCreatedEvent < LiveEvents::AssignmentGroupEvent; end
  class AssignmentGroupUpdatedEvent < LiveEvents::AssignmentGroupEvent; end
end