mnemo_cards/lib/managers/repository/repository.dart

37 lines
822 B
Dart
Raw Normal View History

2024-05-22 20:48:44 +00:00
import 'package:mnemo_cards/managers/user_manager.dart';
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
import '../../features/purchase/in_app_purchase.dart';
abstract class Repository {
Future<UserDto> get user;
Stream<UserDto> get userStream;
Future<void> updateUser(UserDto dto);
Future<(UserDto, String)> createOrGetUser(
String externalId,
ExternalIdType idType,
String name,
);
Future<UserDto?> getUser();
Future<void> updateUserData(String id, Map<String, Object?> data);
Future<List<Map<String, Object?>>> getTests();
Future<TestDto?> getTest(String id);
Future<bool> checkPayment(
String itemId,
String key,
PaymentSystem PaymentSystem,
);
Future<bool> checkUserPayment();
Future<String?> createPayment(String id, PaymentSystem type);
}