new project stable version
This commit is contained in:
7
lib/domain/repositories/app_settings_repository.dart
Normal file
7
lib/domain/repositories/app_settings_repository.dart
Normal file
@@ -0,0 +1,7 @@
|
||||
import 'package:be_happy/domain/entities/map_settings.dart';
|
||||
|
||||
abstract class AppSettingsRepository {
|
||||
|
||||
Future<MapSettings> getMapSettings();
|
||||
Future<void> saveMapSettings(MapSettings settings);
|
||||
}
|
||||
14
lib/domain/repositories/auth_repository.dart
Normal file
14
lib/domain/repositories/auth_repository.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'dart:ffi';
|
||||
|
||||
import '../../core/result.dart';
|
||||
import '../entities/user_auth_data.dart';
|
||||
|
||||
abstract class AuthRepository {
|
||||
Future<String> login(String phone);
|
||||
|
||||
Future<Result<void>> verifyCode(String code, String token);
|
||||
|
||||
Future<UserAuthData> refreshToken();
|
||||
|
||||
Future<void> logout();
|
||||
}
|
||||
11
lib/domain/repositories/certificate_repository.dart
Normal file
11
lib/domain/repositories/certificate_repository.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
import '../../core/result.dart';
|
||||
import '../entities/certificate.dart';
|
||||
|
||||
abstract class CertificateRepository {
|
||||
Future<Result<List<Certificate>>> getCertificates();
|
||||
|
||||
Future<Result<Map<String, dynamic>>> purchaseCertificate({
|
||||
required int certificateId,
|
||||
required int cardId,
|
||||
});
|
||||
}
|
||||
3
lib/domain/repositories/launch_repository.dart
Normal file
3
lib/domain/repositories/launch_repository.dart
Normal file
@@ -0,0 +1,3 @@
|
||||
abstract class LaunchRepository {
|
||||
Future<bool> isFirstLaunch();
|
||||
}
|
||||
6
lib/domain/repositories/news_repository.dart
Normal file
6
lib/domain/repositories/news_repository.dart
Normal file
@@ -0,0 +1,6 @@
|
||||
import '../entities/news.dart';
|
||||
|
||||
abstract class NewsRepository {
|
||||
Future<List<NewsEntity>> getNews();
|
||||
Future<NewsEntity> getNewsById(int id);
|
||||
}
|
||||
12
lib/domain/repositories/notification_repository.dart
Normal file
12
lib/domain/repositories/notification_repository.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
import 'package:be_happy/domain/entities/client_notification.dart';
|
||||
|
||||
abstract class NotificationRepository {
|
||||
/// Устанавливает постоянное SSE-соединение и возвращает поток уведомлений
|
||||
Stream<ClientNotification> getNotificationsStream();
|
||||
|
||||
/// Отменяет уведомление по ID
|
||||
Future<ClientNotification> cancelNotification(int id);
|
||||
|
||||
/// Закрывает SSE-соединение
|
||||
void closeStream();
|
||||
}
|
||||
20
lib/domain/repositories/payment_repository.dart
Normal file
20
lib/domain/repositories/payment_repository.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import '../../core/result.dart';
|
||||
import '../entities/payment_card.dart';
|
||||
|
||||
abstract class PaymentRepository {
|
||||
Future<Result<List<PaymentCard>>> getPaymentCards();
|
||||
|
||||
Future<Result<void>> addPaymentCard({
|
||||
required String cardNumber,
|
||||
required String cardHolder,
|
||||
required String expiryMonth,
|
||||
required String expiryYear,
|
||||
required String cvv,
|
||||
});
|
||||
|
||||
Future<Result<void>> setMainPaymentCard(int cardId);
|
||||
|
||||
Future<Result<void>> removePaymentCard(int cardId);
|
||||
|
||||
Future<Result<bool>> activateSubscription(int optionId);
|
||||
}
|
||||
9
lib/domain/repositories/pin_repository.dart
Normal file
9
lib/domain/repositories/pin_repository.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
import '../entities/user_auth_data.dart';
|
||||
|
||||
abstract class PinRepository {
|
||||
Future<String?> getSavedPin();
|
||||
|
||||
Future<void> savePin(String? pin);
|
||||
|
||||
Future<void> removePin();
|
||||
}
|
||||
12
lib/domain/repositories/profile_repository.dart
Normal file
12
lib/domain/repositories/profile_repository.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
import 'dart:io';
|
||||
|
||||
import '../entities/user_check_flags.dart';
|
||||
import '../entities/user_profile.dart';
|
||||
|
||||
abstract class UserProfileRepository {
|
||||
Future<UserProfile> getProfile();
|
||||
Future<UserProfile?> updateProfile(UserProfile profile);
|
||||
Future<int?> uploadProfilePhoto(File imageFile);
|
||||
Future<UserCheckFlags?> checkUser();
|
||||
}
|
||||
|
||||
55
lib/domain/repositories/scooter_repository.dart
Normal file
55
lib/domain/repositories/scooter_repository.dart
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:be_happy/domain/entities/active_scooter_order.dart';
|
||||
|
||||
import '../../core/result.dart';
|
||||
import '../entities/point.dart';
|
||||
import '../entities/scooter.dart';
|
||||
import '../entities/subscription.dart';
|
||||
import '../entities/tariff.dart';
|
||||
import '../entities/scooter_order.dart';
|
||||
|
||||
abstract class ScooterRepository {
|
||||
Future<List<Scooter>> getScooters(List<double> area, int page, int pageSize);
|
||||
Future<Result<Scooter?>> getScooter(int id);
|
||||
Future<Result<List<Tariff>>> getAvailableTariffs(int scooterId);
|
||||
Future<Result<List<Subscription>>> getAvailableSubscriptions();
|
||||
Future<Result<Subscription>> getSubscriptionById(int id);
|
||||
Future<Result<List<Subscription>>> getClientSubscriptions();
|
||||
Future<Result<ScooterOrder>> bookScooter({
|
||||
required int scooterId,
|
||||
required int planId,
|
||||
int? subscriptionId,
|
||||
int? cardId,
|
||||
required bool isBalance,
|
||||
required bool isInsurance,
|
||||
});
|
||||
Future<Result<ScooterOrder>> startRide(int orderId);
|
||||
Future<Result<ScooterOrder>> cancelRide(int orderId);
|
||||
Future<Result<ScooterOrder>> pauseRide(int orderId);
|
||||
Future<Result<ScooterOrder>> resumeRide(int orderId);
|
||||
Future<Result<ScooterOrder>> finishRide(int orderId, List<int> files);
|
||||
Future<Result<ScooterOrder>> payRide(int orderId);
|
||||
Future<Result<List<ScooterOrder>>> getClientOrders();
|
||||
Future<Result<List<int>>> uploadScooterPhotos(List<File> images);
|
||||
Future<Result<ActiveScooterOrder>> updateScooterOrderData({
|
||||
required int orderId,
|
||||
});
|
||||
Future<Result<ScooterOrder>> payScooterOrderWithPhotos({
|
||||
required int orderId,
|
||||
required int? cardId,
|
||||
required bool isBalance,
|
||||
});
|
||||
Future<Result<ScooterOrder>> getScooterOrderById(int id);
|
||||
|
||||
Future<Result<List<ScooterOrder>>> getScooterOrderHistory({
|
||||
int page = 1,
|
||||
int pageSize = 20,
|
||||
});
|
||||
|
||||
Future<Result<Scooter?>> getScooterByTitle(String title);
|
||||
|
||||
Future<Result<List<Point>>> getScooterOrderRouteHistory(int id);
|
||||
|
||||
}
|
||||
6
lib/domain/repositories/zone_repository.dart
Normal file
6
lib/domain/repositories/zone_repository.dart
Normal file
@@ -0,0 +1,6 @@
|
||||
import '../entities/zone.dart';
|
||||
|
||||
abstract class ZoneRepository {
|
||||
Future<List<Zone>> getZones(List<double> area, int page, int pageSize);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user