import 'package:e_porter/domain/models/user_entity.dart'; import 'package:e_porter/domain/repositories/auth_repository.dart'; class LoginUseCase { final AuthRepository authRepository; LoginUseCase(this.authRepository); Future call(String email, String password) async { return await authRepository.signInWithEmailPassword(email, password); } } class GetUserRoleUseCase { final AuthRepository authRepository; GetUserRoleUseCase(this.authRepository); Future call(String uid) async { return await authRepository.getUserRole(uid); } } class GetUserDataUseCase { final AuthRepository authRepository; GetUserDataUseCase(this.authRepository); Future call(String uid) async { return await authRepository.getUserData(uid); } } class RegisterUseCase { final AuthRepository authRepository; RegisterUseCase(this.authRepository); Future call(String email, String password) async { return await authRepository.registerWithEmailPassword(email, password); } } class SaveUserDataUseCase { final AuthRepository authRepository; SaveUserDataUseCase(this.authRepository); Future call(UserData userData) async { return await authRepository.saveUserData(userData); } } class SendResetEmailUseCase { final AuthRepository repo; SendResetEmailUseCase(this.repo); Future call(String email) => repo.sendPasswordResetEmail(email); } class ConfirmResetPasswordUseCase { final AuthRepository repo; ConfirmResetPasswordUseCase(this.repo); Future call(String code, String newPassword) => repo.confirmPasswordReset(code, newPassword); }