pfTPJroZwJBxwUPx method
Future<bool>
pfTPJroZwJBxwUPx(
- YIMEnum_ConversationType CSRdXHauzEiJPnyU,
- String kXPxdzdFgCLkwYVq, {
- vynCQDxdpGGARqvh KjRVTXUIZKHTmQlH = vynCQDxdpGGARqvh.OObQGTWdrolPsWcF,
override
Implementation
@override
Future<bool> pfTPJroZwJBxwUPx(
YIMEnum_ConversationType CSRdXHauzEiJPnyU,
String kXPxdzdFgCLkwYVq, {
vynCQDxdpGGARqvh KjRVTXUIZKHTmQlH = vynCQDxdpGGARqvh.OObQGTWdrolPsWcF,
}) async {
Filter? AcKfJxHtbDkTiizD;
switch (CSRdXHauzEiJPnyU) {
case YIMEnum_ConversationType.P2P:
AcKfJxHtbDkTiizD = Filter.and([
Filter.or([
Filter.and([Filter.equals("from", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("to", kXPxdzdFgCLkwYVq)]),
Filter.and([Filter.equals("to", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("from", kXPxdzdFgCLkwYVq)]),
]),
Filter.equals("conversationType", CSRdXHauzEiJPnyU.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
AcKfJxHtbDkTiizD = Filter.and([
Filter.equals("to", kXPxdzdFgCLkwYVq),
Filter.equals("conversationType", CSRdXHauzEiJPnyU.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final OAewyZklKaQyugFK = await IWvngdrdSCGoIQFk.IzkLEyfaeUtmyaMq.OYBHyMdnmLROjGQB<_YIMTable_Message>(
_YIMTableName.Message,
rcVxJnEHvvFFihUv: (map) => _YIMTable_Message.fromJson(map),
nYhinPGOzAGXmYDt: Finder(
limit: 1,
sortOrders: [SortOrder("time", false)],
filter: AcKfJxHtbDkTiizD,
),
);
if (OAewyZklKaQyugFK == null) return false;
if (OAewyZklKaQyugFK.isEmpty) return false;
Filter? jLxlECrBfTfNgcce;
switch (CSRdXHauzEiJPnyU) {
case YIMEnum_ConversationType.P2P:
jLxlECrBfTfNgcce = Filter.and([
Filter.or([
Filter.and([Filter.equals("lastMessage.from", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("lastMessage.to", kXPxdzdFgCLkwYVq)]),
Filter.and([Filter.equals("lastMessage.to", IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh), Filter.equals("lastMessage.from", kXPxdzdFgCLkwYVq)]),
]),
Filter.equals("lastMessage.conversationType", CSRdXHauzEiJPnyU.rawValue),
]);
break;
case YIMEnum_ConversationType.Team:
jLxlECrBfTfNgcce = Filter.and([
Filter.equals("lastMessage.to", kXPxdzdFgCLkwYVq),
Filter.equals("lastMessage.conversationType", CSRdXHauzEiJPnyU.rawValue),
]);
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
}
final FWMxHRleeYFFsaCz = await IWvngdrdSCGoIQFk.IzkLEyfaeUtmyaMq.SDqapwsUAZoiIRzY<_YIMTable_Conversation>(
_YIMTableName.Conversation,
(MneXRmBLrimHPLXW) {
final UxXOhdSyuwCuyDhj = MneXRmBLrimHPLXW ?? _YIMTable_Conversation();
if (OAewyZklKaQyugFK.first.from != IWvngdrdSCGoIQFk.uFyjzAUDFSIRZEsh)
switch (KjRVTXUIZKHTmQlH) {
case vynCQDxdpGGARqvh.IAZBXkUUBYUPvduY:
UxXOhdSyuwCuyDhj.unRead++;
break;
case vynCQDxdpGGARqvh.RlNLvxTIprHXEOSa:
if (UxXOhdSyuwCuyDhj.unRead > 0) UxXOhdSyuwCuyDhj.unRead--;
break;
case vynCQDxdpGGARqvh.jwfuMkhpHwrDDDGT:
UxXOhdSyuwCuyDhj.unRead = 0;
break;
}
UxXOhdSyuwCuyDhj.lastMessage = OAewyZklKaQyugFK.first;
return UxXOhdSyuwCuyDhj;
},
nYhinPGOzAGXmYDt: Finder(filter: jLxlECrBfTfNgcce),
rcVxJnEHvvFFihUv: (map) => _YIMTable_Conversation.fromJson(map),
);
if (!FWMxHRleeYFFsaCz) return false;
return true;
}