seQaUCGGFYuCERMG method

  1. @override
Future<bool> seQaUCGGFYuCERMG(
  1. YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
  2. String DLwuDqfWcelSXXhD, {
  3. VeUEakwqWzqKWGlo BtkEDcyLJWFVWCMk = VeUEakwqWzqKWGlo.FnYqLiPPReANDkSU,
})
override

Implementation

@override
Future<bool> seQaUCGGFYuCERMG(
  YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
  String DLwuDqfWcelSXXhD, {
  VeUEakwqWzqKWGlo BtkEDcyLJWFVWCMk = VeUEakwqWzqKWGlo.FnYqLiPPReANDkSU,
}) async {
  Filter? LVhklkBeiaEfKZpE;
  switch (sZLnmTKeJUdmBFHE) {
    case YIMEnum_ConversationType.P2P:
      LVhklkBeiaEfKZpE = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("to", DLwuDqfWcelSXXhD)]),
          Filter.and([Filter.equals("to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("from", DLwuDqfWcelSXXhD)]),
        ]),
        Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      LVhklkBeiaEfKZpE = Filter.and([
        Filter.equals("to", DLwuDqfWcelSXXhD),
        Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final OhXEEEJrHsRvZogG = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.LUwlOqRgyVmlEiyp<_YIMTable_Message>(
    _YIMTableName.Message,
    sprgVkbCCQhGYFSK: (map) => _YIMTable_Message.fromJson(map),
    PldCyxtbMzvNSNom: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: LVhklkBeiaEfKZpE,
    ),
  );
  if (OhXEEEJrHsRvZogG == null) return false;
  if (OhXEEEJrHsRvZogG.isEmpty) return false;
  Filter? TKUJvkDHgZbFgVJv;
  switch (sZLnmTKeJUdmBFHE) {
    case YIMEnum_ConversationType.P2P:
      TKUJvkDHgZbFgVJv = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("lastMessage.from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("lastMessage.to", DLwuDqfWcelSXXhD)]),
          Filter.and([Filter.equals("lastMessage.to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("lastMessage.from", DLwuDqfWcelSXXhD)]),
        ]),
        Filter.equals("lastMessage.conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      TKUJvkDHgZbFgVJv = Filter.and([
        Filter.equals("lastMessage.to", DLwuDqfWcelSXXhD),
        Filter.equals("lastMessage.conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final yAtsWgFXMGpxqKsw = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.jRCazBonRvppDAZy<_YIMTable_Conversation>(
    _YIMTableName.Conversation,
    (bnHAuWDzwImIvsuL) {
      final gxECQohXBcwxDNVO = bnHAuWDzwImIvsuL ?? _YIMTable_Conversation();
      if (OhXEEEJrHsRvZogG.first.from != eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA)
        switch (BtkEDcyLJWFVWCMk) {
          case VeUEakwqWzqKWGlo.LIwCJQquQQVpNcxe:
            gxECQohXBcwxDNVO.unRead++;
            break;
          case VeUEakwqWzqKWGlo.PpypxztnrfNDUwrB:
            if (gxECQohXBcwxDNVO.unRead > 0) gxECQohXBcwxDNVO.unRead--;
            break;
          case VeUEakwqWzqKWGlo.KMIeRFEKPykTWKrk:
            gxECQohXBcwxDNVO.unRead = 0;
            break;
        }
      gxECQohXBcwxDNVO.lastMessage = OhXEEEJrHsRvZogG.first;
      return gxECQohXBcwxDNVO;
    },
    PldCyxtbMzvNSNom: Finder(filter: TKUJvkDHgZbFgVJv),
    sprgVkbCCQhGYFSK: (map) => _YIMTable_Conversation.fromJson(map),
  );
  if (!yAtsWgFXMGpxqKsw) return false;
  return true;
}