XVdMdqaGLUZlUzMl method
Future<bool>
XVdMdqaGLUZlUzMl(
- YIMEnum_ConversationType TMhjsByyUuXcscSR,
- String APZrxmPSOMdFqrhE,
- bool TWroEqdcmbGaigyx
override
Implementation
@override
Future<bool> XVdMdqaGLUZlUzMl(
YIMEnum_ConversationType TMhjsByyUuXcscSR,
String APZrxmPSOMdFqrhE,
bool TWroEqdcmbGaigyx,
) async {
if (TMhjsByyUuXcscSR == 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: Filter.and([
Filter.equals("to", APZrxmPSOMdFqrhE),
Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ),
Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
]),
),
);
if (IvMCaaSVIWcQArzH == null || IvMCaaSVIWcQArzH.isEmpty) return false;
if (IvMCaaSVIWcQArzH.first.messageState == YIMEnum_MessageState.Success_Read) return false;
switch (TMhjsByyUuXcscSR) {
case YIMEnum_ConversationType.P2P:
final zNwaTwrzZYLacBWm = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.bNJxPZuTchaIARGE(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
RaxVrYLTOIwElzzS: Finder(
filter: Filter.and([
Filter.or(TWroEqdcmbGaigyx
? [
Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
]
: [
Filter.and([Filter.equals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("to", APZrxmPSOMdFqrhE)]),
Filter.and([Filter.equals("to", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ), Filter.equals("from", APZrxmPSOMdFqrhE)]),
]),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
]),
),
);
if (!zNwaTwrzZYLacBWm) return false;
break;
case YIMEnum_ConversationType.Team:
final zNwaTwrzZYLacBWm = await LLTqoNwdULMbTCMh.fWmDEyWlYlSzIgZn.bNJxPZuTchaIARGE(
_YIMTableName.Message,
() => {"messageState": YIMEnum_MessageState.Success_Read.rawValue},
RaxVrYLTOIwElzzS: Finder(
filter: Filter.and([
TWroEqdcmbGaigyx ? Filter.and([Filter.equals("to", APZrxmPSOMdFqrhE), Filter.notEquals("from", LLTqoNwdULMbTCMh.IemXKsVNcGUWeUgJ)]) : Filter.equals("to", APZrxmPSOMdFqrhE),
Filter.equals("messageState", YIMEnum_MessageState.Success_UnRead.rawValue),
Filter.equals("conversationType", TMhjsByyUuXcscSR.rawValue),
]),
),
);
if (!zNwaTwrzZYLacBWm) return false;
break;
case YIMEnum_ConversationType.ChatRoom:
return true;
default:
break;
}
return true;
}