delete method
Implementation
Future<void> delete(Message msg) async {
if (!msg.isSentByMe || msg.isSending) return;
put(msg.copyWith(isDeleted: true));
final isLastMessage = room.lastMessageId == msg.id;
final status = await RoomManager.i.updateMessage(
msg.roomId,
msg.id,
{MessageKeys.i.isDeleted: true},
roomValues: {
if (isLastMessage) ...{
RoomKeys.i.lastMessage: msg.lastMessage(deleted: true),
RoomKeys.i.lastMessageSenderId: me,
RoomKeys.i.lastMessageDeleted: true,
},
},
);
if (!status) put(msg.copyWith(isDeleted: false));
}