PZljnyQTHQWpRuih method
Future<bool>
PZljnyQTHQWpRuih(
- YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
- String DdEJLInBukyevMKs, {
- ghgUnqfoANgJzhoD IpnvQLcAhgIkPBhZ = ghgUnqfoANgJzhoD.rDuHPDFhXIKMBAtv,
override
Implementation
@override
Future<bool> PZljnyQTHQWpRuih(
YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
String DdEJLInBukyevMKs, {
ghgUnqfoANgJzhoD IpnvQLcAhgIkPBhZ = ghgUnqfoANgJzhoD.rDuHPDFhXIKMBAtv,
}) async {
Filter? dNQmjNfKFjCmIqpy;
switch (TIVvnmucZCCCoXWZ) {
case YIMEnum_ConversationType.P2P:
dNQmjNfKFjCmIqpy = Filter.and([
Filter.or([
Filter.and([Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("to", DdEJLInBukyevMKs)]),
Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
]),
Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
dNQmjNfKFjCmIqpy = Filter.and([
Filter.equals("to", DdEJLInBukyevMKs),
Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final iRnmzMAYPMjltgiU = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.uKKZjqnYwajOojnf<_YIMTable_Message>(
_YIMTableName.Message,
kXTnRNGoMYqcQtxj: (map) => _YIMTable_Message.fromJson(map),
fnfSorwGDrYrXXrJ: Finder(
limit: 1,
sortOrders: [SortOrder("time", false)],
filter: dNQmjNfKFjCmIqpy,
),
);
if (iRnmzMAYPMjltgiU == null) return false;
if (iRnmzMAYPMjltgiU.isEmpty) return false;
Filter? PViwEfkxnHthuFaW;
switch (TIVvnmucZCCCoXWZ) {
case YIMEnum_ConversationType.P2P:
PViwEfkxnHthuFaW = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("lastMessage.to", DdEJLInBukyevMKs)]),
Filter.and([Filter.equals("lastMessage.to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("lastMessage.from", DdEJLInBukyevMKs)]),
]),
Filter.equals("lastMessage.conversationType", TIVvnmucZCCCoXWZ.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
PViwEfkxnHthuFaW = Filter.and([
Filter.equals("lastMessage.to", DdEJLInBukyevMKs),
Filter.equals("lastMessage.conversationType", TIVvnmucZCCCoXWZ.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final mhWtHZlcrcsGhyUg = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.CUiJDwkniNpxPMEC<_YIMTable_Conversation>(
_YIMTableName.Conversation,
(LxGZqXAMduWvarPc) {
final BXiYJGYbkPLwuERt = LxGZqXAMduWvarPc ?? _YIMTable_Conversation();
if (iRnmzMAYPMjltgiU.first.from != lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM)
switch (IpnvQLcAhgIkPBhZ) {
case ghgUnqfoANgJzhoD.RhNWXyqLXbXhjbqi:
BXiYJGYbkPLwuERt.unRead++;
break;
case ghgUnqfoANgJzhoD.JlmNBFWHCGyQvHCn:
if (BXiYJGYbkPLwuERt.unRead > 0) BXiYJGYbkPLwuERt.unRead--;
break;
case ghgUnqfoANgJzhoD.iqOiYjPAbyqWkkFy:
BXiYJGYbkPLwuERt.unRead = 0;
break;
}
BXiYJGYbkPLwuERt.lastMessage = iRnmzMAYPMjltgiU.first;
return BXiYJGYbkPLwuERt;
},
fnfSorwGDrYrXXrJ: Finder(filter: PViwEfkxnHthuFaW),
kXTnRNGoMYqcQtxj: (map) => _YIMTable_Conversation.fromJson(map),
);
if (!mhWtHZlcrcsGhyUg) return false;
return true;
}