rpcGzxzmwAGAbiws method

  1. @override
Future<bool> rpcGzxzmwAGAbiws(
  1. YIMEnum_ConversationType BgfAEObZrclDbHGn,
  2. String fRzBwkFTgPAvTbAa,
  3. bool xSZKmpMEJaNPcEIt
)
override

Implementation

@override
Future<bool> rpcGzxzmwAGAbiws(
  YIMEnum_ConversationType BgfAEObZrclDbHGn,
  String fRzBwkFTgPAvTbAa,
  bool xSZKmpMEJaNPcEIt,
) async {
  if (BgfAEObZrclDbHGn == YIMEnum_ConversationType.ChatRoom) {
    return true;
  }
  final BYjAdmrVoQXFvmBX = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.mIfLIZlbruepMfyA<_YIMTable_Message>(
    _YIMTableName.Message,
    AssMtxrsCpVcieAX: (map) => _YIMTable_Message.fromJson(map),
    IaZSeQoXPmnqurCt: Finder(
      limit: 1,
      sortOrders: [SortOrder("time", false)],
      filter: Filter.and([
        Filter.equals("to", fRzBwkFTgPAvTbAa),
        Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM),
        Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
      ]),
    ),
  );
  if (BYjAdmrVoQXFvmBX == null || BYjAdmrVoQXFvmBX.isEmpty) return false;
  if (BYjAdmrVoQXFvmBX.first.messageState == YIMEnum_MessageState.Success_Read) return false;
  switch (BgfAEObZrclDbHGn) {
    case YIMEnum_ConversationType.P2P:
      final OPaxiwSajPiBBYxv = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.wlEqwXkgMLSssAPA(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        IaZSeQoXPmnqurCt: Finder(
          filter: Filter.and([
            Filter.or(xSZKmpMEJaNPcEIt
                ? [
                    Filter.and([Filter.equals("to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("from", fRzBwkFTgPAvTbAa)]),
                  ]
                : [
                    Filter.and([Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("to", fRzBwkFTgPAvTbAa)]),
                    Filter.and([Filter.equals("to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("from", fRzBwkFTgPAvTbAa)]),
                  ]),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
          ]),
        ),
      );
      if (!OPaxiwSajPiBBYxv) return false;
      break;
    case YIMEnum_ConversationType.Team:
      final OPaxiwSajPiBBYxv = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.wlEqwXkgMLSssAPA(
        _YIMTableName.Message,
        () => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
        IaZSeQoXPmnqurCt: Finder(
          filter: Filter.and([
            xSZKmpMEJaNPcEIt ? Filter.and([Filter.equals("to", fRzBwkFTgPAvTbAa), Filter.notEquals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM)]) : Filter.equals("to", fRzBwkFTgPAvTbAa),
            Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
            Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
          ]),
        ),
      );
      if (!OPaxiwSajPiBBYxv) return false;
      break;
    case YIMEnum_ConversationType.ChatRoom:
      return true;
    default:
      break;
  }
  return true;
}