22 lines
756 B
Dart
22 lines
756 B
Dart
import 'dart:async';
|
|
|
|
import '../data/dtos/image_model_dto.dart';
|
|
|
|
/// Interface for implementing image-fetching strategies, specific to a resource location on the internet.
|
|
///
|
|
/// Since I used a site that was more obscure than the ones in the examples, this (otherwise pointless
|
|
/// and convoluting) interface is for adding a bit of flexibility to change strategy to some other site.
|
|
abstract class ImagesApi {
|
|
ImagesApi({required String token}) : _token = token;
|
|
|
|
/// Access token provided to be used with API calls
|
|
final String _token;
|
|
|
|
/// Returns images fetched through an API as [ImageModelDTO]s.
|
|
FutureOr<Iterable<ImageModelDTO>> fetchImageUri();
|
|
|
|
FutureOr<Iterable<ImageModelDTO>> searchImages({
|
|
required String searchStr,
|
|
});
|
|
}
|