updateEventAttempt static method
Updates the attempt counter of an event
Implementation
static Future<void> updateEventAttempt(String eventId) async {
try {
final events = _getAllEventsMap();
final eventData = events[eventId];
if (eventData != null) {
final event = PendingEvent.fromJson(
Map<String, dynamic>.from(eventData),
);
final updatedEvent = event.copyWith(
attemptCount: event.attemptCount + 1,
lastAttempt: DateTime.now(),
);
// If already attempted 3 times, remove the event
if (updatedEvent.attemptCount >= 3) {
events.remove(eventId);
log('Event removed after 3 attempts: $eventId');
} else {
events[eventId] = updatedEvent.toJson();
log(
'Attempt updated for event: $eventId (${updatedEvent.attemptCount}/3)',
);
}
await _storage?.write(_storageKey, events);
}
} catch (e) {
log('Error updating event attempt: $e');
}
}