find method
Implementation
Future<LCSearchResponse<T>> find() async {
String path = 'search/select';
Map<String, dynamic> queryParams = {
'clazz': className,
'limit': _limit,
'skip': _skip
};
if (_queryString != null) {
queryParams['q'] = _queryString;
}
if (_highlights != null && _highlights!.length > 0) {
queryParams['highlights'] = _highlights!.join(',');
}
if (_includeKeys != null && _includeKeys!.length > 0) {
queryParams['include'] = _includeKeys!.join(',');
}
if (_sid != null) {
queryParams['sid'] = _sid;
}
if (_orders != null && _orders!.length > 0) {
queryParams['order'] = _orders!.join(',');
}
if (_sortBuilder != null) {
queryParams['sort'] = _sortBuilder!._build();
}
Map response = await LeanCloud._httpClient
.get(path, queryParams: queryParams);
LCSearchResponse<T> ret = new LCSearchResponse<T>();
ret.hits = response['hits'];
ret.sid = response['sid'];
ret.results = <T>[];
List results = response['results'];
results.forEach((item) {
_LCObjectData objectData = _LCObjectData.decode(item);
T object = LCObject._create<T>(className);
object._merge(objectData);
ret.results!.add(object);
});
return ret;
}