wMubTEqkFbXrseOf method
Future<bool>
wMubTEqkFbXrseOf(
- YIMEnum_ConversationType TMhjsByyUuXcscSR,
- String APZrxmPSOMdFqrhE, {
- HWeWyeCJyQtwlSNl uiHyFYalrgOKbWFH = HWeWyeCJyQtwlSNl.LYybvXEMeNKoyHfF,
override
Implementation
@override
Future<bool> wMubTEqkFbXrseOf(
YIMEnum_ConversationType TMhjsByyUuXcscSR,
String APZrxmPSOMdFqrhE, {
HWeWyeCJyQtwlSNl uiHyFYalrgOKbWFH = HWeWyeCJyQtwlSNl.LYybvXEMeNKoyHfF,
}) async {
Filter? CHHwGDvmOFaLjYfE;
switch (TMhjsByyUuXcscSR) {
case YIMEnum_ConversationType.P2P:
CHHwGDvmOFaLjYfE = Filter.and([
Filter.or([
Filter.and([Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("to", APZrxmPSOMdFqrhE)]),
Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
]),
Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
CHHwGDvmOFaLjYfE = Filter.and([
Filter.equals("to", APZrxmPSOMdFqrhE),
Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final IvMCaaSVIWcQArzH = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.JHzMkZIpOnZbQRwO<_YIMTable_Message>(
_YIMTableName.Message,
KgQmNjCadrqeQjJE: (map) => _YIMTable_Message.fromJson(map),
RaxVrYLTOIwElzzS: Finder(
limit: 1,
sortOrders: [SortOrder("time", false)],
filter: CHHwGDvmOFaLjYfE,
),
);
if (IvMCaaSVIWcQArzH == null) return false;
if (IvMCaaSVIWcQArzH.isEmpty) return false;
Filter? RyDvVcXmnThgbKWY;
switch (TMhjsByyUuXcscSR) {
case YIMEnum_ConversationType.P2P:
RyDvVcXmnThgbKWY = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.to", APZrxmPSOMdFqrhE)]),
Filter.and([Filter.equals("lastMessage.to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("lastMessage.from", APZrxmPSOMdFqrhE)]),
]),
Filter.equals("lastMessage.conversationType", TMhjsByyUuXcscSR.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
RyDvVcXmnThgbKWY = Filter.and([
Filter.equals("lastMessage.to", APZrxmPSOMdFqrhE),
Filter.equals("lastMessage.conversationType", TMhjsByyUuXcscSR.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final ooUoKzshjHGgNnLX = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.UXWtntmCNgMmqtcQ<_YIMTable_Conversation>(
_YIMTableName.Conversation,
(snASIbbnhGihRLOr) {
final tmmBlSfEBRBRYXTr = snASIbbnhGihRLOr ?? _YIMTable_Conversation();
if (IvMCaaSVIWcQArzH.first.from != LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ)
switch (uiHyFYalrgOKbWFH) {
case HWeWyeCJyQtwlSNl.odHTDFQDIWZrltfj:
tmmBlSfEBRBRYXTr.unRead++;
break;
case HWeWyeCJyQtwlSNl.AMgIgIZTLWHSnzLl:
if (tmmBlSfEBRBRYXTr.unRead > 0) tmmBlSfEBRBRYXTr.unRead--;
break;
case HWeWyeCJyQtwlSNl.iibmzSFBvlultFXg:
tmmBlSfEBRBRYXTr.unRead = 0;
break;
}
tmmBlSfEBRBRYXTr.lastMessage = IvMCaaSVIWcQArzH.first;
return tmmBlSfEBRBRYXTr;
},
RaxVrYLTOIwElzzS: Finder(filter: RyDvVcXmnThgbKWY),
KgQmNjCadrqeQjJE: (map) => _YIMTable_Conversation.fromJson(map),
);
if (!ooUoKzshjHGgNnLX) return false;
return true;
}