import 'package:seshat/data/services/api_client.dart'; import 'package:seshat/domain/models/bal.dart'; import 'package:seshat/domain/models/book.dart'; import 'package:seshat/domain/models/book_instance.dart'; import 'package:seshat/domain/models/owner.dart'; import 'package:seshat/domain/models/search_result.dart'; import 'package:seshat/utils/result.dart'; class BookInstanceRepository { BookInstanceRepository({required ApiClient apiClient}) : _apiClient = apiClient; final ApiClient _apiClient; Future>> getByEan(int balId, int ean) async { return await _apiClient.getBookInstanceByEAN(balId, ean); } Future>> getBySearch( int balId, String title, String author, ) async { return await _apiClient.getBookInstanceBySearch(balId, title, author); } Future> sendBook( Book book, Owner owner, Bal bal, double price, ) async { return await _apiClient.sendBook(book, owner, bal, price); } Future> sellBooks(List books) async { Map res = {}; for (BookInstance instance in books) { res[instance.id.toString()] = instance.soldPrice; } return await _apiClient.sellBooks(res); } }