before
This commit is contained in:
@@ -19,13 +19,23 @@ class AuthenticationBloc
|
||||
_userSubscription = userRepository.streamUser().listen((authUser) {
|
||||
add(AuthenticationUserChanged(authUser));
|
||||
});
|
||||
on<AuthenticationUserChanged>((event, emit) {
|
||||
if (event.user != null) {
|
||||
emit(AuthenticationState.authenticated(event.user!));
|
||||
} else {
|
||||
emit(const AuthenticationState.unauthenticated());
|
||||
}
|
||||
});
|
||||
on<AuthenticationUserChanged>(_onAuthenticationUserChanged);
|
||||
on<AuthenticationLogoutRequested>(_onAuthenticationLogoutRequested);
|
||||
}
|
||||
|
||||
void _onAuthenticationUserChanged(
|
||||
AuthenticationUserChanged event, Emitter<AuthenticationState> emit) {
|
||||
emit(
|
||||
event.user != null
|
||||
? AuthenticationState.authenticated(event.user!)
|
||||
: const AuthenticationState.unauthenticated(),
|
||||
);
|
||||
}
|
||||
|
||||
void _onAuthenticationLogoutRequested(AuthenticationLogoutRequested event,
|
||||
Emitter<AuthenticationState> emit) async {
|
||||
await userRepository.logOut();
|
||||
emit(const AuthenticationState.unauthenticated());
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -11,15 +11,18 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||
SignUpBloc({required UserRepository userRepository})
|
||||
: _userRepository = userRepository,
|
||||
super(SignUpInitial()) {
|
||||
on<SignUpRequired>((event, emit) async {
|
||||
emit(SignUpProcess());
|
||||
try {
|
||||
MyUser user = await _userRepository.signUp(event.user, event.password);
|
||||
await _userRepository.setUserData(user);
|
||||
emit(SignUpSuccess());
|
||||
} catch (e) {
|
||||
emit(SignUpFailure());
|
||||
}
|
||||
});
|
||||
on<SignUpRequired>(_onSignUpRequired);
|
||||
}
|
||||
|
||||
void _onSignUpRequired(
|
||||
SignUpRequired event, Emitter<SignUpState> emit) async {
|
||||
emit(SignUpProcess());
|
||||
try {
|
||||
MyUser user = await _userRepository.signUp(event.user, event.password);
|
||||
await _userRepository.setUserData(user);
|
||||
emit(SignUpSuccess());
|
||||
} catch (e) {
|
||||
emit(SignUpFailure());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,18 +14,35 @@ class SignInBloc extends Bloc<SignInEvent, SignInState> {
|
||||
SignInBloc({required UserRepository userRepository})
|
||||
: _userRepository = userRepository,
|
||||
super(SignInInitial()) {
|
||||
on<SignInRequired>((event, emit) async {
|
||||
emit(SignInProcess());
|
||||
userRepository.streamUser().listen((authUser) {
|
||||
try {
|
||||
await _userRepository.signIn(event.email, event.password);
|
||||
emit(SignInSuccess());
|
||||
if (authUser == null) {
|
||||
emit(SignInFailure());
|
||||
} else {
|
||||
emit(SignInSuccess());
|
||||
}
|
||||
} catch (e) {
|
||||
log(e.toString());
|
||||
emit(const SignInFailure());
|
||||
}
|
||||
});
|
||||
on<SignOutRequired>((event, emit) async {
|
||||
await _userRepository.logOut();
|
||||
});
|
||||
on<SignInRequired>(_onSignInRequired);
|
||||
on<SignOutRequired>(_onSignOutRequired);
|
||||
}
|
||||
|
||||
void _onSignInRequired(
|
||||
SignInRequired event, Emitter<SignInState> emit) async {
|
||||
emit(SignInProcess());
|
||||
try {
|
||||
await _userRepository.signIn(event.email, event.password);
|
||||
emit(SignInSuccess());
|
||||
} catch (e) {
|
||||
log(e.toString());
|
||||
emit(const SignInFailure());
|
||||
}
|
||||
}
|
||||
|
||||
void _onSignOutRequired(
|
||||
SignOutRequired event, Emitter<SignInState> emit) async {
|
||||
await _userRepository.logOut();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user