queryPackages method
Future<UnpubQueryResult>
queryPackages({
- required int size,
- required int page,
- required String sort,
- String? keyword,
- String? uploader,
- String? dependency,
override
Implementation
@override
Future<UnpubQueryResult> queryPackages({
required size,
required page,
required sort,
keyword,
uploader,
dependency,
}) {
var selector =
where.sortBy(sort, descending: true).limit(size).skip(page * size);
if (keyword != null) {
selector = selector.match('name', '.*$keyword.*');
}
if (uploader != null) {
selector = selector.eq('uploaders', uploader);
}
if (dependency != null) {
selector = selector.raw({
'versions': {
r'$elemMatch': {
'pubspec.dependencies.$dependency': {r'$exists': true}
}
}
});
}
return _queryPackagesBySelector(selector);
}