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';
|
|
|
|
|
|
|
|
|
|
abstract class Repository {
|
|
|
|
|
Future<UserDto> get user;
|
|
|
|
|
|
|
|
|
|
Stream<UserDto> get userStream;
|
|
|
|
|
|
|
|
|
|
Future<void> updateUser(UserDto dto);
|
|
|
|
|
|
2024-06-16 19:01:33 +00:00
|
|
|
Future<void> applyPromocode(String promocode);
|
|
|
|
|
|
2024-05-22 20:48:44 +00:00
|
|
|
Future<(UserDto, String)> createOrGetUser(
|
|
|
|
|
String externalId,
|
|
|
|
|
ExternalIdType idType,
|
2024-07-25 07:47:46 +00:00
|
|
|
String email,
|
2024-07-03 20:56:13 +00:00
|
|
|
String? name,
|
2024-05-22 20:48:44 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
Future<UserDto?> getUser();
|
|
|
|
|
|
2024-07-03 20:56:13 +00:00
|
|
|
void setAuthToken(String? authToken);
|
|
|
|
|
|
2024-06-12 23:00:13 +00:00
|
|
|
Future<void> updateUserData(UserDataDto data);
|
2024-05-22 20:48:44 +00:00
|
|
|
|
2024-06-12 23:00:13 +00:00
|
|
|
Future<void> updateUserSettings(UserSettingsDto settings);
|
|
|
|
|
|
|
|
|
|
Future<void> addTestStatistics(TestStatisticsDto testStatistics);
|
|
|
|
|
|
2024-06-16 19:01:33 +00:00
|
|
|
Future<List<TestDto>> getTests();
|
2024-05-22 20:48:44 +00:00
|
|
|
|
|
|
|
|
Future<TestDto?> getTest(String id);
|
|
|
|
|
|
2024-08-03 22:37:10 +00:00
|
|
|
Future<bool> checkPayment({
|
|
|
|
|
required String itemId,
|
|
|
|
|
required String key,
|
|
|
|
|
required PaymentSystem paymentSystem,
|
|
|
|
|
});
|
2024-05-22 20:48:44 +00:00
|
|
|
|
|
|
|
|
Future<bool> checkUserPayment();
|
|
|
|
|
|
|
|
|
|
Future<String?> createPayment(String id, PaymentSystem type);
|
|
|
|
|
}
|