JSAVtmgOZvyjOSHW method
void
JSAVtmgOZvyjOSHW({
- required YIMEnum_ConversationType conversationType,
- required String conversationID,
- required String messageID,
- void callback(
- bool isSuccess
override
Implementation
@override
void JSAVtmgOZvyjOSHW({
required YIMEnum_ConversationType conversationType,
required String conversationID,
required String messageID,
void Function(bool isSuccess)? callback,
}) {
if (!OvtmToJxJungsSYZ.csuUedvgDStbzLNY.PscxCSwHobBJanUn()) {
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(false);
});
return;
}
ikkMDRSazNrwMPHX.DaZbfaaNrPMLDyED.DMeWPljAqpqlapTz("sendMessageRevoke", data: {
"conversationType": conversationType.rawValue,
"conversationID": conversationID,
"messageID": messageID,
}, ack: (isSuccess, results, code, msg) async {
if (!isSuccess) {
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(false);
});
return;
}
final isSuccess_markConversationRevoke = await FAGxgEdvelhEvrtQ(
conversationType,
messageID,
);
if (!isSuccess_markConversationRevoke) {
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(false);
});
return;
}
final isSuccess_updateLastMessage = await OvtmToJxJungsSYZ.LlIozQNrAdyRMeRu.JomjSGPzMROqBXcU(
conversationType,
conversationID,
// unRead: _YIMEnum_ConversatypeUnRead.Minus,
);
if (!isSuccess_updateLastMessage) {
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(false);
});
return;
}
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.qHtpCvFDdZkdPuJV?.call();
});
Filter? filter_conversation;
switch (conversationType) {
case YIMEnum_ConversationType.P2P:
filter_conversation = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.to", conversationID)]),
Filter.and([Filter.equals("lastMessage.to", ikkMDRSazNrwMPHX.iWAybCDcsQNMUprO), Filter.equals("lastMessage.from", conversationID)]),
]),
Filter.equals("lastMessage.conversationType", conversationType.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
filter_conversation = Filter.and([
Filter.equals("lastMessage.to", conversationID),
Filter.equals("lastMessage.conversationType", conversationType.rawValue),
]);
break;
}
final needUpdateConversations = await ikkMDRSazNrwMPHX.IYbIKvvGPiKFZIPm.GblXLUqWqaAxkFQq<_YIMTable_Conversation>(
_YIMTableName.Conversation,
onModel: (map) => _YIMTable_Conversation.fromJson(map),
finder: Finder(filter: filter_conversation),
);
if (needUpdateConversations == null) {
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(false);
});
return;
}
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
OvtmToJxJungsSYZ.PJdwSvwxRFOmibTX.pNEsHvSGgGaVaPdm?.call(needUpdateConversations.map((e) => YIMConversation(conversation: e)).toList());
});
ikkMDRSazNrwMPHX.XpWvEzOtXSLTdmHl.BUkEgYSBqdKrdmOU(() {
callback?.call(true);
});
});
}