watchCourseTableCacheChanges method

Stream<void> watchCourseTableCacheChanges()

Emits when any table that affects the launcher timetable changes.

Events are invalidation signals only. Consumers must perform a coherent cache read after receiving one.

Implementation

Stream<void> watchCourseTableCacheChanges() {
  return _database
      .customSelect(
        'SELECT 1',
        readsFrom: {
          _database.semesters,
          _database.courseOfferings,
          _database.courses,
          _database.schedules,
          _database.classrooms,
        },
      )
      .watch()
      .map((_) {});
}