aggregateNeomageStatsForRange method
Aggregates stats for a specific date range.
Implementation
Future<NeomageStats> aggregateNeomageStatsForRange(
StatsDateRange range,
) async {
if (range == StatsDateRange.all) {
return aggregateNeomageStats();
}
final allSessionFiles = await getAllSessionFiles();
if (allSessionFiles.isEmpty) {
return _getEmptyStats();
}
final today = DateTime.now();
final daysBack = range == StatsDateRange.sevenDays ? 7 : 30;
final fromDate = today.subtract(Duration(days: daysBack - 1));
final fromDateStr = toDateString(fromDate);
final stats = await processSessionFiles(
allSessionFiles,
options: ProcessOptions(fromDate: fromDateStr),
);
return _processedStatsToNeomageStats(stats);
}