hZASquqDGpNChKXI method

  1. @override
Future<void> hZASquqDGpNChKXI({
  1. required YIMEnum_ConversationType TMhjsByyUuXcscSR,
  2. required String APZrxmPSOMdFqrhE,
  3. DateTime? ZkwVWblHbfTpcCJy,
  4. bool qCUguYjWTXDmlVRS = false,
  5. int ltzhgYAFFqftwevn = 20,
  6. YIMEnum_QueryDirection djbfnMfsHquRaFDq = YIMEnum_QueryDirection.Old,
  7. required void WeQhHiCFWrXRykFU(
    1. List<YIMMessage>? messages
    ),
})
override

Implementation

@override
Future<void> hZASquqDGpNChKXI({
  required YIMEnum_ConversationType TMhjsByyUuXcscSR,
  required String APZrxmPSOMdFqrhE,
  DateTime? ZkwVWblHbfTpcCJy,
  bool qCUguYjWTXDmlVRS = false,
  int ltzhgYAFFqftwevn = 20,
  YIMEnum_QueryDirection djbfnMfsHquRaFDq = YIMEnum_QueryDirection.Old,
  required void Function(List<YIMMessage>? messages) WeQhHiCFWrXRykFU,
}) async {
  if (!UFWAGwHDnWMkeYVR.EPwtIwAAPGFWUsid.WPtNMuRLJwMSwfMW()) {
    LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
      WeQhHiCFWrXRykFU.call(null);
    });
    return;
  }
  ltzhgYAFFqftwevn = ltzhgYAFFqftwevn > 100 ? 100 : ltzhgYAFFqftwevn;
  Filter? LebqekJGWsJVYQvG;
  switch (TMhjsByyUuXcscSR) {
    case YIMEnum_ConversationType.P2P:
      LebqekJGWsJVYQvG = Filter.and([
        ZkwVWblHbfTpcCJy == null
            ? Filter.notNull("time")
            : djbfnMfsHquRaFDq == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", ZkwVWblHbfTpcCJy.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", ZkwVWblHbfTpcCJy.millisecondsSinceEpoch.toString()),
        Filter.or([
          Filter.and([Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("to", APZrxmPSOMdFqrhE)]),
          if (!qCUguYjWTXDmlVRS) Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
        ]),
        Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      LebqekJGWsJVYQvG = Filter.and([
        ZkwVWblHbfTpcCJy == null
            ? Filter.notNull("time")
            : djbfnMfsHquRaFDq == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", ZkwVWblHbfTpcCJy.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", ZkwVWblHbfTpcCJy.millisecondsSinceEpoch.toString()),
        Filter.equals("to", APZrxmPSOMdFqrhE),
        if (qCUguYjWTXDmlVRS) Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ),
        Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      WeQhHiCFWrXRykFU.call([]);
      return;
  }
  final IvMCaaSVIWcQArzH = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Message>(
    _YIMTableName.Message,
    KgQmNjCadrqeQjJE: (map) => _YIMTable_Message.fromJson(map),
    RaxVrYLTOIwElzzS: Finder(
      limit: ltzhgYAFFqftwevn,
      sortOrders: [SortOrder("time", false)],
      filter: LebqekJGWsJVYQvG,
    ),
  );
  if (IvMCaaSVIWcQArzH == null) {
    LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
      WeQhHiCFWrXRykFU.call(null);
    });
    return;
  }
  LLTqoNwdULMbTCMh.DwbTkDIljwhCkWxz.KuzgoGyXoqDTCcrr(() {
    WeQhHiCFWrXRykFU.call(IvMCaaSVIWcQArzH.reversed.map((e) => YIMMessage(LzYZgypaJvlVWNba: e)).toList());
  });
}