getDataStatistics method
Implementation
@override
Future<Map<String, int>> getDataStatistics() async {
try {
final stats = <String, int>{};
// Contar erros
final allErrors = await _errorManager.getAllErrors();
stats['totalErrors'] = allErrors.length;
stats['pendingErrors'] = allErrors.where((e) => !e.isSent).length;
stats['sentErrors'] = allErrors.where((e) => e.isSent).length;
// Contar dados por prefixo
stats['syncData'] = await _countDataByPrefix(_syncDataPrefix);
stats['syncLogs'] = await _countDataByPrefix(_syncLogPrefix);
stats['syncQueue'] = await _countDataByPrefix(_syncQueuePrefix);
stats['syncStatus'] = await _countDataByPrefix(_syncStatusPrefix);
stats['syncMetadata'] = await _countDataByPrefix(_syncMetadataPrefix);
// Verificar se há sessão ativa
final hasSession = await _syncConfig.isAuthenticated();
stats['hasActiveSession'] = hasSession ? 1 : 0;
_loggerProvider?.info(
'Data statistics retrieved',
category: 'SyncDataCleanupService',
metadata: stats,
);
return stats;
} catch (e) {
_loggerProvider?.error(
'Failed to get data statistics: $e',
category: 'SyncDataCleanupService',
exception: e,
);
return {};
}
}