findListOfItems<T extends DirectusData> method

  1. @override
Future<Iterable<T>> findListOfItems<T extends DirectusData>({
  1. Filter? filter,
  2. List<SortProperty>? sortBy,
  3. String? fields,
  4. int? limit,
  5. int? offset,
  6. String? requestIdentifier,
  7. bool canUseCacheForResponse = false,
  8. bool canSaveResponseToCache = true,
  9. bool canUseOldCachedResponseAsFallback = true,
  10. List<String> extraTags = const [],
  11. 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));
}