cHcferXdunSOGvab method
Future<bool>
cHcferXdunSOGvab(
- YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
- String DLwuDqfWcelSXXhD,
- bool DlPirHVvQpbDdYne
override
Implementation
@override
Future<bool> cHcferXdunSOGvab(
YIMEnum_ConversationType sZLnmTKeJUdmBFHE,
String DLwuDqfWcelSXXhD,
bool DlPirHVvQpbDdYne,
) async {
if (sZLnmTKeJUdmBFHE == 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: Filter.and([
Filter.equals("to", DLwuDqfWcelSXXhD),
Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA),
Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
]),
),
);
if (OhXEEEJrHsRvZogG == null || OhXEEEJrHsRvZogG.isEmpty) return false;
if (OhXEEEJrHsRvZogG.first.messageState == YIMEnum_MessageState.Success_Read) return false;
switch (sZLnmTKeJUdmBFHE) {
case YIMEnum_ConversationType.P2P:
final odXVprzWmJUtyrNO = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.BIatOvGnmImodxXL(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
PldCyxtbMzvNSNom: Finder(
filter: Filter.and([
Filter.or(DlPirHVvQpbDdYne
? [
Filter.and([Filter.equals("to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("from", DLwuDqfWcelSXXhD)]),
]
: [
Filter.and([Filter.equals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("to", DLwuDqfWcelSXXhD)]),
Filter.and([Filter.equals("to", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA), Filter.equals("from", DLwuDqfWcelSXXhD)]),
]),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
]),
),
);
if (!odXVprzWmJUtyrNO) return false;
break;
case YIMEnum_ConversationType.Team:
final odXVprzWmJUtyrNO = await eFtbLxhxTmdNVKuo.HsDBYdwzkEBPFhmJ.BIatOvGnmImodxXL(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
PldCyxtbMzvNSNom: Finder(
filter: Filter.and([
DlPirHVvQpbDdYne ? Filter.and([Filter.equals("to", DLwuDqfWcelSXXhD), Filter.notEquals("from", eFtbLxhxTmdNVKuo.hBYZOFteqhkvDgHA)]) : Filter.equals("to", DLwuDqfWcelSXXhD),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", sZLnmTKeJUdmBFHE.rawValue),
]),
),
);
if (!odXVprzWmJUtyrNO) return false;
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
default:
break;
}
return true;
}