deletesForMe method

Future<void> deletesForMe(
  1. Iterable<Message> messages
)

Implementation

Future<void> deletesForMe(Iterable<Message> messages) async {
  final eligible = messages.where((e) => !e.isSending).toList();
  if (eligible.isEmpty) return;
  puts(eligible.map((e) => e.copyWith(isDeletedForMe: true)));
  final entries = eligible.map(
    (e) => MapEntry(e.id, {'${MessageKeys.i.deletes}.$me': true}),
  );
  final status = await RoomManager.i.updateMessages(
    roomId,
    Map.fromEntries(entries),
  );
  if (!status) puts(eligible.map((e) => e.copyWith(isDeletedForMe: false)));
}