qJHXNOktYCxJBxfe method

  1. @override
Future<void> qJHXNOktYCxJBxfe({
  1. required YIMEnum_ConversationType BgfAEObZrclDbHGn,
  2. required String fRzBwkFTgPAvTbAa,
  3. DateTime? HTBubeWAakiqLcZJ,
  4. bool NsaqbtmjHHBuZuaD = false,
  5. int rWeHdJjAbLtRabTA = 20,
  6. YIMEnum_QueryDirection xpwbhBxwjQrCSaMF = YIMEnum_QueryDirection.Old,
  7. required void RpTfEMreuKahSHPQ(
    1. List<YIMMessage>? messages
    ),
})
override

Implementation

@override
Future<void> qJHXNOktYCxJBxfe({
  required YIMEnum_ConversationType BgfAEObZrclDbHGn,
  required String fRzBwkFTgPAvTbAa,
  DateTime? HTBubeWAakiqLcZJ,
  bool NsaqbtmjHHBuZuaD = false,
  int rWeHdJjAbLtRabTA = 20,
  YIMEnum_QueryDirection xpwbhBxwjQrCSaMF = YIMEnum_QueryDirection.Old,
  required void Function(List<YIMMessage>? messages) RpTfEMreuKahSHPQ,
}) async {
  if (!TOguPJtIdcSeGZGX.rBuDdhLENqbkPPvE.NeoEyBnRdnWKwFxT()) {
    RgTTqSEnxRPxFwzl.CfKfGgNeZazCORbX.LrMzRSTzQmONyVIm(() {
      RpTfEMreuKahSHPQ.call(null);
    });
    return;
  }
  rWeHdJjAbLtRabTA = rWeHdJjAbLtRabTA > 100 ? 100 : rWeHdJjAbLtRabTA;
  Filter? QXsGIQPhlpBQAYXd;
  switch (BgfAEObZrclDbHGn) {
    case YIMEnum_ConversationType.P2P:
      QXsGIQPhlpBQAYXd = Filter.and([
        HTBubeWAakiqLcZJ == null
            ? Filter.notNull("time")
            : xpwbhBxwjQrCSaMF == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", HTBubeWAakiqLcZJ.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", HTBubeWAakiqLcZJ.millisecondsSinceEpoch.toString()),
        Filter.or([
          Filter.and([Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("to", fRzBwkFTgPAvTbAa)]),
          if (!NsaqbtmjHHBuZuaD) Filter.and([Filter.equals("to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("from", fRzBwkFTgPAvTbAa)]),
        ]),
        Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      QXsGIQPhlpBQAYXd = Filter.and([
        HTBubeWAakiqLcZJ == null
            ? Filter.notNull("time")
            : xpwbhBxwjQrCSaMF == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", HTBubeWAakiqLcZJ.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", HTBubeWAakiqLcZJ.millisecondsSinceEpoch.toString()),
        Filter.equals("to", fRzBwkFTgPAvTbAa),
        if (NsaqbtmjHHBuZuaD) Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM),
        Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      RpTfEMreuKahSHPQ.call([]);
      return;
  }
  final BYjAdmrVoQXFvmBX = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.mIfLIZlbruepMfyA<_YIMTable_Message>(
    _YIMTableName.Message,
    AssMtxrsCpVcieAX: (map) => _YIMTable_Message.fromJson(map),
    IaZSeQoXPmnqurCt: Finder(
      limit: rWeHdJjAbLtRabTA,
      sortOrders: [SortOrder("time", false)],
      filter: QXsGIQPhlpBQAYXd,
    ),
  );
  if (BYjAdmrVoQXFvmBX == null) {
    RgTTqSEnxRPxFwzl.CfKfGgNeZazCORbX.LrMzRSTzQmONyVIm(() {
      RpTfEMreuKahSHPQ.call(null);
    });
    return;
  }
  RgTTqSEnxRPxFwzl.CfKfGgNeZazCORbX.LrMzRSTzQmONyVIm(() {
    RpTfEMreuKahSHPQ.call(BYjAdmrVoQXFvmBX.reversed.map((e) => YIMMessage(kmHFaoDMcNOfZpRN: e)).toList());
  });
}