import 'package:flutter/material.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/models/general_models/generic_resp_model.dart'; import 'package:mc_common_app/models/services_models/item_model.dart'; abstract class ItemsRepo { Future createServiceItems(Map map); Future getServiceItems(int serviceId); Future updateServiceItem(Map map); } class ItemsRepoImp implements ItemsRepo { @override Future createServiceItems(Map map) async { String t = AppState().getUser.data!.accessToken ?? ""; return await injector.get().postJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.createItems, map, token: t); } @override Future getServiceItems(int serviceId) async { var queryParameters = { "ServiceProviderServiceID": serviceId.toString(), }; String? token = AppState().getUser.data?.accessToken; return await injector .get() .getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? ""); } @override Future updateServiceItem(Map map) async { String t = AppState().getUser.data!.accessToken ?? ""; return await injector.get().postJsonForObject((json) => GenericRespModel.fromJson(json), ApiConsts.updateServiceItem, map, token: t); } }