updateCourse method

Future<void> updateCourse(
  1. MoodleCourse course
)

Updates the given course.

Implementation

Future<void> updateCourse(MoodleCourse course) async {
  if (!state.hasData) {
    log('Cannot update course: No data available.');

    return;
  }

  final tokens = _auth.state.requireData;

  data(
    state.requireData.map((e) => e.id == course.id ? course : e).toList(),
  );

  await _courses.updateCourse(tokens[Webservice.lb_planner_api], course);

  await captureEvent(
    'course_updated',
    properties: {
      'id': course.id,
      'color': const HexColorConverter().toJson(course.color),
      'shortname': course.shortname,
    },
  );
}