RNFknVLCuPJTcxUh method

  1. @override
Future<bool> RNFknVLCuPJTcxUh(
  1. YIMEnum_ConversationType BgfAEObZrclDbHGn,
  2. String fRzBwkFTgPAvTbAa, {
  3. gWSJVIFaNLgWZquB BEauSsLtWtcLsOcZ = gWSJVIFaNLgWZquB.XjEushaimpJPZMpt,
})
override

Implementation

@override
Future<bool> RNFknVLCuPJTcxUh(
  YIMEnum_ConversationType BgfAEObZrclDbHGn,
  String fRzBwkFTgPAvTbAa, {
  gWSJVIFaNLgWZquB BEauSsLtWtcLsOcZ = gWSJVIFaNLgWZquB.XjEushaimpJPZMpt,
}) async {
  Filter? OqfxWwRRugiwhlaA;
  switch (BgfAEObZrclDbHGn) {
    case YIMEnum_ConversationType.P2P:
      OqfxWwRRugiwhlaA = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("to", fRzBwkFTgPAvTbAa)]),
          Filter.and([Filter.equals("to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("from", fRzBwkFTgPAvTbAa)]),
        ]),
        Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      OqfxWwRRugiwhlaA = Filter.and([
        Filter.equals("to", fRzBwkFTgPAvTbAa),
        Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final BYjAdmrVoQXFvmBX = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.mIfLIZlbruepMfyA<_YIMTable_Message>(
    _YIMTableName.Message,
    AssMtxrsCpVcieAX: (map) => _YIMTable_Message.fromJson(map),
    IaZSeQoXPmnqurCt: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: OqfxWwRRugiwhlaA,
    ),
  );
  if (BYjAdmrVoQXFvmBX == null) return false;
  if (BYjAdmrVoQXFvmBX.isEmpty) return false;
  Filter? zIeqXzcaEvxPpBIs;
  switch (BgfAEObZrclDbHGn) {
    case YIMEnum_ConversationType.P2P:
      zIeqXzcaEvxPpBIs = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("lastMessage.from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("lastMessage.to", fRzBwkFTgPAvTbAa)]),
          Filter.and([Filter.equals("lastMessage.to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("lastMessage.from", fRzBwkFTgPAvTbAa)]),
        ]),
        Filter.equals("lastMessage.conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      zIeqXzcaEvxPpBIs = Filter.and([
        Filter.equals("lastMessage.to", fRzBwkFTgPAvTbAa),
        Filter.equals("lastMessage.conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final ANnTYtigbJnrIMlC = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.eRIbHgmHxeninihv<_YIMTable_Conversation>(
    _YIMTableName.Conversation,
    (zDqyvHEjrzZBfmZE) {
      final RbOFBoUMiGshbGjp = zDqyvHEjrzZBfmZE ?? _YIMTable_Conversation();
      if (BYjAdmrVoQXFvmBX.first.from != RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM)
        switch (BEauSsLtWtcLsOcZ) {
          case gWSJVIFaNLgWZquB.QKURXizoydiDeeuw:
            RbOFBoUMiGshbGjp.unRead++;
            break;
          case gWSJVIFaNLgWZquB.wZoEapqhbfeHGaNm:
            if (RbOFBoUMiGshbGjp.unRead > 0) RbOFBoUMiGshbGjp.unRead--;
            break;
          case gWSJVIFaNLgWZquB.nLGtXtdFASGsQfnj:
            RbOFBoUMiGshbGjp.unRead = 0;
            break;
        }
      RbOFBoUMiGshbGjp.lastMessage = BYjAdmrVoQXFvmBX.first;
      return RbOFBoUMiGshbGjp;
    },
    IaZSeQoXPmnqurCt: Finder(filter: zIeqXzcaEvxPpBIs),
    AssMtxrsCpVcieAX: (map) => _YIMTable_Conversation.fromJson(map),
  );
  if (!ANnTYtigbJnrIMlC) return false;
  return true;
}