diff --git a/lib/core/di/injection_container.config.dart b/lib/core/di/injection_container.config.dart index be6144f..92fe95b 100644 --- a/lib/core/di/injection_container.config.dart +++ b/lib/core/di/injection_container.config.dart @@ -17,6 +17,17 @@ import '../../feature/auth/data/datasource/auth_datasource.dart' as _i246; import '../../feature/auth/data/repository/auth_repository_impl.dart' as _i648; import '../../feature/auth/domain/repository/auth_repository.dart' as _i884; import '../../feature/auth/domain/usecases/login_usecase.dart' as _i241; +import '../../feature/auth/domain/usecases/register_usecase.dart' as _i607; +import '../../feature/auth/domain/usecases/reset_password_usecase.dart' + as _i694; +import '../../feature/auth/domain/usecases/verify_otp_code_login_usecase.dart' + as _i318; +import '../../feature/auth/domain/usecases/verify_otp_code_register_usecase.dart' + as _i406; +import '../../feature/auth/domain/usecases/verify_phone_login_usecase.dart' + as _i801; +import '../../feature/auth/domain/usecases/verify_phone_register_usecase.dart' + as _i664; import '../../feature/auth/presentation/blocs/login_bloc/login_bloc.dart' as _i1065; import '../../feature/basket/presentation/blocs/basket_bloc.dart' as _i728; @@ -68,9 +79,28 @@ extension GetItInjectableX on _i174.GetIt { gh<_i246.AuthDatasource>(), ), ); + gh.factory<_i607.RegisterUseCase>( + () => _i607.RegisterUseCase(gh<_i884.AuthRepository>()), + ); gh.factory<_i241.LoginUseCase>( () => _i241.LoginUseCase(gh<_i884.AuthRepository>()), ); + gh.factory<_i694.ResetPasswordUseCase>( + () => _i694.ResetPasswordUseCase(gh<_i884.AuthRepository>()), + ); + gh.factory<_i318.VerifyOtpCodeForgotPasswordUseCase>( + () => + _i318.VerifyOtpCodeForgotPasswordUseCase(gh<_i884.AuthRepository>()), + ); + gh.factory<_i801.VerifyPhoneNumberLoginUseCase>( + () => _i801.VerifyPhoneNumberLoginUseCase(gh<_i884.AuthRepository>()), + ); + gh.factory<_i664.VerifyPhoneRegisterUseCase>( + () => _i664.VerifyPhoneRegisterUseCase(gh<_i884.AuthRepository>()), + ); + gh.factory<_i406.VerifyOtpCodeRegisterUseCase>( + () => _i406.VerifyOtpCodeRegisterUseCase(gh<_i884.AuthRepository>()), + ); gh.factory<_i1065.LoginBloc>( () => _i1065.LoginBloc( gh<_i241.LoginUseCase>(), diff --git a/lib/feature/auth/domain/usecases/register_usecase.dart b/lib/feature/auth/domain/usecases/register_usecase.dart index 340285c..aaabb3d 100644 --- a/lib/feature/auth/domain/usecases/register_usecase.dart +++ b/lib/feature/auth/domain/usecases/register_usecase.dart @@ -1,3 +1,22 @@ +import 'package:dartz/dartz.dart'; +import 'package:food_delivery_client/core/exceptions/failure.dart'; +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/feature/common/common.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; +@injectable +class RegisterUseCase implements UseCase { + final AuthRepository _authRepository; + + RegisterUseCase(this._authRepository); + + @override + Future> call(RegisterParams params) async { + return _authRepository.register(params: params); + } +} + class RegisterParams { final String firstName; final String lastName; diff --git a/lib/feature/auth/domain/usecases/reset_password_usecase.dart b/lib/feature/auth/domain/usecases/reset_password_usecase.dart index 0bd302d..3deacf7 100644 --- a/lib/feature/auth/domain/usecases/reset_password_usecase.dart +++ b/lib/feature/auth/domain/usecases/reset_password_usecase.dart @@ -1,3 +1,23 @@ +import 'package:dartz/dartz.dart'; +import 'package:food_delivery_client/core/exceptions/failure.dart'; +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/feature/common/common.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; +@injectable +class ResetPasswordUseCase + implements UseCase { + final AuthRepository _authRepository; + + ResetPasswordUseCase(this._authRepository); + + @override + Future> call(ResetPasswordParams params) async { + return _authRepository.resetPassword(params: params); + } +} + class ResetPasswordParams { final String newPassword; final String phoneNumber; diff --git a/lib/feature/auth/domain/usecases/verify_otp_code_login_usecase.dart b/lib/feature/auth/domain/usecases/verify_otp_code_login_usecase.dart index e11eaaf..c6dd264 100644 --- a/lib/feature/auth/domain/usecases/verify_otp_code_login_usecase.dart +++ b/lib/feature/auth/domain/usecases/verify_otp_code_login_usecase.dart @@ -1,3 +1,24 @@ +import 'package:dartz/dartz.dart'; + +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; + +@injectable + class VerifyOtpCodeForgotPasswordUseCase + implements UseCase { + final AuthRepository _authRepository; + + VerifyOtpCodeForgotPasswordUseCase(this._authRepository); + + + @override + Future> call(VerifyOtpCodeParams params) async { + return _authRepository.verifyOtpCodeResetPassword(params: params); + } +} + class VerifyOtpCodeParams { final String otpCode; final String phoneNumber; diff --git a/lib/feature/auth/domain/usecases/verify_otp_code_register_usecase.dart b/lib/feature/auth/domain/usecases/verify_otp_code_register_usecase.dart index e69de29..5ee73b0 100644 --- a/lib/feature/auth/domain/usecases/verify_otp_code_register_usecase.dart +++ b/lib/feature/auth/domain/usecases/verify_otp_code_register_usecase.dart @@ -0,0 +1,19 @@ +import 'package:dartz/dartz.dart'; +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/feature/auth/domain/usecases/verify_otp_code_login_usecase.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; + +@injectable +class VerifyOtpCodeRegisterUseCase + implements UseCase { + final AuthRepository _authRepository; + + VerifyOtpCodeRegisterUseCase(this._authRepository); + + @override + Future> call(VerifyOtpCodeParams params) async { + return _authRepository.verifyOtpCodeRegister(params: params); + } +} diff --git a/lib/feature/auth/domain/usecases/verify_phone_login_usecase.dart b/lib/feature/auth/domain/usecases/verify_phone_login_usecase.dart index b0530c7..bdd0517 100644 --- a/lib/feature/auth/domain/usecases/verify_phone_login_usecase.dart +++ b/lib/feature/auth/domain/usecases/verify_phone_login_usecase.dart @@ -1,3 +1,25 @@ +import 'package:dartz/dartz.dart'; +import 'package:food_delivery_client/core/exceptions/failure.dart'; +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/feature/common/common.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; +@injectable +class VerifyPhoneNumberLoginUseCase + implements UseCase { + final AuthRepository _authRepository; + + VerifyPhoneNumberLoginUseCase(this._authRepository); + + @override + Future> call( + VerifyPhoneNumberParams params, + ) async { + return _authRepository.verifyPhoneResetPassword(params: params); + } +} + class VerifyPhoneNumberParams { final String phoneNumber; diff --git a/lib/feature/auth/domain/usecases/verify_phone_register_usecase.dart b/lib/feature/auth/domain/usecases/verify_phone_register_usecase.dart index e69de29..69b5880 100644 --- a/lib/feature/auth/domain/usecases/verify_phone_register_usecase.dart +++ b/lib/feature/auth/domain/usecases/verify_phone_register_usecase.dart @@ -0,0 +1,21 @@ +import 'package:dartz/dartz.dart'; +import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart'; +import 'package:food_delivery_client/feature/auth/domain/usecases/verify_phone_login_usecase.dart'; +import 'package:food_delivery_client/food_delivery_client.dart'; + +import '../../../../core/usecase/usecase.dart'; + +@injectable +class VerifyPhoneRegisterUseCase + implements UseCase { + final AuthRepository _authRepository; + + VerifyPhoneRegisterUseCase(this._authRepository); + + @override + Future> call( + VerifyPhoneNumberParams params, + ) async { + return _authRepository.verifyPhoneRegister(params: params); + } +}