rpcGzxzmwAGAbiws method
Future<bool>
rpcGzxzmwAGAbiws(
- YIMEnum_ConversationType BgfAEObZrclDbHGn,
- String fRzBwkFTgPAvTbAa,
- 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;
}