getSemesterRecords method
- bool refresh = false,
Gets aggregated academic records grouped by semester.
Returns cached data if fresh (within TTL). Set refresh to true to
bypass TTL (pull-to-refresh).
Implementation
Future<List<SemesterRecordData>> getSemesterRecords({
bool refresh = false,
}) async {
final user = await _database.select(_database.users).getSingle();
final cached = await _buildSemesterRecordData(user.id);
return fetchWithTtl(
cached: cached.isEmpty ? null : cached,
getFetchedAt: (_) => user.scoreDataFetchedAt,
fetchFromNetwork: () => _fetchSemesterRecordsFromNetwork(user.id),
refresh: refresh,
);
}