JSAVtmgOZvyjOSHW method

  1. @override
void JSAVtmgOZvyjOSHW({
  1. required YIMEnum_ConversationType conversationType,
  2. required String conversationID,
  3. required String messageID,
  4. void callback(
    1. 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);
    });
  });
}