pfTPJroZwJBxwUPx method

  1. @override
Future<bool> pfTPJroZwJBxwUPx(
  1. YIMEnum_ConversationType CSRdXHauzEiJPnyU,
  2. String kXPxdzdFgCLkwYVq, {
  3. vynCQDxdpGGARqvh KjRVTXUIZKHTmQlH = vynCQDxdpGGARqvh.OObQGTWdrolPsWcF,
})
override

Implementation

@override
Future<bool> pfTPJroZwJBxwUPx(
  YIMEnum_ConversationType CSRdXHauzEiJPnyU,
  String kXPxdzdFgCLkwYVq, {
  vynCQDxdpGGARqvh KjRVTXUIZKHTmQlH = vynCQDxdpGGARqvh.OObQGTWdrolPsWcF,
}) async {
  Filter? AcKfJxHtbDkTiizD;
  switch (CSRdXHauzEiJPnyU) {
    case YIMEnum_ConversationType.P2P:
      AcKfJxHtbDkTiizD = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("from", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("to", kXPxdzdFgCLkwYVq)]),
          Filter.and([Filter.equals("to", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("from", kXPxdzdFgCLkwYVq)]),
        ]),
        Filter.equals("conversationType", CSRdXHauzEiJPnyU.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      AcKfJxHtbDkTiizD = Filter.and([
        Filter.equals("to", kXPxdzdFgCLkwYVq),
        Filter.equals("conversationType", CSRdXHauzEiJPnyU.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final OAewyZklKaQyugFK = await IWvngdrdSCGoIQFk.IzkLEyfaeUtmyaMq.OYBHyMdnmLROjGQB<_YIMTable_Message>(
    _YIMTableName.Message,
    rcVxJnEHvvFFihUv: (map) => _YIMTable_Message.fromJson(map),
    nYhinPGOzAGXmYDt: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: AcKfJxHtbDkTiizD,
    ),
  );
  if (OAewyZklKaQyugFK == null) return false;
  if (OAewyZklKaQyugFK.isEmpty) return false;
  Filter? jLxlECrBfTfNgcce;
  switch (CSRdXHauzEiJPnyU) {
    case YIMEnum_ConversationType.P2P:
      jLxlECrBfTfNgcce = Filter.and([
        Filter.or([
          Filter.and([Filter.equals("lastMessage.from", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("lastMessage.to", kXPxdzdFgCLkwYVq)]),
          Filter.and([Filter.equals("lastMessage.to", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("lastMessage.from", kXPxdzdFgCLkwYVq)]),
        ]),
        Filter.equals("lastMessage.conversationType", CSRdXHauzEiJPnyU.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      jLxlECrBfTfNgcce = Filter.and([
        Filter.equals("lastMessage.to", kXPxdzdFgCLkwYVq),
        Filter.equals("lastMessage.conversationType", CSRdXHauzEiJPnyU.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
  }
  final FWMxHRleeYFFsaCz = await IWvngdrdSCGoIQFk.IzkLEyfaeUtmyaMq.SDqapwsUAZoiIRzY<_YIMTable_Conversation>(
    _YIMTableName.Conversation,
    (MneXRmBLrimHPLXW) {
      final UxXOhdSyuwCuyDhj = MneXRmBLrimHPLXW ?? _YIMTable_Conversation();
      if (OAewyZklKaQyugFK.first.from != IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh)
        switch (KjRVTXUIZKHTmQlH) {
          case vynCQDxdpGGARqvh.IAZBXkUUBYUPvduY:
            UxXOhdSyuwCuyDhj.unRead++;
            break;
          case vynCQDxdpGGARqvh.RlNLvxTIprHXEOSa:
            if (UxXOhdSyuwCuyDhj.unRead > 0) UxXOhdSyuwCuyDhj.unRead--;
            break;
          case vynCQDxdpGGARqvh.jwfuMkhpHwrDDDGT:
            UxXOhdSyuwCuyDhj.unRead = 0;
            break;
        }
      UxXOhdSyuwCuyDhj.lastMessage = OAewyZklKaQyugFK.first;
      return UxXOhdSyuwCuyDhj;
    },
    nYhinPGOzAGXmYDt: Finder(filter: jLxlECrBfTfNgcce),
    rcVxJnEHvvFFihUv: (map) => _YIMTable_Conversation.fromJson(map),
  );
  if (!FWMxHRleeYFFsaCz) return false;
  return true;
}