deleteMessages method

Future<bool> deleteMessages(
  1. Iterable<Message> messages, {
  2. bool deleteBothAsSync = false,
})

Implementation

Future<bool> deleteMessages(
  Iterable<Message> messages, {
  bool deleteBothAsSync = false,
}) async {
  if (me.isEmpty || messages.isEmpty) return false;
  try {
    await messageDelegate.deletes(messages);
    final urls = messages.expand((m) => m.findPathOrUrls(true)).toList();
    await _deleteStorageFiles(urls, sync: deleteBothAsSync);
    for (final m in messages) {
      _failedMessages.remove(m.id);
    }
    return true;
  } catch (e, st) {
    errorReporter.report(
      e,
      stackTrace: st,
      source: 'MessageMixin.deleteMessages',
      context: {'count': messages.length},
    );
    return false;
  }
}