update: auth use cases updated

This commit is contained in:
jahongireshonqulov
2025-10-29 17:35:16 +05:00
parent 37d0713cfa
commit d31b68cde2
7 changed files with 152 additions and 0 deletions

View File

@@ -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<SuccessModel, RegisterParams> {
final AuthRepository _authRepository;
RegisterUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(RegisterParams params) async {
return _authRepository.register(params: params);
}
}
class RegisterParams {
final String firstName;
final String lastName;

View File

@@ -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<SuccessModel, ResetPasswordParams> {
final AuthRepository _authRepository;
ResetPasswordUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(ResetPasswordParams params) async {
return _authRepository.resetPassword(params: params);
}
}
class ResetPasswordParams {
final String newPassword;
final String phoneNumber;

View File

@@ -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<SuccessModel, VerifyOtpCodeParams> {
final AuthRepository _authRepository;
VerifyOtpCodeForgotPasswordUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(VerifyOtpCodeParams params) async {
return _authRepository.verifyOtpCodeResetPassword(params: params);
}
}
class VerifyOtpCodeParams {
final String otpCode;
final String phoneNumber;

View File

@@ -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<SuccessModel, VerifyOtpCodeParams> {
final AuthRepository _authRepository;
VerifyOtpCodeRegisterUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(VerifyOtpCodeParams params) async {
return _authRepository.verifyOtpCodeRegister(params: params);
}
}

View File

@@ -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<SuccessModel, VerifyPhoneNumberParams> {
final AuthRepository _authRepository;
VerifyPhoneNumberLoginUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(
VerifyPhoneNumberParams params,
) async {
return _authRepository.verifyPhoneResetPassword(params: params);
}
}
class VerifyPhoneNumberParams {
final String phoneNumber;

View File

@@ -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<SuccessModel, VerifyPhoneNumberParams> {
final AuthRepository _authRepository;
VerifyPhoneRegisterUseCase(this._authRepository);
@override
Future<Either<Failure, SuccessModel>> call(
VerifyPhoneNumberParams params,
) async {
return _authRepository.verifyPhoneRegister(params: params);
}
}