clearOldData method

  1. @override
Future<void> clearOldData({
  1. int daysToKeep = 30,
})
override

Implementation

@override
Future<void> clearOldData({int daysToKeep = 30}) async {
  try {
    final cutoffDate = DateTime.now().subtract(Duration(days: daysToKeep));

    // Limpar erros antigos
    final allErrors = await _errorManager.getAllErrors();
    final oldErrors =
        allErrors.where((error) => error.timestamp.isBefore(cutoffDate));

    for (final error in oldErrors) {
      await _errorManager.removeError(error.id);
    }

    // Limpar logs antigos
    await _clearOldDataByPrefix(_syncLogPrefix, cutoffDate);

    _loggerProvider?.info(
      'Old data cleared successfully (older than $daysToKeep days)',
      category: 'SyncDataCleanupService',
      metadata: {
        'daysToKeep': daysToKeep,
        'cutoffDate': cutoffDate.toIso8601String(),
        'errorsRemoved': oldErrors.length,
      },
    );
  } catch (e) {
    _loggerProvider?.error(
      'Failed to clear old data: $e',
      category: 'SyncDataCleanupService',
      exception: e,
    );
    rethrow;
  }
}