label
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:user_repository/user_repository.dart';
|
||||
|
||||
part 'auth_event.dart';
|
||||
part 'auth_state.dart';
|
||||
|
||||
class AuthBloc extends Bloc<AuthEvent, AuthState> {
|
||||
final UserRepository _userRepository;
|
||||
|
||||
AuthBloc({required UserRepository userRepository})
|
||||
: _userRepository = userRepository,
|
||||
super(AuthStateInitial()) {
|
||||
on<AuthEventLoginOAuth>(_onAuthEventLoginOAuth);
|
||||
on<AuthEventVerifyOAuth>(_onAuthEventVerifyOAuth);
|
||||
}
|
||||
|
||||
void _onAuthEventLoginOAuth(
|
||||
AuthEventLoginOAuth event, Emitter<AuthState> emit) async {
|
||||
emit(AuthStateProcess());
|
||||
try {
|
||||
await _userRepository.signInWithPhoneNumber(event.phone);
|
||||
|
||||
emit(const AuthStateVerifyOAuth(false));
|
||||
} catch (e) {
|
||||
emit(const AuthStateFailure());
|
||||
}
|
||||
}
|
||||
|
||||
void _onAuthEventVerifyOAuth(
|
||||
AuthEventVerifyOAuth event, Emitter<AuthState> emit) async {
|
||||
emit(AuthStateProcess());
|
||||
try {
|
||||
final bool isVerified = await _userRepository.verifyOTP(event.code);
|
||||
|
||||
(isVerified)
|
||||
? emit(AuthStateSuccess())
|
||||
: emit(const AuthStateVerifyOAuth(true));
|
||||
} catch (e) {
|
||||
emit(const AuthStateFailure());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
part of 'auth_bloc.dart';
|
||||
|
||||
abstract class AuthEvent extends Equatable {
|
||||
const AuthEvent();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class AuthEventLoginOAuth extends AuthEvent {
|
||||
final String phone;
|
||||
|
||||
const AuthEventLoginOAuth({required this.phone});
|
||||
}
|
||||
|
||||
class AuthEventVerifyOAuth extends AuthEvent {
|
||||
final String code;
|
||||
|
||||
const AuthEventVerifyOAuth({required this.code});
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
part of 'auth_bloc.dart';
|
||||
|
||||
abstract class AuthState extends Equatable {
|
||||
const AuthState();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class AuthStateInitial extends AuthState {}
|
||||
|
||||
class AuthStateProcess extends AuthState {}
|
||||
|
||||
class AuthStateVerifyOAuth extends AuthState {
|
||||
final bool isWrongCode;
|
||||
|
||||
const AuthStateVerifyOAuth(this.isWrongCode);
|
||||
}
|
||||
|
||||
class AuthStateSuccess extends AuthState {}
|
||||
|
||||
class AuthStateFailure extends AuthState {
|
||||
final String? message;
|
||||
|
||||
const AuthStateFailure({this.message});
|
||||
}
|
||||
@@ -18,7 +18,7 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||
SignUpRequired event, Emitter<SignUpState> emit) async {
|
||||
emit(SignUpProcess());
|
||||
try {
|
||||
MyUser user = await _userRepository.signUp(event.user, event.password);
|
||||
MyUser user = await _userRepository.signUp(event.email, event.password);
|
||||
await _userRepository.setUserData(user);
|
||||
emit(SignUpSuccess());
|
||||
} catch (e) {
|
||||
|
||||
@@ -8,8 +8,9 @@ abstract class SignUpEvent extends Equatable {
|
||||
}
|
||||
|
||||
class SignUpRequired extends SignUpEvent {
|
||||
final MyUser user;
|
||||
final String email;
|
||||
final String password;
|
||||
|
||||
const SignUpRequired(this.user, this.password);
|
||||
const SignUpRequired({required this.email, required this.password});
|
||||
// const SignUpRequired(this.email, this.password);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user