1import 'package:equatable/equatable.dart';
2import 'package:flutter_bloc/flutter_bloc.dart';
4import '../../../../../core/common/use_case/use_case.dart';
5import '../../../../../core/error/failures.dart';
6import '../../../../../core/services/service_locator.dart';
7import '../../../domain/entities/credentials_entity.dart';
8import '../../../domain/entities/session_entity.dart';
9import '../../../domain/use_cases/check_biometric_auth_availability_usecase.dart';
10import '../../../domain/use_cases/fast_sign_in_usecase.dart';
11import '../../../domain/use_cases/load_credentials_usecase.dart';
12import '../../../domain/use_cases/load_session_usecase.dart';
13import '../../../domain/use_cases/signin_usecases.dart';
14import '../../../domain/use_cases/signout_usecase.dart';
16part
'authentication_event.dart';
17part
'authentication_state.dart';
39 Emitter<AuthenticationState> emit,
50 Emitter<AuthenticationState> emit,
52 emit(AuthenticatingState());
56 (session) => emit(AuthenticatedState(session: session)),
62 Emitter<AuthenticationState> emit,
64 emit(FastSignInLoading());
68 (session) => emit(FastSignInLoaded()),
74 Emitter<AuthenticationState> emit,
79 (
_) => emit(UnauthenticatedState()),
84 LoadSessionEvent event,
85 Emitter<AuthenticationState> emit,
93 ? UnauthenticatedState()
94 : AuthenticatedState(session: session),
101 LoadCredentialsEvent event,
102 Emitter<AuthenticationState> emit,
112 CheckBiometricAuthenticationAvailabilityEvent event,
113 Emitter<AuthenticationState> emit,
117 (
failure) => emit(BiometricAuthUnavailable()),
120 isAvailable ? BiometricAuthAvailable() : BiometricAuthUnavailable(),
const SignInEvent({required this.reqEntity})
const FastSignInEvent({required this.reqEntity})
final class AuthenticatedState extends AuthenticationState credentials
sealed class AuthenticationState extends Equatable failure
const CredentialsLoadedState({required this.credentials})
const FastSignInFailed({required this.failure})
const AuthenticationFailureState({required this.failure})
Future< void > _onCheckBiometricAuthenticationAvailabilityEvent(CheckBiometricAuthenticationAvailabilityEvent event, Emitter< AuthenticationState > emit,) async
final _loadSessionUseCase
final _loadUserCredentialsUseCase
Future< void > _onLoadCredentialsEvent(LoadCredentialsEvent event, Emitter< AuthenticationState > emit,) async
Future< void > _onloadEmailEvent(LoadEmailEvent event, Emitter< AuthenticationState > emit,) async
Future< void > _onSignInEvent(SignInEvent event, Emitter< AuthenticationState > emit,) async
Future< void > _onLoadSessionEvent(LoadSessionEvent event, Emitter< AuthenticationState > emit,) async
Future< void > _onSignOutEvent(SignOutEvent event, Emitter< AuthenticationState > emit,) async
final _checkBiometricAuthAvailabilityUseCase
Future< void > _onFastSignInEvent(FastSignInEvent event, Emitter< AuthenticationState > emit,) async