AdnanKhan45/whatsapp-clone

deleteMessage not working for me

Opened this issue · 4 comments

Hi ! anyone can help me with deleteMessage , it's ,not working for me , and there is no error also , here is my code :
BlocProvider.of(context).deleteMessage(message: MessageEntity(
senderUid: widget.message.senderUid,
recipientUid: widget.message.recipientUid,
messageId: message.messageId
),

                                    );
                                    Navigator.pop(context);
                                  },
                                  confirmTitle: "Delete",
                                  content: "Are you sure you want to delete this message?"
                              );

I reviewed all my code and compared it with github repos , and its fine , but i can not delete message

rThe method deleteMessage from chatRemoteDataSourceImpl is called successfully , here is the code and the print statement :

@OverRide
Future deleteMessage(MessageEntity message) async {
final messageRef = fireStore
.collection(FirebaseCollectionConst.users)
.doc(message.senderUid)
.collection(FirebaseCollectionConst.myChat)
.doc(message.recipientUid)
.collection(FirebaseCollectionConst.messages)
.doc(message.messageId);
print(messageRef);
try {
await messageRef.delete();
print("message deleted from remote datasource");
} catch (e) {
print("Error deleting message $e");
}
}
###Print Statement messageRef
DocumentReference<Map<String, dynamic>>(users/FHCmzrEGipYSL1GPlxibr7QLk6D3/myChat/Zy8ZC89h07V24ywbg5hOAWzVf5F3/messages/zmt0jCq8M65nhVbd9OZp)
##Print out message
message deleted from remote datasource

###SOLUTION FOUND
I found , the probleme , it's not comming from deleteMessage but from NewMessage from sendMessageBasedonType
here is 👍
String messageId = const Uuid().v1();
final newMessage = MessageModel(
senderUid: message.senderUid,
senderName: message.senderName,
recipientName: message.recipientName,
recipientUid: message.recipientUid,
createdAt: message.createdAt,
repliedTo: message.repliedTo,
repliedMessage: message.repliedMessage,
isSeen: message.isSeen,
messageType: message.messageType,
message: message.message,

IN messageId: I put message.messageId instead of "messageId" declared above

  messageId: messageId,
  repliedMessageType: message.repliedMessageType,
).toDocument();

Thank you Sir!