seQaUCGGFYuCERMG method
Future<bool>
seQaUCGGFYuCERMG(
- YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
- String DLwuDqfWcelSXXhD, {
- VeUEakwqWzqKWGlo BtkEDcyLJWFVWCMk = VeUEakwqWzqKWGlo.FnYqLiPPReANDkSU,
override
Implementation
@override
Future<bool> seQaUCGGFYuCERMG(
YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
String DLwuDqfWcelSXXhD, {
VeUEakwqWzqKWGlo BtkEDcyLJWFVWCMk = VeUEakwqWzqKWGlo.FnYqLiPPReANDkSU,
}) async {
Filter? LVhklkBeiaEfKZpE;
switch (sZLnmTKeJUdmBFHE) {
case YIMEnum_ConversationType.P2P:
LVhklkBeiaEfKZpE = Filter.and([
Filter.or([
Filter.and([Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("to", DLwuDqfWcelSXXhD)]),
Filter.and([Filter.equals("to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("from", DLwuDqfWcelSXXhD)]),
]),
Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
LVhklkBeiaEfKZpE = Filter.and([
Filter.equals("to", DLwuDqfWcelSXXhD),
Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final OhXEEEJrHsRvZogG = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.LUwlOqRgyVmlEiyp<_YIMTable_Message>(
_YIMTableName.Message,
sprgVkbCCQhGYFSK: (map) => _YIMTable_Message.fromJson(map),
PldCyxtbMzvNSNom: Finder(
limit: 1,
sortOrders: [SortOrder("time", false)],
filter: LVhklkBeiaEfKZpE,
),
);
if (OhXEEEJrHsRvZogG == null) return false;
if (OhXEEEJrHsRvZogG.isEmpty) return false;
Filter? TKUJvkDHgZbFgVJv;
switch (sZLnmTKeJUdmBFHE) {
case YIMEnum_ConversationType.P2P:
TKUJvkDHgZbFgVJv = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("lastMessage.to", DLwuDqfWcelSXXhD)]),
Filter.and([Filter.equals("lastMessage.to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("lastMessage.from", DLwuDqfWcelSXXhD)]),
]),
Filter.equals("lastMessage.conversationType", sZLnmTKeJUdmBFHE.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
TKUJvkDHgZbFgVJv = Filter.and([
Filter.equals("lastMessage.to", DLwuDqfWcelSXXhD),
Filter.equals("lastMessage.conversationType", sZLnmTKeJUdmBFHE.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final yAtsWgFXMGpxqKsw = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.jRCazBonRvppDAZy<_YIMTable_Conversation>(
_YIMTableName.Conversation,
(bnHAuWDzwImIvsuL) {
final gxECQohXBcwxDNVO = bnHAuWDzwImIvsuL ?? _YIMTable_Conversation();
if (OhXEEEJrHsRvZogG.first.from != eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA)
switch (BtkEDcyLJWFVWCMk) {
case VeUEakwqWzqKWGlo.LIwCJQquQQVpNcxe:
gxECQohXBcwxDNVO.unRead++;
break;
case VeUEakwqWzqKWGlo.PpypxztnrfNDUwrB:
if (gxECQohXBcwxDNVO.unRead > 0) gxECQohXBcwxDNVO.unRead--;
break;
case VeUEakwqWzqKWGlo.KMIeRFEKPykTWKrk:
gxECQohXBcwxDNVO.unRead = 0;
break;
}
gxECQohXBcwxDNVO.lastMessage = OhXEEEJrHsRvZogG.first;
return gxECQohXBcwxDNVO;
},
PldCyxtbMzvNSNom: Finder(filter: TKUJvkDHgZbFgVJv),
sprgVkbCCQhGYFSK: (map) => _YIMTable_Conversation.fromJson(map),
);
if (!yAtsWgFXMGpxqKsw) return false;
return true;
}