LOrNalDjvtnQhQIM method

  1. @override
Future<void> LOrNalDjvtnQhQIM({
  1. required YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
  2. required String DLwuDqfWcelSXXhD,
  3. DateTime? wEGgjjkPZroGRMBH,
  4. bool YDvJpShJbgSbCRLa = false,
  5. int swIyramKDJOzbOJN = 20,
  6. YIMEnum_QueryDirection PGHjmMojYHTgGTXx = YIMEnum_QueryDirection.Old,
  7. required void OMKwYKeBBFVoTNBl(
    1. List<YIMMessage>? messages
    ),
})
override

Implementation

@override
Future<void> LOrNalDjvtnQhQIM({
  required YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
  required String DLwuDqfWcelSXXhD,
  DateTime? wEGgjjkPZroGRMBH,
  bool YDvJpShJbgSbCRLa = false,
  int swIyramKDJOzbOJN = 20,
  YIMEnum_QueryDirection PGHjmMojYHTgGTXx = YIMEnum_QueryDirection.Old,
  required void Function(List<YIMMessage>? messages) OMKwYKeBBFVoTNBl,
}) async {
  if (!ptLoDBriUoBUHreo.uvWNunbGgtEdyNiW.otQyjQrYNfRgpyCy()) {
    eFtbLxhxTmdNVKuo.WeloVHMlcPVpCsCr.vUWyYsqBHvAmVrYc(() {
      OMKwYKeBBFVoTNBl.call(null);
    });
    return;
  }
  swIyramKDJOzbOJN = swIyramKDJOzbOJN > 100 ? 100 : swIyramKDJOzbOJN;
  Filter? tTliTnHJVQHQfYah;
  switch (sZLnmTKeJUdmBFHE) {
    case YIMEnum_ConversationType.P2P:
      tTliTnHJVQHQfYah = Filter.and([
        wEGgjjkPZroGRMBH == null
            ? Filter.notNull("time")
            : PGHjmMojYHTgGTXx == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", wEGgjjkPZroGRMBH.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", wEGgjjkPZroGRMBH.millisecondsSinceEpoch.toString()),
        Filter.or([
          Filter.and([Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("to", DLwuDqfWcelSXXhD)]),
          if (!YDvJpShJbgSbCRLa) Filter.and([Filter.equals("to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("from", DLwuDqfWcelSXXhD)]),
        ]),
        Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.Team:
      tTliTnHJVQHQfYah = Filter.and([
        wEGgjjkPZroGRMBH == null
            ? Filter.notNull("time")
            : PGHjmMojYHTgGTXx == YIMEnum_QueryDirection.Old
                ? Filter.lessThan("time", wEGgjjkPZroGRMBH.millisecondsSinceEpoch.toString())
                : Filter.greaterThan("time", wEGgjjkPZroGRMBH.millisecondsSinceEpoch.toString()),
        Filter.equals("to", DLwuDqfWcelSXXhD),
        if (YDvJpShJbgSbCRLa) Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA),
        Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
      ]);
      break;
    case YIMEnum_ConversationType.ChatRoom:
      OMKwYKeBBFVoTNBl.call([]);
      return;
  }
  final OhXEEEJrHsRvZogG = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.LUwlOqRgyVmlEiyp<_YIMTable_Message>(
    _YIMTableName.Message,
    sprgVkbCCQhGYFSK: (map) => _YIMTable_Message.fromJson(map),
    PldCyxtbMzvNSNom: Finder(
      limit: swIyramKDJOzbOJN,
      sortOrders: [SortOrder("time", false)],
      filter: tTliTnHJVQHQfYah,
    ),
  );
  if (OhXEEEJrHsRvZogG == null) {
    eFtbLxhxTmdNVKuo.WeloVHMlcPVpCsCr.vUWyYsqBHvAmVrYc(() {
      OMKwYKeBBFVoTNBl.call(null);
    });
    return;
  }
  eFtbLxhxTmdNVKuo.WeloVHMlcPVpCsCr.vUWyYsqBHvAmVrYc(() {
    OMKwYKeBBFVoTNBl.call(OhXEEEJrHsRvZogG.reversed.map((e) => YIMMessage(mWEnrkpgWgfnODZg: e)).toList());
  });
}