PZljnyQTHQWpRuih method

  1. @override
Future<bool> PZljnyQTHQWpRuih(
  1. YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  2. String DdEJLInBukyevMKs, {
  3. ghgUnqfoANgJzhoD IpnvQLcAhgIkPBhZ = ghgUnqfoANgJzhoD.rDuHPDFhXIKMBAtv,
})
override

Implementation

@override
Future<bool> PZljnyQTHQWpRuih(
  YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  String DdEJLInBukyevMKs, {
  ghgUnqfoANgJzhoD IpnvQLcAhgIkPBhZ = ghgUnqfoANgJzhoD.rDuHPDFhXIKMBAtv,
}) async {
  Filter? dNQmjNfKFjCmIqpy;
  switch (TIVvnmucZCCCoXWZ) {
    case YIMEnum_ConversationType.P2P:
      dNQmjNfKFjCmIqpy = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("to", DdEJLInBukyevMKs)]),
          Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
        ]),
        Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      dNQmjNfKFjCmIqpy = Filter.and([
        Filter.equals("to", DdEJLInBukyevMKs),
        Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final iRnmzMAYPMjltgiU = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.uKKZjqnYwajOojnf<_YIMTable_Message>(
    _YIMTableName.Message,
    kXTnRNGoMYqcQtxj: (map) => _YIMTable_Message.fromJson(map),
    fnfSorwGDrYrXXrJ: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: dNQmjNfKFjCmIqpy,
    ),
  );
  if (iRnmzMAYPMjltgiU == null) return false;
  if (iRnmzMAYPMjltgiU.isEmpty) return false;
  Filter? PViwEfkxnHthuFaW;
  switch (TIVvnmucZCCCoXWZ) {
    case YIMEnum_ConversationType.P2P:
      PViwEfkxnHthuFaW = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("lastMessage.from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("lastMessage.to", DdEJLInBukyevMKs)]),
          Filter.and([Filter.equals("lastMessage.to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("lastMessage.from", DdEJLInBukyevMKs)]),
        ]),
        Filter.equals("lastMessage.conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      PViwEfkxnHthuFaW = Filter.and([
        Filter.equals("lastMessage.to", DdEJLInBukyevMKs),
        Filter.equals("lastMessage.conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final mhWtHZlcrcsGhyUg = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.CUiJDwkniNpxPMEC<_YIMTable_Conversation>(
    _YIMTableName.Conversation,
    (LxGZqXAMduWvarPc) {
      final BXiYJGYbkPLwuERt = LxGZqXAMduWvarPc ?? _YIMTable_Conversation();
      if (iRnmzMAYPMjltgiU.first.from != lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM)
        switch (IpnvQLcAhgIkPBhZ) {
          case ghgUnqfoANgJzhoD.RhNWXyqLXbXhjbqi:
            BXiYJGYbkPLwuERt.unRead++;
            break;
          case ghgUnqfoANgJzhoD.JlmNBFWHCGyQvHCn:
            if (BXiYJGYbkPLwuERt.unRead > 0) BXiYJGYbkPLwuERt.unRead--;
            break;
          case ghgUnqfoANgJzhoD.iqOiYjPAbyqWkkFy:
            BXiYJGYbkPLwuERt.unRead = 0;
            break;
        }
      BXiYJGYbkPLwuERt.lastMessage = iRnmzMAYPMjltgiU.first;
      return BXiYJGYbkPLwuERt;
    },
    fnfSorwGDrYrXXrJ: Finder(filter: PViwEfkxnHthuFaW),
    kXTnRNGoMYqcQtxj: (map) => _YIMTable_Conversation.fromJson(map),
  );
  if (!mhWtHZlcrcsGhyUg) return false;
  return true;
}