import 'package:easy_localization/easy_localization.dart'; import 'package:mc_common_app/api/api_client.dart'; import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/config/dependency_injection.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/models/general_models/generic_resp_model.dart'; import 'package:mc_common_app/models/setting_utils_models/app_info_model.dart'; import 'package:mc_common_app/models/setting_utils_models/contact_infos_model.dart'; import 'package:mc_common_app/models/setting_utils_models/faqs_model.dart'; import 'package:mc_common_app/utils/utils.dart'; abstract class SettingOptionsRepo { Future> getAllFaqs(); Future> getAllContactInfos(); Future> getAppInfoList(); } class SettingOptionsRepoImp extends SettingOptionsRepo { ApiClient apiClient = injector.get(); AppState appState = injector.get(); @override Future> getAllFaqs() async { String token = appState.getUser.data!.accessToken ?? ""; GenericRespModel genericRespModel = await injector.get().getJsonForObject( (json) => GenericRespModel.fromJson(json), ApiConsts.getAllFAQs, token: token, ); if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) { Utils.showToast(genericRespModel.message ?? LocaleKeys.somethingWrong.tr()); return []; } List list = List.generate(genericRespModel.data.length, (index) => FAQsModel.fromJson(genericRespModel.data[index])); return list; } @override Future> getAllContactInfos() async { String token = appState.getUser.data!.accessToken ?? ""; GenericRespModel genericRespModel = await injector.get().getJsonForObject( (json) => GenericRespModel.fromJson(json), ApiConsts.getContactInfo, token: token, ); if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) { Utils.showToast(genericRespModel.message ?? LocaleKeys.somethingWrong.tr()); return []; } List list = List.generate(genericRespModel.data.length, (index) => ContactInfoModel.fromJson(genericRespModel.data[index])); return list; } @override Future> getAppInfoList() async { String token = appState.getUser.data!.accessToken ?? ""; GenericRespModel genericRespModel = await injector.get().getJsonForObject( (json) => GenericRespModel.fromJson(json), ApiConsts.getAppInfo, token: token, ); if (genericRespModel.messageStatus != 1 || genericRespModel.data == null) { Utils.showToast(genericRespModel.message ?? LocaleKeys.somethingWrong.tr()); return []; } List list = List.generate(genericRespModel.data.length, (index) => AppInfoModel.fromJson(genericRespModel.data[index])); return list; } }