findListOfItems<T extends DirectusData> method
Future<Iterable<T> >
findListOfItems<T extends DirectusData>({
- Filter? filter,
- List<
SortProperty> ? sortBy, - String? fields,
- int? limit,
- int? offset,
- String? requestIdentifier,
- bool canUseCacheForResponse = false,
- bool canSaveResponseToCache = true,
- bool canUseOldCachedResponseAsFallback = true,
- List<
String> extraTags = const [], - Duration maxCacheAge = const Duration(days: 1),
override
Implementation
@override
Future<Iterable<T>> findListOfItems<T extends DirectusData>(
{Filter? filter,
List<SortProperty>? sortBy,
String? fields,
int? limit,
int? offset,
String? requestIdentifier,
bool canUseCacheForResponse = false,
bool canSaveResponseToCache = true,
bool canUseOldCachedResponseAsFallback = true,
/// Extra tags to associate with the cache entry
List<String> extraTags = const [],
Duration maxCacheAge = const Duration(days: 1)}) {
final collectionClass = _metadataGenerator.getClassMirrorForType(T);
final collectionMetadata = _collectionMetadataFromClass(collectionClass);
return _sendRequest(
requestIdentifier: requestIdentifier,
canUseCacheForResponse: canUseCacheForResponse,
canSaveResponseToCache: canSaveResponseToCache,
canUseOldCachedResponseAsFallback: canUseOldCachedResponseAsFallback,
maxCacheAge: maxCacheAge,
prepareRequest: () => _api.prepareGetListOfItemsRequest(
endpointName: collectionMetadata.endpointName,
endpointPrefix: collectionMetadata.endpointPrefix,
filter: filter,
sortBy: sortBy,
fields: fields ?? collectionMetadata.defaultFields,
limit: limit,
offset: offset,
tags: ["${collectionMetadata.endpointName}/list", ...extraTags]),
parseResponse: (response) => _api
.parseGetListOfItemsResponse(response)
.map((json) => collectionClass.newInstance('', [json]) as T));
}