Untitled
user_2803349
plain_text
5 months ago
28 kB
2
Indexable
import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:http/http.dart'; import 'package:intl/intl.dart'; import 'package:mighty_delivery/extensions/extension_util/int_extensions.dart'; import 'package:mighty_delivery/extensions/extension_util/string_extensions.dart'; import 'package:mighty_delivery/extensions/extension_util/widget_extensions.dart'; import 'package:mighty_delivery/main/models/CategoryModel.dart'; import 'package:mighty_delivery/main/models/DashboardCountModel.dart'; import 'package:mighty_delivery/main/models/PageListModel.dart'; import 'package:mighty_delivery/main/models/WorkHoursListModel.dart'; import '../../extensions/common.dart'; import '../../extensions/shared_pref.dart'; import '../../extensions/system_utils.dart'; import '../../languageConfiguration/ServerLanguageResponse.dart'; import '../../main.dart'; import '../../main/models/ChangePasswordResponse.dart'; import '../../main/models/CityDetailModel.dart'; import '../../main/models/CityListModel.dart'; import '../../main/models/CountryDetailModel.dart'; import '../../main/models/CountryListModel.dart'; import '../../main/models/DeliveryDocumentListModel.dart'; import '../../main/models/DocumentListModel.dart'; import '../../main/models/LDBaseResponse.dart'; import '../../main/models/LoginResponse.dart'; import '../../main/models/NotificationModel.dart'; import '../../main/models/OrderListModel.dart'; import '../../main/models/ParcelTypeListModel.dart'; import '../../main/models/PaymentGatewayListModel.dart'; import '../../main/screens/LoginScreen.dart'; import '../../main/utils/Constants.dart'; import '../models/AddressListModel.dart'; import '../models/AppSettingModel.dart'; import '../models/AutoCompletePlacesListModel.dart'; import '../models/DirectionsResponse.dart'; import '../models/InvoiceSettingModel.dart'; import '../models/OrderDetailModel.dart'; import '../models/PlaceIdDetailModel.dart'; import '../models/ProductListModel.dart'; import '../models/StoreListModel.dart'; import '../models/UserProfileDetailModel.dart'; import '../models/VehicleModel.dart'; import '../models/WalletListModel.dart'; import '../models/WithDrawListModel.dart'; import 'NetworkUtils.dart'; //region Auth Future<LoginResponse> signUpApi(Map request) async { Response response = await buildHttpResponse('register', request: request, method: HttpMethod.POST); if (!response.statusCode.isSuccessful()) { if (response.body.isJson()) { var json = jsonDecode(response.body); if (json.containsKey('code') && json['code'].toString().contains('invalid_username')) { throw 'invalid_username'; } } } return await handleResponse(response).then((json) async { var loginResponse = LoginResponse.fromJson(json); return loginResponse; }).catchError((e) { log(e.toString()); throw e.toString(); }); } Future<LoginResponse> logInApi(Map request, {bool isSocialLogin = false}) async { Response response = await buildHttpResponse(isSocialLogin ? 'social-login' : 'login', request: request, method: HttpMethod.POST); if (!response.statusCode.isSuccessful()) { if (response.body.isJson()) { var json = jsonDecode(response.body); if (json.containsKey('code') && json['code'].toString().contains('invalid_username')) { throw 'invalid_username'; } } } return await handleResponse(response).then((json) async { var loginResponse = LoginResponse.fromJson(json); await setValue(USER_ID, loginResponse.data!.id.validate()); await setValue(NAME, loginResponse.data!.name.validate()); await setValue(USER_EMAIL, loginResponse.data!.email.validate()); await setValue(USER_TOKEN, loginResponse.data!.apiToken.validate()); await setValue(USER_CONTACT_NUMBER, loginResponse.data!.contactNumber.validate()); await setValue(USER_TYPE, loginResponse.data!.userType.validate()); await setValue(USER_NAME, loginResponse.data!.username.validate()); await setValue(STATUS, loginResponse.data!.status.validate()); await setValue(USER_ADDRESS, loginResponse.data!.address.validate()); await setValue(COUNTRY_ID, loginResponse.data!.countryId.validate()); await setValue(CITY_ID, loginResponse.data!.cityId.validate()); await setValue(OTP_VERIFIED, loginResponse.data!.otpVerifyAt != null); await setValue(EMAIL_VERIFIED, loginResponse.data!.emailVerifiedAt != null); appStore.setUserProfile(loginResponse.data!.profileImage.validate()); await userService.getUser(email: loginResponse.data!.email.validate()).then((value) async { log(value.toString()); // await setValue(UID, value.uid.validate()); }).catchError((e) { log(e.toString()); print("---------------${loginResponse.data!.loginType}"); if (loginResponse.data!.loginType == LoginTypeGoogle || loginResponse.data!.loginType == LoginTypeApple) { } else if (e.toString() == "User not found") { // toast("-----------------user not found"); // if(loginResponse.data!.loginType == ) authService.registerUserWithDB(loginResponse.data!.email.validate(), request["password"], loginResponse); // toast(language.userNotFound); } }); await setValue(IS_VERIFIED_DELIVERY_MAN, !loginResponse.data!.documentVerifiedAt.isEmptyOrNull); await appStore.setUserEmail(loginResponse.data!.email.validate()); if (getIntAsync(STATUS) == 1) { await appStore.setLogin(true); } else { await appStore.setLogin(false); } if (!isSocialLogin) await setValue(USER_PASSWORD, request['password']); return loginResponse; }).catchError((e) { log(e.toString()); throw e.toString(); }); } Future<void> logout(BuildContext context, {bool isFromLogin = false, bool isDeleteAccount = false, bool isVerification = false}) async { clearData() async { await removeKey(USER_ID); await removeKey(NAME); await removeKey(USER_TOKEN); await removeKey(USER_CONTACT_NUMBER); await removeKey(USER_PROFILE_PHOTO); await removeKey(USER_TYPE); await removeKey(USER_NAME); await removeKey(USER_ADDRESS); await removeKey(STATUS); await removeKey(COUNTRY_ID); await removeKey(COUNTRY_DATA); await removeKey(CITY_ID); await removeKey(CITY_DATA); await removeKey(FILTER_DATA); await removeKey(IS_VERIFIED_DELIVERY_MAN); await removeKey(OTP_VERIFIED); if (!getBoolAsync(REMEMBER_ME)) { await removeKey(USER_EMAIL); await removeKey(USER_PASSWORD); } if (getStringAsync(LOGIN_TYPE) == LoginTypeGoogle) { await removeKey(USER_EMAIL); await removeKey(USER_PASSWORD); await removeKey(LOGIN_TYPE); await removeKey(REMEMBER_ME); } await appStore.setLogin(false); appStore.setFiltering(false); appStore.setUserProfile(''); if (isFromLogin) { // toast(language.credentialNotMatch); comment this because show popup before logout } else { LoginScreen().launch(context, isNewTask: true); } if (isVerification) { LoginScreen().launch(context, isNewTask: true); } } if (getStringAsync(USER_TYPE) == DELIVERY_MAN && !isVerification && positionStream != null) { positionStream!.cancel(); } if (isDeleteAccount) { clearData(); } else if (isVerification) { clearData(); LoginScreen().launch(context, isNewTask: true); } else { appStore.setLoading(true); await logoutApi().then((value) async { clearData(); appStore.setLoading(false); }).catchError((e) { appStore.setLoading(false); throw e.toString(); }); } } Future<ChangePasswordResponseModel> changePassword(Map req) async { return ChangePasswordResponseModel.fromJson( await handleResponse(await buildHttpResponse('change-password', request: req, method: HttpMethod.POST))); } Future<ChangePasswordResponseModel> forgotPassword(Map req) async { return ChangePasswordResponseModel.fromJson( await handleResponse(await buildHttpResponse('forget-password', request: req, method: HttpMethod.POST))); } Future<MultipartRequest> getMultiPartRequest(String endPoint, {String? baseUrl}) async { String url = '${baseUrl ?? buildBaseUrl(endPoint).toString()}'; log(url); return MultipartRequest('POST', Uri.parse(url)); } Future sendMultiPartRequest(MultipartRequest multiPartRequest, {Function(dynamic)? onSuccess, Function(dynamic)? onError}) async { multiPartRequest.headers.addAll(buildHeaderTokens()); await multiPartRequest.send().then((res) async { log(res.statusCode); await res.stream.transform(utf8.decoder).listen((value) { log("new listen"); log(value); onSuccess?.call(jsonDecode(value)); }); /* StringBuffer buffer = StringBuffer(); await for (String chunk in res.stream.transform(utf8.decoder)) { buffer.write(chunk); } final str = jsonDecode(buffer.toString()); onSuccess?.call(str);*/ }).catchError((error) { onError?.call(error.toString()); }); } /// Profile Update Future<UserData> getUserDetail(int id) async { return UserData.fromJson(await handleResponse(await buildHttpResponse('user-detail?id=$id', method: HttpMethod.GET)) .then((value) => value['data'])); } /// Create Order Api Future<LDBaseResponse> createOrder(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('order-save', request: request, method: HttpMethod.POST))); } Future<LDBaseResponse> deleteOrder(int id) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('order-delete/$id', method: HttpMethod.POST))); } Future<OrderDetailModel> getOrderDetails(int id) async { return OrderDetailModel.fromJson( await handleResponse(await buildHttpResponse('order-detail?id=$id', method: HttpMethod.GET))); } /// ParcelType Api Future<ParcelTypeListModel> getParcelTypeList({int? page}) async { return ParcelTypeListModel.fromJson(await handleResponse( await buildHttpResponse('staticdata-list?type=parcel_type&per_page=-1', method: HttpMethod.GET))); } Future<CountryListModel> getCountryList() async { return CountryListModel.fromJson( await handleResponse(await buildHttpResponse('country-list?per_page=-1', method: HttpMethod.GET))); } Future<CountryDetailModel> getCountryDetail(int id) async { return CountryDetailModel.fromJson( await handleResponse(await buildHttpResponse('country-detail?id=$id', method: HttpMethod.GET))); } Future<CityListModel> getCityList({required int countryId, String? name}) async { return CityListModel.fromJson(await handleResponse(await buildHttpResponse( name != null ? 'city-list?country_id=$countryId&search=$name&per_page=-1' : 'city-list?country_id=$countryId&per_page=-1', method: HttpMethod.GET))); } Future<CityDetailModel> getCityDetail(int id) async { return CityDetailModel.fromJson( await handleResponse(await buildHttpResponse('city-detail?id=$id', method: HttpMethod.GET))); } ///Vehicle Future<VehicleListModel> getVehicleList( {String? type, int? perPage, int? page, int? cityID, bool isDeleted = false, int? totalItem, int? totalPage = 10}) async { if (cityID != null) { return VehicleListModel.fromJson(await handleResponse( await buildHttpResponse('vehicle-list?city_id=$cityID&per_page=-1&status=1', method: HttpMethod.GET))); } else { return VehicleListModel.fromJson( await handleResponse(await buildHttpResponse('vehicle-list?per_page=-1', method: HttpMethod.GET))); } } /// get OrderList Future<OrderListModel> getOrderList( {required int page, String? orderStatus, String? fromDate, String? toDate, String? excludeStatus}) async { String endPoint = 'order-list?client_id=${getIntAsync(USER_ID)}&city_id=${getIntAsync(CITY_ID)}&page=$page'; if (orderStatus.validate().isNotEmpty) { endPoint += '&status=$orderStatus'; } if (excludeStatus.validate().isNotEmpty) { endPoint += '&exclude_status=$excludeStatus'; } if (fromDate.validate().isNotEmpty && toDate.validate().isNotEmpty) { endPoint += '&from_date=${DateFormat('yyyy-MM-dd').format(DateTime.parse(fromDate.validate()))}&to_date=${DateFormat('yyyy-MM-dd').format(DateTime.parse(toDate.validate()))}'; } return OrderListModel.fromJson(await handleResponse(await buildHttpResponse(endPoint, method: HttpMethod.GET))); } /// get deliveryBoy orderList Future<OrderListModel> getDeliveryBoyOrderList( {required int page, required int deliveryBoyID, required int countryId, required int cityId, required String orderStatus}) async { return OrderListModel.fromJson(await handleResponse(await buildHttpResponse( 'order-list?delivery_man_id=$deliveryBoyID&page=$page&city_id=$cityId&country_id=$countryId&status=$orderStatus', method: HttpMethod.GET))); } /// update status Future updateStatus({String? orderStatus, int? orderId}) async { MultipartRequest multiPartRequest = await getMultiPartRequest('order-update/$orderId'); multiPartRequest.fields['status'] = orderStatus.validate(); await sendMultiPartRequest(multiPartRequest, onSuccess: (data) async { if (data != null) { // } }, onError: (error) { toast(error.toString()); }); } /// update order Future updateOrder({ String? pickupDatetime, String? deliveryDatetime, String? clientName, String? deliveryman, String? orderStatus, String? reason, int? orderId, File? picUpSignature, File? deliverySignature, }) async { MultipartRequest multiPartRequest = await getMultiPartRequest('order-update/$orderId'); if (pickupDatetime != null) multiPartRequest.fields['pickup_datetime'] = pickupDatetime; if (deliveryDatetime != null) multiPartRequest.fields['delivery_datetime'] = deliveryDatetime; if (clientName != null) multiPartRequest.fields['pickup_confirm_by_client'] = clientName; if (deliveryman != null) multiPartRequest.fields['pickup_confirm_by_delivery_man'] = deliveryman; if (reason != null) multiPartRequest.fields['reason'] = reason; if (orderStatus != null) multiPartRequest.fields['status'] = orderStatus; if (picUpSignature != null) multiPartRequest.files.add(await MultipartFile.fromPath('pickup_time_signature', picUpSignature.path)); if (deliverySignature != null) multiPartRequest.files.add(await MultipartFile.fromPath('delivery_time_signature', deliverySignature.path)); print("==> ${multiPartRequest.toString()}"); await sendMultiPartRequest(multiPartRequest, onSuccess: (data) async { if (data != null) { // } }, onError: (error) { toast(error.toString()); }); } Future<PaymentGatewayListModel> getPaymentGatewayList() async { return PaymentGatewayListModel.fromJson( await handleResponse(await buildHttpResponse('paymentgateway-list?status=1', method: HttpMethod.GET))); } Future<LDBaseResponse> savePayment(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('payment-save', request: request, method: HttpMethod.POST))); } Future<WithDrawListModel> getWithDrawList({int? page}) async { return WithDrawListModel.fromJson( await handleResponse(await buildHttpResponse('withdrawrequest-list?page=$page', method: HttpMethod.GET))); } Future<LDBaseResponse> saveWithDrawRequest(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('save-withdrawrequest', method: HttpMethod.POST, request: request))); } /// Get Notification List Future<NotificationListModel> getNotification({required int page, Map? request}) async { if (request != null) { return NotificationListModel.fromJson(await handleResponse( await buildHttpResponse('notification-list?limit=20&page=$page', request: request, method: HttpMethod.POST))); } else { return NotificationListModel.fromJson(await handleResponse( await buildHttpResponse('notification-list?limit=20&page=$page', method: HttpMethod.POST))); } } /// Get Document List Future<DocumentListModel> getDocumentList({int? page}) async { return DocumentListModel.fromJson( await handleResponse(await buildHttpResponse('document-list?status=1&per_page=-1', method: HttpMethod.GET))); } /// Get Delivery Document List Future<DeliveryDocumentListModel> getDeliveryPersonDocumentList({int? page}) async { return DeliveryDocumentListModel.fromJson( await handleResponse(await buildHttpResponse('delivery-man-document-list?per_page=-1', method: HttpMethod.GET))); } Future<LDBaseResponse> deleteDeliveryDoc(int id) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('delivery-man-document-delete/$id', method: HttpMethod.POST))); } /// App Setting Future<AppSettingModel> getAppSetting() async { return AppSettingModel.fromJson( await handleResponse(await buildHttpResponse('get-appsetting', method: HttpMethod.GET))); } /// Cancel AutoAssign order Future<LDBaseResponse> cancelAutoAssignOrder(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('order-auto-assign', request: request, method: HttpMethod.POST))); } Future<AutoCompletePlacesListModel> placeAutoCompleteApi( {String searchText = '', String countryCode = "in", String language = 'en'}) async { return AutoCompletePlacesListModel.fromJson(await handleResponse(await buildHttpResponse( 'place-autocomplete-api?country_code=$countryCode&language=$language&search_text=$searchText', method: HttpMethod.GET))); } Future<PlaceIdDetailModel> getPlaceDetail({String placeId = ''}) async { return PlaceIdDetailModel.fromJson( await handleResponse(await buildHttpResponse('place-detail-api?placeid=$placeId', method: HttpMethod.GET))); } Future<LDBaseResponse> deleteUser(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('delete-user', request: req, method: HttpMethod.POST))); } Future<LDBaseResponse> userAction(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('user-action', request: request, method: HttpMethod.POST))); } Future<WalletListModel> getWalletList({required int page}) async { return WalletListModel.fromJson( await handleResponse(await buildHttpResponse('wallet-list?page=$page', method: HttpMethod.GET))); } Future<LDBaseResponse> saveWallet(Map request) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('save-wallet', method: HttpMethod.POST, request: request))); } /// Update Bank Info Future updateBankDetail( {String? bankName, String? bankCode, String? accountName, String? accountNumber, String? bankAddress, String? routingNumber, String? bankIban, String? bankSwift}) async { MultipartRequest multiPartRequest = await getMultiPartRequest('update-profile'); multiPartRequest.fields['id'] = getIntAsync(USER_ID).toString(); multiPartRequest.fields['email'] = getStringAsync(USER_EMAIL).validate(); multiPartRequest.fields['contact_number'] = getStringAsync(USER_CONTACT_NUMBER).validate(); multiPartRequest.fields['username'] = getStringAsync(USER_NAME).validate(); multiPartRequest.fields['user_bank_account[bank_name]'] = bankName.validate(); multiPartRequest.fields['user_bank_account[bank_code]'] = bankCode.validate(); multiPartRequest.fields['user_bank_account[account_holder_name]'] = accountName.validate(); multiPartRequest.fields['user_bank_account[account_number]'] = accountNumber.validate(); multiPartRequest.fields['user_bank_account[bank_address]'] = bankAddress.validate(); multiPartRequest.fields['user_bank_account[routing_number]'] = routingNumber.validate(); multiPartRequest.fields['user_bank_account[bank_iban]'] = bankIban.validate(); multiPartRequest.fields['user_bank_account[bank_swift]'] = bankSwift.validate(); await sendMultiPartRequest(multiPartRequest, onSuccess: (data) async { if (data != null) { // } }, onError: (error) { toast(error.toString()); }); } Future<LDBaseResponse> logoutApi() async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('logout?clear=player_id', method: HttpMethod.GET))); } Future<EarningList> getPaymentList({required int page}) async { return EarningList.fromJson(await handleResponse(await buildHttpResponse( 'payment-list?page=$page&delivery_man_id=${getIntAsync(USER_ID)}&type=earning', method: HttpMethod.GET))); } Future<UserProfileDetailModel> getUserProfile() async { return UserProfileDetailModel.fromJson(await handleResponse( await buildHttpResponse('user-profile-detail?id=${getIntAsync(USER_ID)}', method: HttpMethod.GET))); } Future<InvoiceSettingModel> getInvoiceSetting() async { return InvoiceSettingModel.fromJson( await handleResponse(await buildHttpResponse('get-setting', method: HttpMethod.GET))); } Future<LDBaseResponse> updateUserStatus(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('update-user-status', request: req, method: HttpMethod.POST))); } Future updateUid(String? uid) async { MultipartRequest multiPartRequest = await getMultiPartRequest('update-profile'); multiPartRequest.fields['id'] = getIntAsync(USER_ID).toString(); multiPartRequest.fields['email'] = getStringAsync(USER_EMAIL).validate(); multiPartRequest.fields['username'] = getStringAsync(USER_NAME).validate(); multiPartRequest.fields['uid'] = uid.validate(); await sendMultiPartRequest(multiPartRequest, onSuccess: (data) async { if (data != null) { // } }, onError: (error) { log(error.toString()); }); } Future updatePlayerId() async { MultipartRequest multiPartRequest = await getMultiPartRequest('update-profile'); multiPartRequest.fields['id'] = getIntAsync(USER_ID).toString(); multiPartRequest.fields['email'] = getStringAsync(USER_EMAIL).validate(); multiPartRequest.fields['username'] = getStringAsync(USER_NAME).validate(); multiPartRequest.fields['player_id'] = getStringAsync(PLAYER_ID); await sendMultiPartRequest(multiPartRequest, onSuccess: (data) async { if (data != null) { // } }, onError: (error) { log(error.toString()); }); } Future<AddressListModel> getAddressList({int? page}) async { return AddressListModel.fromJson(await handleResponse(await buildHttpResponse( page != null ? 'useraddress-list?page=$page&user_id=${getIntAsync(USER_ID)}&city_id=${getIntAsync(CITY_ID)}' : 'useraddress-list?per_page=-1&user_id=${getIntAsync(USER_ID)}&city_id=${getIntAsync(CITY_ID)}', method: HttpMethod.GET))); } Future<LDBaseResponse> saveUserAddress(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('useraddress-save', method: HttpMethod.POST, request: req))); } Future<LDBaseResponse> deleteUserAddress(int id) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('useraddress-delete/$id', method: HttpMethod.POST))); } Future<LDBaseResponse> verifyOtpEmail(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('verify-otp-for-email', request: req, method: HttpMethod.POST))); } Future<LDBaseResponse> resendOtpEmail() async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('resend-otp-for-email', method: HttpMethod.POST))); } Future<DirectionsResponse> getDistanceBetweenLatLng(String origins, String destinations) async { return DirectionsResponse.fromJson(await handleResponse(await buildHttpResponse( 'distance-matrix-api?origins=$origins&destinations=$destinations', method: HttpMethod.GET))); } //Language Data Future<ServerLanguageResponse> getLanguageList(versionNo) async { return ServerLanguageResponse.fromJson( await handleResponse(await buildHttpResponse('language-table-list?version_no=$versionNo', method: HttpMethod.GET)) .then((value) => value)); } // get store list Future<StoreListModel> getStoreList( {required int page, String? storeType, String? title, bool isNearby = false}) async { String endPoint = 'store-list?page=$page&city_id=${getIntAsync(CITY_ID)}&country_id=${getIntAsync(COUNTRY_ID)}'; if (isNearby) { endPoint = endPoint + '&latitude=${getDoubleAsync(CURRENT_LATITUDE)}&longitude=${getDoubleAsync(CURRENT_LONGITUDE)}'; } if (storeType != null) { endPoint = endPoint + '&store_type=$storeType'; } if (title != null) { endPoint = endPoint + '&title=$title'; } return StoreListModel.fromJson(await handleResponse(await buildHttpResponse(endPoint, method: HttpMethod.GET))); } // get Product list Future<ProductListModel> getProductList({int? storeDetailId, int? page, String? title, bool isNearest = false}) async { String endPoint = 'product-list?page=$page'; if (storeDetailId != null) { endPoint = endPoint + "&store_detail_id=$storeDetailId"; } if (title != null) { if (isNearest) { endPoint = endPoint + '&latitude=${getDoubleAsync(CURRENT_LATITUDE)}&longitude=${getDoubleAsync(CURRENT_LONGITUDE)}'; } if (getIntAsync(CITY_ID) != 0) { endPoint = endPoint + "&city_id=${getIntAsync(CITY_ID)}"; } endPoint = endPoint + "&title=$title"; } return ProductListModel.fromJson(await handleResponse(await buildHttpResponse(endPoint, method: HttpMethod.GET))); } // get store details from storeId Future<StoreData> getStoreDetail(int id) async { return StoreData.fromJson(await handleResponse(await buildHttpResponse('store-detail?id=$id', method: HttpMethod.GET)) .then((value) => value['data'])); } Future<CategoryModel> getCategorySubcategoryList({int? page, int? storeDetailId}) async { return CategoryModel.fromJson(await handleResponse( await buildHttpResponse('category-list?page=$page&store_id=$storeDetailId', method: HttpMethod.GET))); } // todo not used Future<WorkHoursListModel> getWorkingHoursList({int? page, int? storeDetailId}) async { String endpoint = 'workhourmanage-list'; if (storeDetailId != null) { endpoint += '?store_detail_id=$storeDetailId'; } return WorkHoursListModel.fromJson(await handleResponse(await buildHttpResponse(endpoint, method: HttpMethod.GET))); } Future<LDBaseResponse> saveRateReview(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('rating-save', request: req, method: HttpMethod.POST))); } Future<LDBaseResponse> saveFavouriteStore(Map req) async { return LDBaseResponse.fromJson( await handleResponse(await buildHttpResponse('userFavouriteStore-save', method: HttpMethod.POST, request: req))); } Future<StoreListModel> getFavouriteStore() async { return StoreListModel.fromJson(await handleResponse(await buildHttpResponse( 'userFavouriteStore-list', method: HttpMethod.GET, ))); } /// Get DeliveryMan Dashboard count List Future<DashboardCount> getDashboardCount({String? startDate, String? endDate}) async { String endpoint = 'deliveryman-dashboard-data'; if (startDate != null && endDate != null) { endpoint += '?from_date=$startDate&to_date=$endDate'; } return DashboardCount.fromJson(await handleResponse(await buildHttpResponse(endpoint, method: HttpMethod.GET))); } Future<PageListModel> getPagesList() async { return PageListModel.fromJson(await handleResponse(await buildHttpResponse( 'pages-list', method: HttpMethod.GET, ))); }
Editor is loading...
Leave a Comment