courseStudentRosterAvailabilityProvider top-level property

FutureProviderFamily<void, CourseISchoolKey> courseStudentRosterAvailabilityProvider
final

Runs the public probe in parallel with a stale or missing roster refresh.

Implementation

final courseStudentRosterAvailabilityProvider = FutureProvider.autoDispose
    .family<void, CourseISchoolKey>(retry: (_, _) => null, (ref, key) async {
      final keepAlive = ref.keepAlive();
      try {
        final repository = ref.watch(courseRepositoryProvider);
        if (await repository.isStudentRosterFresh(key.courseOfferingId)) return;
        await ref.watch(iSchoolPlusAvailabilityProvider.future);
      } finally {
        keepAlive.close();
      }
    });