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/get_id_token_action.dart';
7 : import '../actions/set_id_token_result_action.dart';
8 : import '../extensions/id_token_result_extension.dart';
9 :
10 : class GetIdTokenMiddleware<T extends RedFireState>
11 : extends TypedMiddleware<T, GetIdTokenAction> {
12 0 : GetIdTokenMiddleware()
13 0 : : super((store, action, next) async {
14 0 : next(action);
15 :
16 : try {
17 0 : final service = RedFireLocator.getAuthService();
18 0 : var result = await service.getIdTokenResult()!;
19 0 : store.dispatch(SetIdTokenResultAction(result.toModel()));
20 : } catch (error, trace) {
21 0 : store.dispatchProblem(error, trace);
22 : }
23 : });
24 : }
|