mc_gallery/lib/features/home/abstracts/images_api.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,
});
}