ifIWpDeVqjJUEklq method

  1. @override
Future<void> ifIWpDeVqjJUEklq({
  1. required YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  2. required String DdEJLInBukyevMKs,
  3. DateTime? BZOczrjwvuQuZcVB,
  4. bool JGOMXvVIllmZTJee = false,
  5. int nHycbSwpLhrSWLwd = 20,
  6. YIMEnum_QueryDirection kDSsmTIGtYAcFzOA = YIMEnum_QueryDirection.Old,
  7. required void dFOzKXrUQFAiVUMV(
    1. List<YIMMessage>? messages
    ),
})
override

Implementation

@override
Future<void> ifIWpDeVqjJUEklq({
  required YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  required String DdEJLInBukyevMKs,
  DateTime? BZOczrjwvuQuZcVB,
  bool JGOMXvVIllmZTJee = false,
  int nHycbSwpLhrSWLwd = 20,
  YIMEnum_QueryDirection kDSsmTIGtYAcFzOA = YIMEnum_QueryDirection.Old,
  required void Function(List<YIMMessage>? messages) dFOzKXrUQFAiVUMV,
}) async {
  if (!UChfQaxIZXBHpDHw.njDzuTHDjwOofRwd.anPqdZrnWKekLPyp()) {
    lnHdKoLeAXayLaTQ.hqSwzyClHgtHzAja.bhMrnZZKiorcTBJp(() {
      dFOzKXrUQFAiVUMV.call(null);
    });
    return;
  }
  nHycbSwpLhrSWLwd = nHycbSwpLhrSWLwd > 100 ? 100 : nHycbSwpLhrSWLwd;
  Filter? CtfXnnlMSVlkkRNg;
  switch (TIVvnmucZCCCoXWZ) {
    case YIMEnum_ConversationType.P2P:
      CtfXnnlMSVlkkRNg = Filter.and([
        BZOczrjwvuQuZcVB == null
            ? Filter.notNull("time")
            : kDSsmTIGtYAcFzOA == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", BZOczrjwvuQuZcVB.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", BZOczrjwvuQuZcVB.millisecondsSinceEpoch.toString()),
        Filter.or([
          Filter.and([Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("to", DdEJLInBukyevMKs)]),
          if (!JGOMXvVIllmZTJee) Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
        ]),
        Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      CtfXnnlMSVlkkRNg = Filter.and([
        BZOczrjwvuQuZcVB == null
            ? Filter.notNull("time")
            : kDSsmTIGtYAcFzOA == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", BZOczrjwvuQuZcVB.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", BZOczrjwvuQuZcVB.millisecondsSinceEpoch.toString()),
        Filter.equals("to", DdEJLInBukyevMKs),
        if (JGOMXvVIllmZTJee) Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM),
        Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      dFOzKXrUQFAiVUMV.call([]);
      return;
  }
  final iRnmzMAYPMjltgiU = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.uKKZjqnYwajOojnf<_YIMTable_Message>(
    _YIMTableName.Message,
    kXTnRNGoMYqcQtxj: (map) => _YIMTable_Message.fromJson(map),
    fnfSorwGDrYrXXrJ: Finder(
      limit: nHycbSwpLhrSWLwd,
      sortOrders: [SortOrder("time", false)],
      filter: CtfXnnlMSVlkkRNg,
    ),
  );
  if (iRnmzMAYPMjltgiU == null) {
    lnHdKoLeAXayLaTQ.hqSwzyClHgtHzAja.bhMrnZZKiorcTBJp(() {
      dFOzKXrUQFAiVUMV.call(null);
    });
    return;
  }
  lnHdKoLeAXayLaTQ.hqSwzyClHgtHzAja.bhMrnZZKiorcTBJp(() {
    dFOzKXrUQFAiVUMV.call(iRnmzMAYPMjltgiU.reversed.map((e) => YIMMessage(kCwocHxVzlSDCcUI: e)).toList());
  });
}