Line data Source code
1 : import 'package:redux/redux.dart';
2 :
3 : import '../../../types.dart';
4 : import '../../redux/extensions/store_extensions.dart';
5 : import '../../utils/red_fire_locator.dart';
6 : import '../actions/email/sign_in_with_email_action.dart';
7 : import '../actions/reset_auth_page_action.dart';
8 : import '../actions/set_auth_step_action.dart';
9 :
10 : class SignInWithEmailMiddleware<T extends RedFireState>
11 : extends TypedMiddleware<T, SignInWithEmailAction> {
12 0 : SignInWithEmailMiddleware()
13 0 : : super((store, action, next) async {
14 0 : next(action);
15 :
16 : try {
17 0 : final service = RedFireLocator.getAuthService();
18 :
19 0 : var email = store.state.auth.emailVM.email!;
20 :
21 0 : store.dispatch(
22 : const SetAuthStepAction(AuthStepEnum.signingInWithFirebase));
23 :
24 0 : await service.signInWithEmailAndPassword(email, action.password);
25 :
26 0 : store.dispatch(const ResetAuthPageAction());
27 : } catch (error, trace) {
28 0 : store.dispatchProblem(error, trace);
29 : }
30 : });
31 : }
|