import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:mc_common_app/models/model/provider_model.dart'; import 'package:mc_common_app/models/services/item_model.dart'; import 'package:mc_common_app/models/services/near_branch_model.dart'; import 'package:http/http.dart' as http; 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/dependencies.dart'; import 'package:flutter/cupertino.dart'; abstract class ProviderRepo { Future getAllNearBranchAndServices(); Future getServiceItems(int serviceId); Future getBranchAndServices(int providerId); } class ProviderRepoImp implements ProviderRepo { @override Future getAllNearBranchAndServices() async { // var postParams = {"serviceProviderID": AppState().getUser.data?.userInfo?.providerId.toString() ?? ""}; String t = AppState().getUser.data!.accessToken ?? ""; return await injector.get().getJsonForObject((json) => NearBrancheModel.fromJson(json), ApiConsts.GetAllNearBranches, token: t); } @override Future getServiceItems(int serviceId) async { var queryParameters = { "ServiceProviderServiceID": serviceId.toString(), }; String? token = AppState().getUser.data?.accessToken; debugPrint(token); return await injector .get() .getJsonForObject((json) => ItemModel.fromJson(json), ApiConsts.getServiceItems, queryParameters: queryParameters, token: AppState().getUser.data!.accessToken ?? ""); } @override Future getBranchAndServices(int providerId) async { var postParams = {"serviceProviderID": providerId.toString()}; String t = AppState().getUser.data!.accessToken ?? ""; return await injector.get().getJsonForObject((json) => ProviderModel.fromJson(json), ApiConsts.BranchesAndServices, queryParameters: postParams, token: t); } }