@@ -3,10 +3,16 @@ import 'dart:async';
33import 'package:bloc/bloc.dart' ;
44import 'package:dipantau_desktop_client/core/usecase/usecase.dart' ;
55import 'package:dipantau_desktop_client/core/util/helper.dart' ;
6+ import 'package:dipantau_desktop_client/feature/data/model/all_user_setting/all_user_setting_response.dart' ;
67import 'package:dipantau_desktop_client/feature/data/model/kv_setting/kv_setting_body.dart' ;
78import 'package:dipantau_desktop_client/feature/data/model/kv_setting/kv_setting_response.dart' ;
9+ import 'package:dipantau_desktop_client/feature/data/model/user_setting/user_setting_body.dart' ;
10+ import 'package:dipantau_desktop_client/feature/data/model/user_setting/user_setting_response.dart' ;
11+ import 'package:dipantau_desktop_client/feature/domain/usecase/get_all_user_setting/get_all_user_setting.dart' ;
812import 'package:dipantau_desktop_client/feature/domain/usecase/get_kv_setting/get_kv_setting.dart' ;
13+ import 'package:dipantau_desktop_client/feature/domain/usecase/get_user_setting/get_user_setting.dart' ;
914import 'package:dipantau_desktop_client/feature/domain/usecase/set_kv_setting/set_kv_setting.dart' ;
15+ import 'package:dipantau_desktop_client/feature/domain/usecase/update_user_setting/update_user_setting.dart' ;
1016
1117part 'setting_event.dart' ;
1218
@@ -16,15 +22,27 @@ class SettingBloc extends Bloc<SettingEvent, SettingState> {
1622 final Helper helper;
1723 final GetKvSetting getKvSetting;
1824 final SetKvSetting setKvSetting;
25+ final GetUserSetting getUserSetting;
26+ final GetAllUserSetting getAllUserSetting;
27+ final UpdateUserSetting updateUserSetting;
1928
2029 SettingBloc ({
2130 required this .helper,
2231 required this .getKvSetting,
2332 required this .setKvSetting,
33+ required this .getUserSetting,
34+ required this .getAllUserSetting,
35+ required this .updateUserSetting,
2436 }) : super (InitialSettingState ()) {
2537 on < LoadKvSettingEvent > (_onLoadKvSettingEvent);
2638
2739 on < UpdateKvSettingEvent > (_onUpdateKvSettingEvent);
40+
41+ on < LoadUserSettingEvent > (_onLoadUserSettingEvent);
42+
43+ on < LoadAllUserSettingEvent > (_onLoadAllUserSettingEvent);
44+
45+ on < UpdateUserSettingEvent > (_onUpdateUserSettingEvent);
2846 }
2947
3048 FutureOr <void > _onLoadKvSettingEvent (
@@ -57,4 +75,44 @@ class SettingBloc extends Bloc<SettingEvent, SettingState> {
5775 final errorMessage = helper.getErrorMessageFromFailure (failure);
5876 emit (FailureSnackBarSettingState (errorMessage: errorMessage));
5977 }
78+
79+ FutureOr <void > _onLoadUserSettingEvent (LoadUserSettingEvent event, Emitter <SettingState > emit) async {
80+ emit (LoadingCenterSettingState ());
81+ final (: response, : failure) = await getUserSetting (NoParams ());
82+ if (response != null ) {
83+ emit (SuccessLoadUserSettingState (response: response));
84+ return ;
85+ }
86+
87+ final errorMessage = helper.getErrorMessageFromFailure (failure);
88+ emit (FailureSettingState (errorMessage: errorMessage));
89+ }
90+
91+ FutureOr <void > _onLoadAllUserSettingEvent (LoadAllUserSettingEvent event, Emitter <SettingState > emit) async {
92+ emit (LoadingCenterSettingState ());
93+ final (: response, : failure) = await getAllUserSetting (NoParams ());
94+ if (response != null ) {
95+ emit (SuccessLoadAllUserSettingState (response: response));
96+ return ;
97+ }
98+
99+ final errorMessage = helper.getErrorMessageFromFailure (failure);
100+ emit (FailureSettingState (errorMessage: errorMessage));
101+ }
102+
103+ FutureOr <void > _onUpdateUserSettingEvent (UpdateUserSettingEvent event, Emitter <SettingState > emit) async {
104+ emit (LoadingButtonSettingState ());
105+ final (: response, : failure) = await updateUserSetting (
106+ ParamsUpdateUserSetting (
107+ body: event.body,
108+ ),
109+ );
110+ if (response != null ) {
111+ emit (SuccessUpdateUserSettingState ());
112+ return ;
113+ }
114+
115+ final errorMessage = helper.getErrorMessageFromFailure (failure);
116+ emit (FailureSnackBarSettingState (errorMessage: errorMessage));
117+ }
60118}
0 commit comments