courseStudentRosterAvailabilityProvider top-level property
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();
}
});