feat:mai page done
This commit is contained in:
26
lib/feature/auth/domain/usecases/login_usecase.dart
Normal file
26
lib/feature/auth/domain/usecases/login_usecase.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:food_delivery_client/core/usecase/usecase.dart';
|
||||
import 'package:food_delivery_client/feature/auth/data/models/response/login_response.dart';
|
||||
import 'package:food_delivery_client/feature/auth/domain/repository/auth_repository.dart';
|
||||
import 'package:food_delivery_client/food_delivery_client.dart';
|
||||
@injectable
|
||||
class LoginUseCase implements UseCase<LoginResponseModel, LoginParams> {
|
||||
final AuthRepository _authRepository;
|
||||
|
||||
LoginUseCase(this._authRepository);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, LoginResponseModel>> call(LoginParams params) async {
|
||||
return _authRepository.login(
|
||||
phoneNumber: params.phoneNumber,
|
||||
password: params.password,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class LoginParams {
|
||||
final String phoneNumber;
|
||||
final String password;
|
||||
|
||||
LoginParams({required this.phoneNumber, required this.password});
|
||||
}
|
||||
32
lib/feature/auth/domain/usecases/register_usecase.dart
Normal file
32
lib/feature/auth/domain/usecases/register_usecase.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
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;
|
||||
final String phoneNumber;
|
||||
final String password;
|
||||
|
||||
RegisterParams({
|
||||
required this.firstName,
|
||||
required this.lastName,
|
||||
required this.phoneNumber,
|
||||
required this.password,
|
||||
});
|
||||
}
|
||||
26
lib/feature/auth/domain/usecases/reset_password_usecase.dart
Normal file
26
lib/feature/auth/domain/usecases/reset_password_usecase.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
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;
|
||||
|
||||
ResetPasswordParams({required this.newPassword, required this.phoneNumber});
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
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 dynamic otpCode;
|
||||
final String phoneNumber;
|
||||
|
||||
VerifyOtpCodeParams({required this.otpCode, required this.phoneNumber});
|
||||
}
|
||||
|
||||
class OtpCodePageParams {
|
||||
final String phoneNumber;
|
||||
final bool isRegister;
|
||||
|
||||
OtpCodePageParams({required this.phoneNumber, required this.isRegister});
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
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;
|
||||
|
||||
VerifyPhoneNumberParams({required this.phoneNumber});
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user