checkAndSyncPendingPalmas method

Future<void> checkAndSyncPendingPalmas()

Revisa la tabla pending_palmas y trata de reenviar cada registro.

Implementation

Future<void> checkAndSyncPendingPalmas() async {
  var connectivity = await Connectivity().checkConnectivity();
  if (connectivity == ConnectivityResult.none) return;

  final pendientes = await _dbHelper.getPendingPalmas();
  for (var item in pendientes) {
    final data = jsonDecode(item['data'] as String);
    bool success = await _sendToApi(data);
    if (success) {
      await _dbHelper.deletePendingPalma(item['id'] as int);
      await _sendNotification(
          'Sincronización Exitosa', 'Palma sincronizada correctamente.');
    } else {
      // Si no se pudo sincronizar, la dejamos para intentar más tarde
      await _sendNotification(
          'Falló la sincronización', 'No se pudo sincronizar una palma.');
    }
  }
}