RNFknVLCuPJTcxUh method
Future<bool>
RNFknVLCuPJTcxUh(
- YIMEnum_ConversationType BgfAEObZrclDbHGn,
- String fRzBwkFTgPAvTbAa, {
- gWSJVIFaNLgWZquB BEauSsLtWtcLsOcZ = gWSJVIFaNLgWZquB.XjEushaimpJPZMpt,
override
Implementation
@override
Future<bool> RNFknVLCuPJTcxUh(
YIMEnum_ConversationType BgfAEObZrclDbHGn,
String fRzBwkFTgPAvTbAa, {
gWSJVIFaNLgWZquB BEauSsLtWtcLsOcZ = gWSJVIFaNLgWZquB.XjEushaimpJPZMpt,
}) async {
Filter? OqfxWwRRugiwhlaA;
switch (BgfAEObZrclDbHGn) {
case YIMEnum_ConversationType.P2P:
OqfxWwRRugiwhlaA = Filter.and([
Filter.or([
Filter.and([Filter.equals("from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("to", fRzBwkFTgPAvTbAa)]),
Filter.and([Filter.equals("to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("from", fRzBwkFTgPAvTbAa)]),
]),
Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
OqfxWwRRugiwhlaA = Filter.and([
Filter.equals("to", fRzBwkFTgPAvTbAa),
Filter.equals("conversationType", BgfAEObZrclDbHGn.rawValue),
]);
break;
case 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: OqfxWwRRugiwhlaA,
),
);
if (BYjAdmrVoQXFvmBX == null) return false;
if (BYjAdmrVoQXFvmBX.isEmpty) return false;
Filter? zIeqXzcaEvxPpBIs;
switch (BgfAEObZrclDbHGn) {
case YIMEnum_ConversationType.P2P:
zIeqXzcaEvxPpBIs = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("lastMessage.to", fRzBwkFTgPAvTbAa)]),
Filter.and([Filter.equals("lastMessage.to", RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM), Filter.equals("lastMessage.from", fRzBwkFTgPAvTbAa)]),
]),
Filter.equals("lastMessage.conversationType", BgfAEObZrclDbHGn.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
zIeqXzcaEvxPpBIs = Filter.and([
Filter.equals("lastMessage.to", fRzBwkFTgPAvTbAa),
Filter.equals("lastMessage.conversationType", BgfAEObZrclDbHGn.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final ANnTYtigbJnrIMlC = await RgTTqSEnxRPxFwzl.XYSDgLkjooSuxQxj.eRIbHgmHxeninihv<_YIMTable_Conversation>(
_YIMTableName.Conversation,
(zDqyvHEjrzZBfmZE) {
final RbOFBoUMiGshbGjp = zDqyvHEjrzZBfmZE ?? _YIMTable_Conversation();
if (BYjAdmrVoQXFvmBX.first.from != RgTTqSEnxRPxFwzl.KXZihjAgwIbphLgM)
switch (BEauSsLtWtcLsOcZ) {
case gWSJVIFaNLgWZquB.QKURXizoydiDeeuw:
RbOFBoUMiGshbGjp.unRead++;
break;
case gWSJVIFaNLgWZquB.wZoEapqhbfeHGaNm:
if (RbOFBoUMiGshbGjp.unRead > 0) RbOFBoUMiGshbGjp.unRead--;
break;
case gWSJVIFaNLgWZquB.nLGtXtdFASGsQfnj:
RbOFBoUMiGshbGjp.unRead = 0;
break;
}
RbOFBoUMiGshbGjp.lastMessage = BYjAdmrVoQXFvmBX.first;
return RbOFBoUMiGshbGjp;
},
IaZSeQoXPmnqurCt: Finder(filter: zIeqXzcaEvxPpBIs),
AssMtxrsCpVcieAX: (map) => _YIMTable_Conversation.fromJson(map),
);
if (!ANnTYtigbJnrIMlC) return false;
return true;
}