deleteInternal method

Future<void> deleteInternal(
  1. Map<ForeignEventId, Event> data,
  2. DeviceCalendarEventStore store
)

Implementation

Future<void> deleteInternal(Map<ForeignEventId, Event> data, DeviceCalendarEventStore store) async {
  var events = await store.getStoredEvents();
  var futures = List<Future<bool>>.empty(growable: true);
  var toDelete = data.map((key, value) => MapEntry(events[key], value));
  for (var e in toDelete.entries) {
    futures.add(pluginDeleteEvent(e.value.calendarId, e.key));
  }
  var results = await Future.wait(futures);
  events.removeWhere((key, value) => data.containsKey(key));
  store.storeEvents(events);
}