KBzcdMaVgeTLhbSO method
Future<bool>
KBzcdMaVgeTLhbSO(
- YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
- String DdEJLInBukyevMKs,
- bool vouKRcYFvxhACvav
override
Implementation
@override
Future<bool> KBzcdMaVgeTLhbSO(
YIMEnum_ConversationType TIVvnmucZCCCoXWZ,
String DdEJLInBukyevMKs,
bool vouKRcYFvxhACvav,
) async {
if (TIVvnmucZCCCoXWZ == 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: Filter.and([
Filter.equals("to", DdEJLInBukyevMKs),
Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM),
Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
]),
),
);
if (iRnmzMAYPMjltgiU == null || iRnmzMAYPMjltgiU.isEmpty) return false;
if (iRnmzMAYPMjltgiU.first.messageState == YIMEnum_MessageState.Success_Read) return false;
switch (TIVvnmucZCCCoXWZ) {
case YIMEnum_ConversationType.P2P:
final MwlluHhjOUatIkLX = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.HtZiTsNfAGUmLizq(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
fnfSorwGDrYrXXrJ: Finder(
filter: Filter.and([
Filter.or(vouKRcYFvxhACvav
? [
Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
]
: [
Filter.and([Filter.equals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("to", DdEJLInBukyevMKs)]),
Filter.and([Filter.equals("to", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM), Filter.equals("from", DdEJLInBukyevMKs)]),
]),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
]),
),
);
if (!MwlluHhjOUatIkLX) return false;
break;
case YIMEnum_ConversationType.Team:
final MwlluHhjOUatIkLX = await lnHdKoLeAXayLaTQ.vByYuYitJBHbvUKL.HtZiTsNfAGUmLizq(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
fnfSorwGDrYrXXrJ: Finder(
filter: Filter.and([
vouKRcYFvxhACvav ? Filter.and([Filter.equals("to", DdEJLInBukyevMKs), Filter.notEquals("from", lnHdKoLeAXayLaTQ.wkoLiCQozKacYjmM)]) : Filter.equals("to", DdEJLInBukyevMKs),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", TIVvnmucZCCCoXWZ.rawValue),
]),
),
);
if (!MwlluHhjOUatIkLX) return false;
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
default:
break;
}
return true;
}