This commit is contained in:
Felipe
2024-02-16 08:52:37 -05:00
parent 1c20d0c0cd
commit 9ca2b62be3
39 changed files with 2299 additions and 327 deletions
+31
View File
@@ -0,0 +1,31 @@
import 'dart:developer';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';
import 'package:user_repository/user_repository.dart';
part 'sign_in_event.dart';
part 'sign_in_state.dart';
class SignInBloc extends Bloc<SignInEvent, SignInState> {
final UserRepository _userRepository;
SignInBloc({required UserRepository userRepository})
: _userRepository = userRepository,
super(SignInInitial()) {
on<SignInRequired>((event, emit) async {
emit(SignInProcess());
try {
await _userRepository.signIn(event.email, event.password);
emit(SignInSuccess());
} catch (e) {
log(e.toString());
emit(const SignInFailure());
}
});
on<SignOutRequired>((event, emit) async {
await _userRepository.logOut();
});
}
}
+19
View File
@@ -0,0 +1,19 @@
part of 'sign_in_bloc.dart';
abstract class SignInEvent extends Equatable {
const SignInEvent();
@override
List<Object> get props => [];
}
class SignInRequired extends SignInEvent {
final String email;
final String password;
const SignInRequired(this.email, this.password);
}
class SignOutRequired extends SignInEvent {
const SignOutRequired();
}
+21
View File
@@ -0,0 +1,21 @@
part of 'sign_in_bloc.dart';
@immutable
abstract class SignInState extends Equatable {
const SignInState();
@override
List<Object> get props => [];
}
class SignInInitial extends SignInState {}
class SignInSuccess extends SignInState {}
class SignInFailure extends SignInState {
final String? message;
const SignInFailure({this.message});
}
class SignInProcess extends SignInState {}