30 lines
815 B
Dart
30 lines
815 B
Dart
import 'package:bloc/bloc.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
import 'package:enaklo_pos/data/datasources/auth_remote_datasource.dart';
|
|
import 'package:enaklo_pos/data/models/response/auth_response_model.dart';
|
|
|
|
part 'login_bloc.freezed.dart';
|
|
part 'login_event.dart';
|
|
part 'login_state.dart';
|
|
|
|
class LoginBloc extends Bloc<LoginEvent, LoginState> {
|
|
final AuthRemoteDatasource authRemoteDatasource;
|
|
LoginBloc(
|
|
this.authRemoteDatasource,
|
|
) : super(const _Initial()) {
|
|
on<_Login>((event, emit) async {
|
|
emit(const _Loading());
|
|
|
|
final result = await authRemoteDatasource.login(
|
|
event.email,
|
|
event.password,
|
|
);
|
|
result.fold(
|
|
(error) => emit(_Error(error)),
|
|
(success) => emit(_Success(success)),
|
|
);
|
|
});
|
|
}
|
|
}
|