find method
See LCQuery.find.
Implementation
Future<List<LCStatus>> find(
{CachePolicy cachePolicy = CachePolicy.onlyNetwork}) async {
LCUser? user = await LCUser.getCurrent();
if (user == null) {
throw new ArgumentError.notNull('current user');
}
Map<String, dynamic> params = {
LCStatus.OwnerKey: jsonEncode(_LCEncoder.encode(user)),
LCStatus.InboxTypeKey: inboxType,
'where': _buildWhere(),
'sinceId': sinceId,
'maxId': maxId,
'limit': condition.limit
};
String? includes = condition._buildIncludes();
if (includes != null) {
params['include'] = includes;
}
String? keys = condition._buildSelectedKeys();
if (keys != null) {
params['keys'] = keys;
}
Map response = await LeanCloud._httpClient
.get('subscribe/statuses', queryParams: params);
List results = response['results'];
List<LCStatus> list = [];
results.forEach((item) {
_LCObjectData objectData = _LCObjectData.decode(item);
LCStatus status = new LCStatus();
status._merge(objectData);
status.messageId = objectData.customPropertyMap[LCStatus.MessageIdKey];
status.data = objectData.customPropertyMap;
status.inboxType = objectData.customPropertyMap[LCStatus.InboxTypeKey];
list.add(status);
});
return list;
}