Line data Source code
1 : import 'package:redfire/extensions.dart';
2 : import 'package:redfire/services.dart';
3 : import 'package:redux/redux.dart';
4 :
5 : import '../../app_state.dart';
6 : import '../actions/create_section_action.dart';
7 : import '../actions/update_sections_v_m_action.dart';
8 :
9 : class CreateSectionMiddleware
10 : extends TypedMiddleware<AppState, CreateSectionAction> {
11 1 : CreateSectionMiddleware()
12 2 : : super((store, action, next) async {
13 1 : next(action);
14 :
15 : try {
16 1 : final service = RedFireLocator.getHttpService();
17 :
18 1 : store.dispatch(
19 : const UpdateSectionsVMAction(creatingNewSection: true));
20 :
21 5 : await service.createSection(name: store.state.sections.newName);
22 : } catch (error, trace) {
23 0 : store.dispatchProblem(error, trace);
24 : }
25 : });
26 : }
|