KBzcdMaVgeTLhbSO method

  1. @override
Future<bool> KBzcdMaVgeTLhbSO(
  1. YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  2. String DdEJLInBukyevMKs,
  3. bool vouKRcYFvxhACvav
)
override

Implementation

@override
Future<bool> KBzcdMaVgeTLhbSO(
  YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
  String DdEJLInBukyevMKs,
  bool vouKRcYFvxhACvav,
) async {
  if (TIVvnmucZCCCoXWZ == YIMEnum_ConversationType.ChatRoom) {
    return true;
  }
  final iRnmzMAYPMjltgiU = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.uKKZjqnYwajOojnf<_YIMTable_Message>(
    _YIMTableName.Message,
    kXTnRNGoMYqcQtxj: (map) => _YIMTable_Message.fromJson(map),
    fnfSorwGDrYrXXrJ: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: Filter.and([
        Filter.equals("to", DdEJLInBukyevMKs),
        Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM),
        Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
      ]),
    ),
  );
  if (iRnmzMAYPMjltgiU == null || iRnmzMAYPMjltgiU.isEmpty) return false;
  if (iRnmzMAYPMjltgiU.first.messageState == YIMEnum_MessageState.Success_Read) return false;
  switch (TIVvnmucZCCCoXWZ) {
    case YIMEnum_ConversationType.P2P:
      final MwlluHhjOUatIkLX = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.HtZiTsNfAGUmLizq(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        fnfSorwGDrYrXXrJ: Finder(
          filter: Filter.and([
            Filter.or(vouKRcYFvxhACvav
                ? [
                    Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
                  ]
                : [
                    Filter.and([Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("to", DdEJLInBukyevMKs)]),
                    Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
                  ]),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
          ]),
        ),
      );
      if (!MwlluHhjOUatIkLX) return false;
      break;
    case YIMEnum_ConversationType.Team:
      final MwlluHhjOUatIkLX = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.HtZiTsNfAGUmLizq(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        fnfSorwGDrYrXXrJ: Finder(
          filter: Filter.and([
            vouKRcYFvxhACvav ? Filter.and([Filter.equals("to", DdEJLInBukyevMKs), Filter.notEquals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM)]) : Filter.equals("to", DdEJLInBukyevMKs),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
          ]),
        ),
      );
      if (!MwlluHhjOUatIkLX) return false;
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
    default:
      break;
  }
  return true;
}