XVdMdqaGLUZlUzMl method

  1. @override
Future<bool> XVdMdqaGLUZlUzMl(
  1. YIMEnum_ConversationType TMhjsByyUuXcscSR,
  2. String APZrxmPSOMdFqrhE,
  3. bool TWroEqdcmbGaigyx
)
override

Implementation

@override
Future<bool> XVdMdqaGLUZlUzMl(
  YIMEnum_ConversationType TMhjsByyUuXcscSR,
  String APZrxmPSOMdFqrhE,
  bool TWroEqdcmbGaigyx,
) async {
  if (TMhjsByyUuXcscSR == YIMEnum_ConversationType.ChatRoom) {
    return true;
  }
  final IvMCaaSVIWcQArzH = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Message>(
    _YIMTableName.Message,
    KgQmNjCadrqeQjJE: (map) => _YIMTable_Message.fromJson(map),
    RaxVrYLTOIwElzzS: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: Filter.and([
        Filter.equals("to", APZrxmPSOMdFqrhE),
        Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ),
        Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
      ]),
    ),
  );
  if (IvMCaaSVIWcQArzH == null || IvMCaaSVIWcQArzH.isEmpty) return false;
  if (IvMCaaSVIWcQArzH.first.messageState == YIMEnum_MessageState.Success_Read) return false;
  switch (TMhjsByyUuXcscSR) {
    case YIMEnum_ConversationType.P2P:
      final zNwaTwrzZYLacBWm = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.bNJxPZuTchaIARGE(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        RaxVrYLTOIwElzzS: Finder(
          filter: Filter.and([
            Filter.or(TWroEqdcmbGaigyx
                ? [
                    Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
                  ]
                : [
                    Filter.and([Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("to", APZrxmPSOMdFqrhE)]),
                    Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
                  ]),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
          ]),
        ),
      );
      if (!zNwaTwrzZYLacBWm) return false;
      break;
    case YIMEnum_ConversationType.Team:
      final zNwaTwrzZYLacBWm = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.bNJxPZuTchaIARGE(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        RaxVrYLTOIwElzzS: Finder(
          filter: Filter.and([
            TWroEqdcmbGaigyx ? Filter.and([Filter.equals("to", APZrxmPSOMdFqrhE), Filter.notEquals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ)]) : Filter.equals("to", APZrxmPSOMdFqrhE),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
          ]),
        ),
      );
      if (!zNwaTwrzZYLacBWm) return false;
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
    default:
      break;
  }
  return true;
}