This repository has been archived on 2025-08-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Seshat/lib/data/repositories/book_instance_repository.dart
2025-08-15 14:48:27 +02:00

34 lines
1 KiB
Dart

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/utils/result.dart';
class BookInstanceRepository {
BookInstanceRepository({required ApiClient apiClient})
: _apiClient = apiClient;
final ApiClient _apiClient;
Future<Result<List<BookInstance>>> getByEan(int balId, int ean) async {
return await _apiClient.getBookInstanceByEAN(balId, ean);
}
Future<Result<BookInstance>> sendBook(
Book book,
Owner owner,
Bal bal,
double price,
) async {
return await _apiClient.sendBook(book, owner, bal, price);
}
Future<Result<void>> sellBooks(List<BookInstance> books) async {
Map<String, double?> res = {};
for (BookInstance instance in books) {
res[instance.id.toString()] = instance.soldPrice;
}
return await _apiClient.sellBooks(res);
}
}