@sommpicks/sommpicks-shopify 24.12.8 → 24.12.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/.eslintrc.js +26 -0
  2. package/dist/Logger.d.ts +1 -0
  3. package/dist/Logger.d.ts.map +1 -0
  4. package/dist/Logger.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/indexBuild.d.ts +1 -0
  9. package/dist/services/CacheWrapper.d.ts +1 -0
  10. package/dist/services/CacheWrapper.d.ts.map +1 -0
  11. package/dist/services/CacheWrapper.js.map +1 -1
  12. package/dist/services/CountryCodeService.d.ts +1 -0
  13. package/dist/services/CountryCodeService.d.ts.map +1 -0
  14. package/dist/services/CountryCodeService.js.map +1 -1
  15. package/dist/shopify/ShopifyAppService.d.ts +1 -0
  16. package/dist/shopify/ShopifyAppService.d.ts.map +1 -0
  17. package/dist/shopify/ShopifyAppService.js.map +1 -1
  18. package/dist/shopify/ShopifyAssetService.d.ts +1 -0
  19. package/dist/shopify/ShopifyAssetService.d.ts.map +1 -0
  20. package/dist/shopify/ShopifyAssetService.js.map +1 -1
  21. package/dist/shopify/ShopifyBillingService.d.ts +1 -0
  22. package/dist/shopify/ShopifyBillingService.d.ts.map +1 -0
  23. package/dist/shopify/ShopifyBillingService.js.map +1 -1
  24. package/dist/shopify/ShopifyCartTrasnformationService.d.ts +1 -0
  25. package/dist/shopify/ShopifyCartTrasnformationService.d.ts.map +1 -0
  26. package/dist/shopify/ShopifyCartTrasnformationService.js.map +1 -1
  27. package/dist/shopify/ShopifyCollectionService.d.ts +1 -0
  28. package/dist/shopify/ShopifyCollectionService.d.ts.map +1 -0
  29. package/dist/shopify/ShopifyCollectionService.js.map +1 -1
  30. package/dist/shopify/ShopifyCustomerService.d.ts +1 -0
  31. package/dist/shopify/ShopifyCustomerService.d.ts.map +1 -0
  32. package/dist/shopify/ShopifyCustomerService.js.map +1 -1
  33. package/dist/shopify/ShopifyDeliveryCustomisationService.d.ts +1 -0
  34. package/dist/shopify/ShopifyDeliveryCustomisationService.d.ts.map +1 -0
  35. package/dist/shopify/ShopifyDeliveryCustomisationService.js.map +1 -1
  36. package/dist/shopify/ShopifyDiscountService.d.ts +1 -0
  37. package/dist/shopify/ShopifyDiscountService.d.ts.map +1 -0
  38. package/dist/shopify/ShopifyDiscountService.js.map +1 -1
  39. package/dist/shopify/ShopifyDraftOrderService.d.ts +1 -0
  40. package/dist/shopify/ShopifyDraftOrderService.d.ts.map +1 -0
  41. package/dist/shopify/ShopifyDraftOrderService.js.map +1 -1
  42. package/dist/shopify/ShopifyFulfillmentService.d.ts +1 -0
  43. package/dist/shopify/ShopifyFulfillmentService.d.ts.map +1 -0
  44. package/dist/shopify/ShopifyFulfillmentService.js.map +1 -1
  45. package/dist/shopify/ShopifyFunctionsProductDiscountsService.d.ts +1 -0
  46. package/dist/shopify/ShopifyFunctionsProductDiscountsService.d.ts.map +1 -0
  47. package/dist/shopify/ShopifyFunctionsProductDiscountsService.js.map +1 -1
  48. package/dist/shopify/ShopifyInventoryService.d.ts +1 -0
  49. package/dist/shopify/ShopifyInventoryService.d.ts.map +1 -0
  50. package/dist/shopify/ShopifyInventoryService.js.map +1 -1
  51. package/dist/shopify/ShopifyLocationService.d.ts +1 -0
  52. package/dist/shopify/ShopifyLocationService.d.ts.map +1 -0
  53. package/dist/shopify/ShopifyLocationService.js.map +1 -1
  54. package/dist/shopify/ShopifyOrderRefundsService.d.ts +1 -0
  55. package/dist/shopify/ShopifyOrderRefundsService.d.ts.map +1 -0
  56. package/dist/shopify/ShopifyOrderRefundsService.js.map +1 -1
  57. package/dist/shopify/ShopifyOrderRiskService.d.ts +1 -0
  58. package/dist/shopify/ShopifyOrderRiskService.d.ts.map +1 -0
  59. package/dist/shopify/ShopifyOrderRiskService.js.map +1 -1
  60. package/dist/shopify/ShopifyOrderService.d.ts +1 -0
  61. package/dist/shopify/ShopifyOrderService.d.ts.map +1 -0
  62. package/dist/shopify/ShopifyOrderService.js.map +1 -1
  63. package/dist/shopify/ShopifyPageService.d.ts +1 -0
  64. package/dist/shopify/ShopifyPageService.d.ts.map +1 -0
  65. package/dist/shopify/ShopifyPageService.js.map +1 -1
  66. package/dist/shopify/ShopifyProductService.d.ts +1 -0
  67. package/dist/shopify/ShopifyProductService.d.ts.map +1 -0
  68. package/dist/shopify/ShopifyProductService.js.map +1 -1
  69. package/dist/shopify/ShopifyShippingZonesService.d.ts +1 -0
  70. package/dist/shopify/ShopifyShippingZonesService.d.ts.map +1 -0
  71. package/dist/shopify/ShopifyShippingZonesService.js.map +1 -1
  72. package/dist/shopify/ShopifyShopService.d.ts +1 -0
  73. package/dist/shopify/ShopifyShopService.d.ts.map +1 -0
  74. package/dist/shopify/ShopifyShopService.js.map +1 -1
  75. package/dist/shopify/ShopifyTemplateService.d.ts +1 -0
  76. package/dist/shopify/ShopifyTemplateService.d.ts.map +1 -0
  77. package/dist/shopify/ShopifyTemplateService.js.map +1 -1
  78. package/dist/shopify/ShopifyThemeService.d.ts +1 -0
  79. package/dist/shopify/ShopifyThemeService.d.ts.map +1 -0
  80. package/dist/shopify/ShopifyThemeService.js.map +1 -1
  81. package/dist/shopify/ShopifyUtils.d.ts +1 -0
  82. package/dist/shopify/ShopifyUtils.d.ts.map +1 -0
  83. package/dist/shopify/ShopifyUtils.js.map +1 -1
  84. package/dist/shopify/ShopifyWebhookService.d.ts +1 -0
  85. package/dist/shopify/ShopifyWebhookService.d.ts.map +1 -0
  86. package/dist/shopify/ShopifyWebhookService.js.map +1 -1
  87. package/dist/shopify/base/APIVersion.d.ts +1 -0
  88. package/dist/shopify/base/APIVersion.d.ts.map +1 -0
  89. package/dist/shopify/base/APIVersion.js.map +1 -1
  90. package/dist/shopify/base/AbstractService.d.ts +1 -0
  91. package/dist/shopify/base/AbstractService.d.ts.map +1 -0
  92. package/dist/shopify/base/AbstractService.js.map +1 -1
  93. package/dist/shopify/base/ErrorHelper.d.ts +1 -0
  94. package/dist/shopify/base/ErrorHelper.d.ts.map +1 -0
  95. package/dist/shopify/base/ErrorHelper.js.map +1 -1
  96. package/dist/shopify/errors/InspiraShopifyCustomError.d.ts +1 -0
  97. package/dist/shopify/errors/InspiraShopifyCustomError.d.ts.map +1 -0
  98. package/dist/shopify/errors/InspiraShopifyCustomError.js.map +1 -1
  99. package/dist/shopify/errors/InspiraShopifyError.d.ts +1 -0
  100. package/dist/shopify/errors/InspiraShopifyError.d.ts.map +1 -0
  101. package/dist/shopify/errors/InspiraShopifyError.js.map +1 -1
  102. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.d.ts +1 -0
  103. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.d.ts.map +1 -0
  104. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.js.map +1 -1
  105. package/dist/shopify/helpers/ShopifyProductServiceHelper.d.ts +1 -0
  106. package/dist/shopify/helpers/ShopifyProductServiceHelper.d.ts.map +1 -0
  107. package/dist/shopify/helpers/ShopifyProductServiceHelper.js.map +1 -1
  108. package/dist/shopify/product/ShopifyProductCountService.d.ts +1 -0
  109. package/dist/shopify/product/ShopifyProductCountService.d.ts.map +1 -0
  110. package/dist/shopify/product/ShopifyProductCountService.js.map +1 -1
  111. package/dist/shopify/product/ShopifyProductListService.d.ts +1 -0
  112. package/dist/shopify/product/ShopifyProductListService.d.ts.map +1 -0
  113. package/dist/shopify/product/ShopifyProductListService.js.map +1 -1
  114. package/dist/shopify/product/ShopifyProductMetafieldsService.d.ts +1 -0
  115. package/dist/shopify/product/ShopifyProductMetafieldsService.d.ts.map +1 -0
  116. package/dist/shopify/product/ShopifyProductMetafieldsService.js.map +1 -1
  117. package/dist/shopify/product/ShopifyProductPublicationsService.d.ts +1 -0
  118. package/dist/shopify/product/ShopifyProductPublicationsService.d.ts.map +1 -0
  119. package/dist/shopify/product/ShopifyProductPublicationsService.js.map +1 -1
  120. package/dist/shopify/product/ShopifyVariantService.d.ts +1 -0
  121. package/dist/shopify/product/ShopifyVariantService.d.ts.map +1 -0
  122. package/dist/shopify/product/ShopifyVariantService.js.map +1 -1
  123. package/dist/shopify/router/ShopifyMandatoryRouter.d.ts +1 -0
  124. package/dist/shopify/router/ShopifyMandatoryRouter.d.ts.map +1 -0
  125. package/dist/shopify/router/ShopifyMandatoryRouter.js.map +1 -1
  126. package/dist/shopify/router/ShopifyRouter.d.ts +1 -0
  127. package/dist/shopify/router/ShopifyRouter.d.ts.map +1 -0
  128. package/dist/shopify/router/ShopifyRouter.js +62 -3
  129. package/dist/shopify/router/ShopifyRouter.js.map +1 -1
  130. package/dist/shopify/router/ShopifyRouterBis.d.ts +1 -0
  131. package/dist/shopify/router/ShopifyRouterBis.d.ts.map +1 -0
  132. package/dist/shopify/router/ShopifyRouterBis.js.map +1 -1
  133. package/dist/shopify/router/ShopifyRouterBisBis.d.ts +1 -0
  134. package/dist/shopify/router/ShopifyRouterBisBis.d.ts.map +1 -0
  135. package/dist/shopify/router/ShopifyRouterBisBis.js.map +1 -1
  136. package/dist/shopify/router/ShopifyRouterBisBisBis.d.ts +1 -0
  137. package/dist/shopify/router/ShopifyRouterBisBisBis.d.ts.map +1 -0
  138. package/dist/shopify/router/ShopifyRouterBisBisBis.js.map +1 -1
  139. package/dist/shopify/router/ShopifyRouterBisBisBisBis.d.ts +1 -0
  140. package/dist/shopify/router/ShopifyRouterBisBisBisBis.d.ts.map +1 -0
  141. package/dist/shopify/router/ShopifyRouterBisBisBisBis.js.map +1 -1
  142. package/dist/shopify/router/WebhookSkipMiddleware.d.ts +1 -0
  143. package/dist/shopify/router/WebhookSkipMiddleware.d.ts.map +1 -0
  144. package/dist/shopify/router/WebhookSkipMiddleware.js.map +1 -1
  145. package/dist/shopify/router/services/CryptoService.d.ts +2 -0
  146. package/dist/shopify/router/services/CryptoService.d.ts.map +1 -0
  147. package/dist/shopify/router/services/CryptoService.js.map +1 -1
  148. package/dist/shopify/router/services/HmacValidator.d.ts +1 -0
  149. package/dist/shopify/router/services/HmacValidator.d.ts.map +1 -0
  150. package/dist/shopify/router/services/HmacValidator.js.map +1 -1
  151. package/dist/shopify/router/services/OauthService.d.ts +1 -0
  152. package/dist/shopify/router/services/OauthService.d.ts.map +1 -0
  153. package/dist/shopify/router/services/OauthService.js.map +1 -1
  154. package/dist/shopify/router/services/RestUtils.d.ts +1 -0
  155. package/dist/shopify/router/services/RestUtils.d.ts.map +1 -0
  156. package/dist/shopify/router/services/RestUtils.js.map +1 -1
  157. package/dist/shopify/router/services/rateLimiter/MemoryStores.d.ts +1 -0
  158. package/dist/shopify/router/services/rateLimiter/MemoryStores.d.ts.map +1 -0
  159. package/dist/shopify/router/services/rateLimiter/MemoryStores.js.map +1 -1
  160. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.d.ts +1 -0
  161. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.d.ts.map +1 -0
  162. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.js.map +1 -1
  163. package/dist/test/router/ShopifyRouter.test.d.ts +1 -0
  164. package/dist/test/router/ShopifyRouter.test.d.ts.map +1 -0
  165. package/dist/test/router/ShopifyRouter.test.js.map +1 -1
  166. package/dist/test/router/WebhookSkipMiddleware.test.d.ts +1 -0
  167. package/dist/test/router/WebhookSkipMiddleware.test.d.ts.map +1 -0
  168. package/dist/test/router/WebhookSkipMiddleware.test.js.map +1 -1
  169. package/dist/test/router/services/HmacValidator.test.d.ts +1 -0
  170. package/dist/test/router/services/HmacValidator.test.d.ts.map +1 -0
  171. package/dist/test/router/services/HmacValidator.test.js.map +1 -1
  172. package/dist/test/router/services/RestUtils.test.d.ts +1 -0
  173. package/dist/test/router/services/RestUtils.test.d.ts.map +1 -0
  174. package/dist/test/router/services/RestUtils.test.js.map +1 -1
  175. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.d.ts +1 -0
  176. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.d.ts.map +1 -0
  177. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.js.map +1 -1
  178. package/dist/test/services/CacheWrapper.test.d.ts +1 -0
  179. package/dist/test/services/CacheWrapper.test.d.ts.map +1 -0
  180. package/dist/test/services/CacheWrapper.test.js.map +1 -1
  181. package/dist/test/shopify/ShopifyOrderService.test.d.ts +1 -0
  182. package/dist/test/shopify/ShopifyOrderService.test.d.ts.map +1 -0
  183. package/dist/test/shopify/ShopifyOrderService.test.js.map +1 -1
  184. package/dist/test/shopify/ShopifyProductService.test.d.ts +1 -0
  185. package/dist/test/shopify/ShopifyProductService.test.d.ts.map +1 -0
  186. package/dist/test/shopify/ShopifyProductService.test.js.map +1 -1
  187. package/dist/test/shopify/ShopifyWebhookService.test.d.ts +1 -0
  188. package/dist/test/shopify/ShopifyWebhookService.test.d.ts.map +1 -0
  189. package/dist/test/shopify/ShopifyWebhookService.test.js.map +1 -1
  190. package/package.json +8 -1
  191. package/shopify/router/ShopifyRouter.ts +62 -4
  192. package/tsconfig.json +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyOrderService.js","sourceRoot":"","sources":["../../shopify/ShopifyOrderService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyOrderService.js","sourceRoot":"","sources":["../../shopify/ShopifyOrderService.ts"],"names":[],"mappings":"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","sourcesContent":["import { AbstractService } from './base/AbstractService';\nimport { AxiosInstance } from 'axios';\nimport CountryCodeService from '../services/CountryCodeService';\nimport ErrorHelper from './base/ErrorHelper';\nimport InspiraShopifyError from './errors/InspiraShopifyError';\nimport { Logger } from '../Logger';\nimport { ShopifyShopService } from './ShopifyShopService';\nimport gql from 'graphql-tag';\nimport { print } from 'graphql';\nimport InspiraShopifyCustomError from './errors/InspiraShopifyCustomError';\nimport InspiraShopifyUnableToReserveInventoryError from './errors/InspiraShopifyUnableToReserveInventoryError';\n\nexport class ShopifyOrderService extends AbstractService{\n\n private shopifyShopService: ShopifyShopService;\n\n private draftOrderGraphQLMutation = gql`\n mutation draftOrderCalculate($input: DraftOrderInput!) {\n draftOrderCalculate(input: $input) {\n calculatedDraftOrder {\n totalTax\n taxLines {\n priceSet {\n shopMoney{\n amount\n currencyCode\n }\n }\n title\n rate\n }\n shippingLine {\n taxLines {\n rate\n title\n priceSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\n availableShippingRates{\n handle\n title\n price {\n amount\n currencyCode\n }\n }\n }\n userErrors {\n field\n message\n }\n }\n }\n `;\n\n constructor(private axiosInstance: AxiosInstance) { \n super();\n this.shopifyShopService = new ShopifyShopService(axiosInstance);\n }\n\n public getFulfillments = async (orderId: number): Promise<IFulFillment[]> => {\n return new Promise<IFulFillment[]>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getFulfillments -> for order ID ${orderId}`);\n const response = await this.axiosInstance.get(`/orders/${orderId}/fulfillments.json`);\n resolve(response.data.fulfillments);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getFulfillmentOrders = async (orderId: number): Promise<IFulFillmentOrder[]> => {\n return new Promise<IFulFillmentOrder[]>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getFulfillmentOrders -> for order ID ${orderId}`);\n const response = await this.axiosInstance.get(`/orders/${orderId}/fulfillment_orders.json`);\n resolve(response.data.fulfillment_orders);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Gets all orders after the date given, can also take a timestring\n * \n * @param {string} dateTime\n * @returns Promise\n */\n public getByMinDateUpdated = async (dateTime: string): Promise<IOrder[]> => {\n return new Promise<IOrder[]>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getByMinDateUpdated -> getting order from the: ${dateTime}`);\n const response = await this.axiosInstance.get(`/orders.json?status=open&created_at_min=${dateTime}`);\n resolve(response.data.orders);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Gets all orders before the date given\n * \n * @param {string} dateTime\n * @returns Promise\n */\n public getByMaxDateUpdated = async (dateTime: string): Promise<IOrder[]> => {\n return new Promise<IOrder[]>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getByMaxDateUpdated ->getting order past the: ${dateTime}`);\n const response = await this.axiosInstance.get(`/orders.json?status=open&created_at_max=${dateTime}`);\n resolve(response.data.orders);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getById = async (orderId: number): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getById -> getting order for ID ${orderId}`);\n const response = await this.axiosInstance.get(`/orders/${orderId}.json`);\n resolve(response.data.order);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getByIdWithOptions = async (orderId: number, options: { add_tx?: boolean; }): Promise<IOrder> => {\n try {\n Logger.info(`ShopifyOrderService - getByIdWithOptions -> Get product with id ${orderId}`);\n let ordderToReturn: IOrder = null;\n\n const orderQuery = `{ order(id: \"${this.getGraphOrderIdFromId(orderId)}\") {\n id\n name\n ${options.add_tx === false ? '' : 'transactions { formattedGateway gateway authorizationCode }'}\n }\n }`;\n Logger.info(`ShopifyOrderService - getByIdWithOptions -> Order graphQL query going in ${orderQuery}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(gql`${orderQuery}`) }, { query_cost: 80 });\n if (response && response.data && response.data.data && response.data.data.order) {\n const responseOrder: ShopifygraphQl.IGenericOrderResponse = response.data.data.order;\n ordderToReturn = {\n id: this.getIdFromGraphId(responseOrder.id),\n name: responseOrder.name,\n transaction: responseOrder.transaction ? responseOrder.transaction : null\n };\n }\n Logger.info(`ShopifyOrderService - getByIdWithOptions -> ${ordderToReturn?.id} Products returning`);\n return ordderToReturn;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n public getInBatchGraphQL = async (channel: 'web', gateWay: 'shopify_payments', cursor: string): Promise<IOrderBatch> => {\n try {\n Logger.info(`ShopifyOrderService - getInBatchGraphQL - channel ${channel}, gateWay: ${gateWay}`);\n let ordersToReturn: IOrderInBatch[] = [];\n const queryParams = `channel:${channel},gateway:${gateWay}`;\n\n const orderQuery = `{ orders(first: 250, ${ cursor ? `after: \"${cursor}\",` : ''} sortKey: ID, reverse: true, query: \"${queryParams}\") {\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n edges {\n cursor\n node {\n id\n createdAt\n email\n customAttributes {\n key\n value\n }\n customer {\n id\n tags\n defaultEmailAddress {\n marketingOptInLevel\n marketingState\n marketingUpdatedAt\n }\n }\n }\n }\n \n }\n }`;\n Logger.info(`ShopifyProductListService - getInBatchGraphQL -> Order graphQL query going in ${orderQuery}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(gql`${orderQuery}`) }, { query_cost: 250 });\n let nextCursor: string = null;\n if (response && response.data && response.data.data && response.data.data.orders) {\n const responseOrder: { pageInfo: ShopifygraphQl.IPageInfo, edges: { cursor: string; node: IOrderInBatch; }[]} = response.data.data.orders;\n nextCursor = responseOrder.pageInfo.hasNextPage ? responseOrder.pageInfo.endCursor : null;\n ordersToReturn = responseOrder.edges.map(edge => edge.node);\n }\n Logger.info(`ShopifyProductListService - getInBatchGraphQL -> ${ordersToReturn?.length} Orders returning`);\n return { orders: ordersToReturn, nextCursor: nextCursor };\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n public getInBatch = async (sinceId: number, pageNumber: number, getBachesNumber: boolean, orderstatus?: IOrderStatus): Promise<IOrderBatch_DEPRECATED> => {\n return new Promise<IOrderBatch_DEPRECATED>(async (resolve, reject) => {\n try {\n Logger.info(`Getting orders since id ${sinceId}`);\n if(!orderstatus) { orderstatus = 'any'; }\n let batches = 0;\n let count = 0;\n if(getBachesNumber) {\n const response = await this.axiosInstance.get('/orders/count.json?status=any');\n count = response.data.count;\n batches = parseInt(((count / pageNumber) + 1).toString());\n }\n const orderBatch: IOrderBatch_DEPRECATED = { count: count, batches : batches, orders: [], nextSinceId: 0 }; \n const ordersGetURL = `/orders.json?status=${orderstatus}&limit=${pageNumber}&since_id=${sinceId}`;\n Logger.info(`Getting orders since id URL ${ordersGetURL}`);\n const ordersRetrieved = await this.axiosInstance.get(ordersGetURL);\n if(ordersRetrieved.data.orders && ordersRetrieved.data.orders.length > 0) {\n orderBatch.orders = ordersRetrieved.data.orders;\n orderBatch.nextSinceId = orderBatch.orders[orderBatch.orders.length - 1].id;\n } else {\n Logger.info('Getting orders is returned empty');\n orderBatch.orders = [];\n orderBatch.nextSinceId = 0;\n }\n resolve(orderBatch);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getAll = async (orderstatus?: IOrderStatus): Promise<IOrder[]> => {\n return new Promise<IOrder[]>(async (resolve, reject) => {\n try {\n if(!orderstatus) { orderstatus = 'any'; }\n Logger.info('ShopifyOrderService - getAll -> getting orders');\n let orders: IOrder[] = [];\n const response = await this.axiosInstance.get('/orders/count.json');\n const count = response.data.count;\n Logger.info(`ShopifyOrderService - getAll -> Getting ${count} orders`);\n while (orders.length < count) {\n let ordersGetURL = `/orders.json?status=${orderstatus}&limit=250&since_id=`;\n if(orders.length > 1) {\n ordersGetURL += orders[orders.length - 1].id;\n } else {\n ordersGetURL += '0'; \n }\n const currentPage = (parseInt((orders.length / 250).toFixed(0)) + 1);\n Logger.info('ShopifyOrderService - getAll -> Orders Get URL -> ', ordersGetURL );\n const ordersRetrieved = await this.axiosInstance.get(ordersGetURL);\n orders = orders.concat(ordersRetrieved.data.orders);\n Logger.info('ShopifyOrderService - getAll -> Orders retrieved -> ' + orders.length);\n const nextPage = (parseInt((orders.length / 250).toFixed(0)) + 1);\n if(currentPage === nextPage) {\n Logger.info('ShopifyOrderService - getAll -> Orders next page is the current page so, we are breaking the loop!');\n break;\n }\n }\n resolve(orders);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Adds a metafield.\n *\n * @param {number} id - order ID\n * @param {IMetafield} metafield to be saved\n * @returns Promise\n */\n public addMetafield = async (id: number, metafield: IMetafield): Promise<IMetafield> => {\n return new Promise<IMetafield>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - addMetafield -> Adding Metafield for order id -> ${id}`);\n const response = await this.axiosInstance.post(`/orders/${id}/metafields.json`, { metafield: metafield });\n resolve(response.data.metafield);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Gets an order only with attributes and line item ids. Gets a max of 200 lineitems \n * \n * @param {number} orderId\n * @returns Promise\n */\n public getOrderMinimalById = async (orderId: number): Promise<IOrderMinimal> => {\n return new Promise<IOrderMinimal>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getOrderMinimalById -> Get Minimal order with ID: ${orderId}`);\n const query = gql`{ \n order(id: \"gid://shopify/Order/${orderId}\") {\n lineItems(first: 200) {\n edges {\n node {\n id\n unfulfilledQuantity\n customAttributes {\n key\n value\n }\n product {\n id\n }\n variant {\n id\n }\n }\n }\n }\n }\n }`;\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 803 });\n if(response && response.data && response.data.data && response.data.data.order){\n const orderGraph = response.data.data.order;\n\n resolve({ id: orderId,\n line_items: orderGraph.lineItems.edges.map( (gi) => \n ({ id: this.getIdFromGraphId(gi.node.id),\n unfulfilledQuantity: gi.node.unfulfilledQuantity,\n properties: gi.node.customAttributes.map( (attr) => ({ value: attr.value, name: attr.key } as IProperty) ),\n variant_id: gi.node.variant ? this.getIdFromGraphId(gi.node.variant.id) : null,\n product_id: gi.node.product ? this.getIdFromGraphId(gi.node.product.id) : null } as ILineItemMinimal ) )});\n } else {\n Logger.error(`ShopifyOrderService - getOrderMinimalById -> getOrderMinimalById not the expected response. Data ${JSON.stringify(response.data.data)}. Error is ${JSON.stringify(response.data.errors)}` );\n resolve(null);\n }\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Gets an order only with attributes and line item ids. Gets a max of 200 line items \n * \n * @param {number} orderId\n * @returns Promise\n */\n public getOrderProductTagsById = async (orderId: number): Promise<IOrderProductTags> => {\n return new Promise<IOrderProductTags>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getOrderProductTagsById ->Get getOrderProductTagsById order with ID: ${orderId}`);\n const query = gql`{ \n order(id: \"gid://shopify/Order/${orderId}\") {\n phone\n email\n customer {\n firstName\n lastName\n }\n customAttributes {\n key\n value\n }\n shippingAddress {\n address1\n zip\n firstName\n lastName\n city\n province\n address2\n }\n billingAddress {\n address1\n zip\n firstName\n lastName\n city\n province\n address2\n }\n note\n lineItems(first: 200) {\n edges {\n node {\n id\n product {\n id\n tags\n }\n variant {\n title\n id\n }\n }\n }\n }\n }\n }`;\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 803 });\n if(response && response.data && response.data.data && response.data.data.order){\n const orderGraph = response.data.data.order;\n\n resolve({ id: orderId,\n phone: orderGraph.phone,\n note: orderGraph.note,\n note_attributes: (orderGraph.customAttributes && orderGraph.customAttributes.length ? orderGraph.customAttributes.map(attr => ({ name: attr.key, value: attr.value})): []) as IAttr[],\n email: orderGraph.email,\n shipping_address: orderGraph.shippingAddress ? { address1: orderGraph.shippingAddress.address1, address2: orderGraph.shippingAddress.address2, zip: orderGraph.shippingAddress.zip, \n city: orderGraph.shippingAddress.city, last_name: orderGraph.shippingAddress.lastName, first_name: orderGraph.shippingAddress.firstName, country: orderGraph.shippingAddress.country,\n province: orderGraph.shippingAddress.province, phone: orderGraph.shippingAddress.phone } as IAddress : null,\n billing_address: orderGraph.billingAddress ? { address1: orderGraph.billingAddress.address1, address2: orderGraph.billingAddress.address2, zip: orderGraph.billingAddress.zip, \n city: orderGraph.billingAddress.city, last_name: orderGraph.billingAddress.lastName, first_name: orderGraph.billingAddress.firstName, country: orderGraph.billingAddress.country,\n province: orderGraph.billingAddress.province, phone: orderGraph.billingAddress.phone } as IAddress : null,\n customer: { first_name: orderGraph.customer.firstName, last_name: orderGraph.customer.lastName },\n line_items: orderGraph.lineItems.edges.map( (gi) => \n ({ id: this.getIdFromGraphId(gi.node.id), title: gi.node.variant?.title ? gi.node.variant?.title : '',\n variant_id: gi.node.variant ? this.getIdFromGraphId(gi.node.variant.id) : null,\n product: gi.node.product ? { id: this.getIdFromGraphId(gi.node.product.id), tags: gi.node.product.tags } : null } as any ) )});\n } else {\n Logger.error(`ShopifyOrderService - getOrderProductTagsById -> not the expected response. Data ${JSON.stringify(response.data.data)}. Error is ${JSON.stringify(response.data.errors)}` );\n resolve(null);\n }\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getCount = async (orderstatus?: IOrderStatus): Promise<number> => {\n return new Promise<number>(async (resolve, reject) => {\n try {\n if(!orderstatus) { orderstatus = 'any'; }\n Logger.info('ShopifyOrderService - getCount -> getting orders count');\n const response = await this.axiosInstance.get('/orders/count.json');\n const count = response.data.count;\n resolve(count);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public createFulfillments = async (orderId: number, orderFulfillmentPetitions: IFulFillmentLine[], notifyCustomer: boolean, shipmentStatus: IShipmentStatus): Promise<IFulFillment> => {\n return new Promise<IFulFillment>(async (resolve, reject) => {\n try {\n const fulfillmentOrders = await this.getFulfillmentOrders(orderId);\n Logger.info(`ShopifyOrderService - createFulfillments -> Retrieved fulfillment Orders for order ID ${orderId}`, `${JSON.stringify(fulfillmentOrders)}`);\n Logger.info(`ShopifyOrderService - createFulfillments -> Fulfillment Petitions for order ID ${orderId}`, `${JSON.stringify(orderFulfillmentPetitions)}`);\n const fulfillment: IFulfillmentsPost = { notify_customer: notifyCustomer, line_items_by_fulfillment_order: [] };\n for(const fulfillmentOrder of fulfillmentOrders) {\n for(const fulfillmentOrderLineItem of fulfillmentOrder.line_items) {\n if(fulfillmentOrderLineItem.fulfillable_quantity > 0) {\n const orderFulfillmentPetitionIndex = orderFulfillmentPetitions.findIndex((orf) => orf && orf.line_item_id === fulfillmentOrderLineItem.line_item_id);\n if(orderFulfillmentPetitionIndex > -1) {\n const orderFulfillmentPetition = orderFulfillmentPetitions[orderFulfillmentPetitionIndex];\n if(orderFulfillmentPetition) {\n const quantityToFulfill = fulfillmentOrderLineItem.fulfillable_quantity >= orderFulfillmentPetition.quantity_delivered ? orderFulfillmentPetition.quantity_delivered : fulfillmentOrderLineItem.fulfillable_quantity;\n const existingFulfilmentToPost = fulfillment.line_items_by_fulfillment_order.findIndex(f => f.fulfillment_order_id === fulfillmentOrder.id);\n if(existingFulfilmentToPost > -1) {\n fulfillment.line_items_by_fulfillment_order[existingFulfilmentToPost].fulfillment_order_line_items.push({ id: fulfillmentOrderLineItem.id, quantity: quantityToFulfill });\n } else {\n fulfillment.line_items_by_fulfillment_order.push({ fulfillment_order_id: fulfillmentOrder.id, fulfillment_order_line_items: [ { id: fulfillmentOrderLineItem.id, quantity: quantityToFulfill }]});\n }\n if(quantityToFulfill < orderFulfillmentPetition.quantity_delivered) {\n orderFulfillmentPetition.quantity_delivered = orderFulfillmentPetition.quantity_delivered - quantityToFulfill;\n } else {\n delete orderFulfillmentPetitions[orderFulfillmentPetitionIndex];\n }\n }\n } else {\n Logger.info(`ShopifyOrderService - createFulfillments -> petition found for ${JSON.stringify(fulfillmentOrderLineItem)}`);\n }\n } else {\n Logger.info(`ShopifyOrderService - createFulfillments -> Fulfillment order line item does does not have fulfillable_quantity ${JSON.stringify(fulfillmentOrderLineItem)}`);\n }\n }\n }\n Logger.info(`ShopifyOrderService - createFulfillments -> Petitions not being attended ${JSON.stringify(orderFulfillmentPetitions)}`);\n if(fulfillment.line_items_by_fulfillment_order && fulfillment.line_items_by_fulfillment_order.length > 0) {\n const response = await this.axiosInstance.post('/fulfillments.json', { fulfillment: fulfillment });\n const fulfillmentCreated: IFulFillment = response.data.fulfillment;\n Logger.info(`ShopifyOrderService - createFulfillments -> Fulfillment created ${JSON.stringify(fulfillmentCreated)}`);\n if(shipmentStatus) {\n try {\n const event = await this.addShipmentStatusToFulfillment(orderId, fulfillmentCreated.id, shipmentStatus);\n Logger.info(`ShopifyOrderService - createFulfillments ->Event created ${JSON.stringify(event)}`);\n } catch(e) {\n Logger.error(`ShopifyOrderService - createFulfillments -> Failed to add event to fulfillment ${e.message}`);\n }\n } else {\n Logger.info('ShopifyOrderService - createFulfillments -> Shipment status was empty');\n }\n resolve(fulfillmentCreated);\n } else {\n Logger.info(`ShopifyOrderService - createFulfillments -> Nothing to fulfill from petitions ${JSON.stringify(orderFulfillmentPetitions)}`);\n resolve(null);\n }\n } catch (error) { Logger.error(`ShopifyOrderService - createFulfillments -> Error while creating fulfillments for orderId ${orderId}`, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public addShipmentStatusToFulfillment = async (orderId: number, fulfillmentid: number, shipmentStatus: IShipmentStatus): Promise<IFulfillmentEvent> => {\n return new Promise<IFulfillmentEvent>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - addShipmentStatusToFulfillment -> Creating fulfillment event (status ${shipmentStatus}) for order id ${orderId} and fulfillment id ${fulfillmentid}`);\n const response = await this.axiosInstance.post(`/orders/${orderId}/fulfillments/${fulfillmentid}/events.json`, { event: { status: shipmentStatus } });\n resolve(response.data.fulfillment_event);\n } catch (error) { Logger.error(`ShopifyOrderService - addShipmentStatusToFulfillment -> Error while creating fulfillment event for orderId ${orderId} and fulfillment ${fulfillmentid}`, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public getMinMaxDateOrders = (min: string, max: string): Promise<IOrder[]> => {\n return new Promise<IOrder[]>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getMinMaxDateOrders -> Getting orders from min ${min} and max ${max}`);\n const response = await this.axiosInstance.get(`/orders.json?status=any&created_at_max=${max}&created_at_min=${min}&limit=250`);\n resolve(response.data.orders);\n } catch (error) { Logger.error('ShopifyOrderService - getMinMaxDateOrders -> Error while getting min max orders ', error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public completeFulfillment = async (orderId: number, fullfilmentId: number): Promise<IFulFillment> => {\n return new Promise<IFulFillment>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - completeFulfillment -> Compliting fulfillment for order ID ${orderId}`);\n const response = await this.axiosInstance.post(`/orders/${orderId}/fulfillments/${fullfilmentId}/complete.json`);\n resolve(response.data.fulfillment);\n } catch (error) { Logger.error('ShopifyOrderService - completeFulfillment -> Error while compliting fulfillment for orderId ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public openFulfillment = async (orderId: number, fullfilmentId: number): Promise<IFulFillment> => {\n return new Promise<IFulFillment>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - openFulfillment -> Opening fulfillment for order ID ${orderId}`);\n const response = await this.axiosInstance.post(`/orders/${orderId}/fulfillments/${fullfilmentId}/open.json`);\n resolve(response.data.fulfillment);\n } catch (error) { Logger.error('ShopifyOrderService - openFulfillment -> Error while opening fulfillment for orderId ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public cancelFulfillment = async (orderId: number, fullfilmentId: number): Promise<IFulFillment> => {\n return new Promise<IFulFillment>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - cancelFulfillment -> Canceling fulfillment for order ID ${orderId}`);\n const response = await this.axiosInstance.post(`/orders/${orderId}/fulfillments/${fullfilmentId}/cancel.json`);\n resolve(response.data.fulfillment);\n } catch (error) { Logger.error('ShopifyOrderService - cancelFulfillment -> Error while canceling fulfillment for orderId ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public addAdditionalAttribute = async (orderId: number, attributeName: string, attributeValue: string): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - addAdditionalAttribute -> Adding attribute to order with ID ${orderId}`);\n let additionalAttributes: IAttr[] = [];\n const orderFromShopify = await this.getById(orderId);\n if(orderFromShopify.note_attributes) {\n additionalAttributes = orderFromShopify.note_attributes;\n const attr = additionalAttributes.find(a => a.name === attributeName);\n if(attr) { attr.value = attributeValue; }\n else { additionalAttributes.push({name: attributeName, value: attributeValue}); }\n } else {\n additionalAttributes.push({name: attributeName, value: attributeValue});\n }\n Logger.info('ShopifyOrderService - addAdditionalAttribute -> Adding attributes to order ', additionalAttributes);\n const order = { id: orderId, note_attributes: additionalAttributes };\n const response = await this.axiosInstance.put(`/orders/${orderId}.json`, { order: order });\n resolve(response.data.order);\n } catch (error) { Logger.error('ShopifyOrderService - addAdditionalAttribute -> Error while adding note attribute to order with Id ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n\n /**\n * Adds attr on top of the existing ones.\n *\n * @param {number} orderId \n * @param {{attributeName: string, attributeValue: string}[]} attributes to be added\n * @returns \n */\n public addAdditionalAttributes = async (orderId: number, attributes: {attributeName: string, attributeValue: string}[]): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - addAdditionalAttributes -> Adding attributes to order with ID ${orderId}`);\n let additionalAttributes: IAttr[] = [];\n const orderFromShopify = await this.getById(orderId);\n if(orderFromShopify.note_attributes) {\n additionalAttributes = orderFromShopify.note_attributes;\n for (const attribute of attributes) {\n const attr = additionalAttributes.find(a => a.name === attribute.attributeName);\n if(attr) { attr.value = attribute.attributeValue; }\n else { additionalAttributes.push({name: attribute.attributeName, value: attribute.attributeValue}); } \n }\n } else {\n for (const attribute of attributes) {\n additionalAttributes.push({name: attribute.attributeName, value: attribute.attributeValue});\n }\n }\n Logger.info('ShopifyOrderService - addAdditionalAttributes -> Adding attributes to order ', additionalAttributes);\n const order = { id: orderId, note_attributes: additionalAttributes };\n const response = await this.axiosInstance.put(`/orders/${orderId}.json`, { order: order });\n resolve(response.data.order);\n } catch (error) { Logger.error('Error while adding note attribute to order with Id ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Sets a new tags to the order. Tags on the order will getoverwritten by this ones.\n * \n * @param {number} orderId\n * @param {string} tags\n * @returns Promise\n */\n public setTags = async (orderId: number, tags: string): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - setTags -> Adding tags to order with ID ${orderId}, overwrites`);\n const order = { id: orderId, tags: tags };\n const response = await this.axiosInstance.put(`/orders/${orderId}.json`, { order: order });\n resolve(response.data.order);\n } catch (error) { Logger.error('ShopifyOrderService - setTags -> Error while adding tags to order with Id ' + orderId, error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * \n * Adds one or more tags to an order. It does add them toghether with the existing ones.\n * \n * @param {number} orderId order id number\n * @param {string} tagsToAdd tags to add separated by coma\n * @returns Promise array with errors\n */\n public addTags = async (orderId: number, tagsToAdd: string): Promise<string[]> => {\n return new Promise<string[]>(async (resolve, reject) => {\n try {\n const query = gql`mutation {\n tagsAdd(id: \"${this.getGraphOrderIdFromId(orderId)}\", tags: \"${this.escapeQuotes(tagsToAdd)}\") {\n node {\n id\n }\n userErrors {\n field\n message\n }\n }\n }`;\n\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 100 });\n const errors: string[] = [];\n Logger.info(`ShopifyOrderService - addTags -> Add tags to order response: ${JSON.stringify(response.data)} `);\n if(response && response.data && response.data.data){\n const updatesResponse = response.data.data;\n for(const key in updatesResponse){\n const err = updatesResponse[key].userErrors;\n if(err && err.length > 0) {\n errors.push(err);\n }\n }\n } else {\n errors.push('No response arrived');\n }\n resolve(errors);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * \n * Removes one or more tags to an order.\n * \n * @param {number} orderId order id number\n * @param {string} tagsToRemove tags to remove separated by coma\n * @returns Promise array with errors\n */\n public removeTags = async (orderId: number, tagsToRemove: string): Promise<string[]> => {\n return new Promise<string[]>(async (resolve, reject) => {\n try {\n const query = gql`mutation {\n tagsRemove(id: \"${this.getGraphOrderIdFromId(orderId)}\", tags: \"${this.escapeQuotes(tagsToRemove)}\") {\n node {\n id\n }\n userErrors {\n field\n message\n }\n }\n }`;\n\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 100 });\n const errors: string[] = [];\n Logger.info(`ShopifyOrderService - removeTags -> Remove tags to order response: ${JSON.stringify(response.data)} `);\n if(response && response.data && response.data.data){\n const updatesResponse = response.data.data;\n for(const key in updatesResponse){\n const err = updatesResponse[key].userErrors;\n if(err && err.length > 0) {\n errors.push(err);\n }\n }\n } else {\n errors.push('No response arrived');\n }\n resolve(errors);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Creates an order in the store. \n * If 'inventoryPolicy' is not set, then, the default one is 'decrement_obeying_policy'\n * \n * @param {IOrder} order\n * @param {'bypass'|'decrement_ignoring_policy'|'decrement_obeying_policy'} inventoryBehaviour?\n * @returns Promise\n */\n public create = async (order: IOrder, inventoryBehaviour?: 'bypass' | 'decrement_ignoring_policy' | 'decrement_obeying_policy'): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info('ShopifyOrderService - create -> Creating order', order);\n order.inventory_behaviour = inventoryBehaviour ? inventoryBehaviour : 'decrement_obeying_policy';\n const response = await this.axiosInstance.post('/orders.json', { order: order });\n resolve(response.data.order);\n } catch (error) {\n const errorMsg = ErrorHelper.getErrorFromResponse(error);\n Logger.error('ShopifyOrderService - create -> Error while creating order', error, errorMsg);\n if(errorMsg && errorMsg.toString().indexOf('Unable to reserve inventory') > -1) {\n reject(new InspiraShopifyUnableToReserveInventoryError(errorMsg)); \n } else {\n reject(new InspiraShopifyError(errorMsg)); \n }\n }\n });\n };\n\n /**\n * Creates transaction (set 'source' as 'external' to create without needing authorisation)\n * \n * @param {number} orderId\n * @param {ITransaction} transaction\n * @returns Promise\n */\n public createTransaction = async (orderId: number, transaction: ITransaction): Promise<ITransaction> => {\n return new Promise<ITransaction>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - createTransaction -> Creating transaction for order: ${orderId}, amount: ${transaction.amount}`);\n const response = await this.axiosInstance.post(`/orders/${orderId}/transactions.json`, { transaction: transaction });\n resolve(response.data.transaction);\n } catch (error) { Logger.error('ShopifyOrderService - createTransaction -> Error while creating transaction', error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Duplicates an order\n * \n * @param {number} orderId\n * @returns Promise\n */\n public duplicate = async (orderId: number): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - duplicate -> Duplicating order: ${orderId}`);\n const order = await this.getById(orderId);\n const orderClone: IOrder = JSON.parse( JSON.stringify(order));\n delete orderClone.id;\n delete orderClone.order_number;\n delete orderClone.order_status_url;\n delete orderClone.processed_at;\n delete orderClone.created_at;\n delete orderClone.updated_at;\n delete orderClone.name;\n delete orderClone.number;\n delete orderClone.token;\n delete orderClone.customer;\n delete orderClone.admin_graphql_api_id;\n orderClone.customer = { id: order.customer.id } as any;\n for (const item of orderClone.line_items) {\n delete item.id;\n delete item.fulfillable_quantity;\n delete item.fulfillment_service;\n delete item.fulfillment_status;\n delete item.admin_graphql_api_id;\n }\n for(const shippingLine of orderClone.shipping_lines) {\n delete shippingLine.id;\n }\n const duplicatedOrder = await this.create(orderClone);\n resolve(duplicatedOrder);\n } catch (error) { Logger.error('ShopifyOrderService - duplicate -> Error while duplicating order', error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Updates Shipping Address in a order.\n * \n * @param {number} orderId\n * @param {IAddress} shippingAddress\n * @returns Promise\n */\n public updateShippingAddress = async (orderId: number, shippingAddress: IAddress): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - updateShippingAddress -> Updating order shipping address with id ${orderId}`, shippingAddress);\n const response = await this.axiosInstance.put(`/orders/${orderId}.json`, { order: { id: orderId, shipping_address: shippingAddress} });\n resolve(response.data.order);\n } catch (error) { Logger.error('ShopifyOrderService - updateShippingAddress -> Error updating order shipping address', error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public cancel = async (orderId: number): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n Logger.info('ShopifyOrderService - cancel -> Cancelling order', orderId);\n const response = await this.axiosInstance.post(`orders/${orderId}/cancel.json`, {});\n resolve(response.data.order);\n } catch (error) { Logger.error('ShopifyOrderService - cancel -> Error while cancelling order', error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public applyWeightAndCountryBasedShippingToOrder = async (order: IOrder): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n const shippingZones = await this.shopifyShopService.getShippingRates();\n const countryCode = this.getCountryCodeFromOrder(order);\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Country code identified ${countryCode}`);\n const orderTotalWeight = order.line_items.reduce((a: number,b: ILineItem) => { if(b.requires_shipping) { return (a + b.quantity * b.grams); } else { return a; }}, 0) / 1000;\n let shippingZoneSelected = shippingZones.find(zone => (zone.countries.map(country => country.code).join(',') + ',').indexOf(`${countryCode},`) > -1);\n if(!shippingZoneSelected) {\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Country code not found on existing specific rates. Looking for Rest of the world rate using * instead of ${countryCode}`);\n shippingZoneSelected = shippingZones.find(zone => (zone.countries.map(country => country.code).join(',') + ',').indexOf('*,') > -1);\n }\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Shipping Zone ${JSON.stringify(shippingZoneSelected)}`);\n if(shippingZoneSelected){\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Shipping Zone found for country ${countryCode}`, shippingZoneSelected);\n if(shippingZoneSelected.weight_based_shipping_rates && shippingZoneSelected.weight_based_shipping_rates.length > 0) {\n const shippingRateSelected = shippingZoneSelected.weight_based_shipping_rates.find(shippingRate => ((shippingRate.weight_low < orderTotalWeight && shippingRate.weight_high > orderTotalWeight) || shippingRate.weight_low === orderTotalWeight));\n if(shippingRateSelected){\n Logger.info('ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Adding SHIPPING RATE to order', shippingRateSelected);\n order.shipping_lines = [{code: shippingZoneSelected.name, title: shippingZoneSelected.name, price: shippingRateSelected.price, source: 'shopify', tax_lines: []}];\n } else {\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> No Shipping Rate found for weight ${orderTotalWeight}`);\n }\n } else {\n Logger.info('ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Shipping Zone is not Weight based');\n }\n } else {\n Logger.info(`ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> NO Shipping Zone found for country ${countryCode}`);\n }\n resolve(order);\n } catch (error) { Logger.error('ShopifyOrderService - applyWeightAndCountryBasedShippingToOrder -> Error while cancelling order', error); reject(Error(error)); }\n });\n };\n\n public getShippingByWeight = async (country: string, weight: number): Promise<IShippingLine> => {\n return new Promise<IShippingLine>(async (resolve, reject) => {\n try {\n let shippingLine: IShippingLine = null;\n const shippingZones = await this.shopifyShopService.getShippingRates();\n const countryCode = CountryCodeService.getCountryCode(country);\n const shippingZoneSelected = shippingZones.find(zone => (zone.countries.map(country => country.code).join(',') + ',').indexOf(countryCode + ',') > -1);\n if(shippingZoneSelected){\n Logger.info(`ShopifyOrderService - getShippingByWeight -> Shipping Zone found for country ${countryCode}`, shippingZoneSelected);\n if(shippingZoneSelected.weight_based_shipping_rates && shippingZoneSelected.weight_based_shipping_rates.length > 0) {\n const shippingRateSelected = shippingZoneSelected.weight_based_shipping_rates.find(shippingRate => (shippingRate.weight_low <= weight && shippingRate.weight_high >= weight));\n if(shippingRateSelected){\n Logger.info('ShopifyOrderService - getShippingByWeight -> Adding SHIPPING RATE to order', shippingRateSelected);\n shippingLine = {code: shippingZoneSelected.name, title: shippingZoneSelected.name, price: shippingRateSelected.price, source: 'shopify', tax_lines: []};\n } else {\n Logger.info(`ShopifyOrderService - getShippingByWeight -> No Shipping Rate found for weight ${weight}`);\n }\n } else {\n Logger.info('ShopifyOrderService - getShippingByWeight -> Shipping Zone is not Weight based');\n }\n } else {\n Logger.info(`ShopifyOrderService - getShippingByWeight -> NO Shipping Zone found for country ${countryCode}`);\n }\n resolve(shippingLine);\n } catch (error) { Logger.error('ShopifyOrderService - getShippingByWeight -> Error while cancelling order', error); reject(Error(error)); }\n });\n };\n\n public createLineItemForOrderCalculation = (lineItems : ILineItem[], applyTaxesUsing: 'variantId' | 'price'): ILineItemForDraftCalculation[] => {\n const lineItemsForCalculation: ILineItemForDraftCalculation[] = lineItems.map( (li) => {\n const qty =parseInt(`${li.quantity}`, 10);\n if(li.variant_id && applyTaxesUsing === 'variantId') {\n return { variantId: `gid://shopify/ProductVariant/${li.variant_id}`, quantity: qty };\n } else {\n return { originalUnitPrice: `${li.price}`, taxable: li.taxable ?? false, requiresShipping: true, title: li.title ? li.title : `fake title ${li.price}`, quantity: qty };\n }\n });\n Logger.info(`ShopifyOrderService - createLineItemForOrderCalculation -> LineItems. Original ${JSON.stringify(lineItems)} and final input ${JSON.stringify(lineItemsForCalculation)}`);\n return lineItemsForCalculation;\n };\n\n /**\n * Returns taxes & available shippings\n * If variant id is provided and applyTaxesUsing is variantId then the variant is used if not uses the price provided\n * \n * @param {ILineItem[]} lineItems\n * @param {IAddress} address\n * @param {IShippingInput} shipping of the order or null if no shipping\n * @param {'variantId' | 'price'} applyTaxesUsing\n * \n * @returns Promise\n */\n public getAvailableShippingRatesByAddress = async (lineItems: ILineItem[], address: IAddress, shipping: IShippingInput, applyTaxesUsing: 'variantId' | 'price'): Promise<ICalculatedDraftOrder> => {\n return new Promise<ICalculatedDraftOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getAvailableShippingRatesByAddress: items ${JSON.stringify(lineItems)} and address ${JSON.stringify(address)}`);\n\n const countryCode = (!address.country_code || (address.country_code && (address.country_code.toLowerCase() === 'uk' || address.country_code.toLowerCase() === '*'))) ? 'GB' : address.country_code; \n const shippingAddress = { provinceCode: address.province_code, province: address.province, firstName: address.first_name,\n address1: address.address1, address2: address.address2, city: address.city, country: address.country, \n countryCode: countryCode };\n \n if(address.zip) {\n (shippingAddress as any).zip = address.zip;\n }\n\n const orderInput = { lineItems: this.createLineItemForOrderCalculation(lineItems, applyTaxesUsing), shippingAddress: shippingAddress };\n\n if(shipping) { (orderInput as any).shippingLine = shipping; }\n\n Logger.info(`ShopifyOrderService - getAvailableShippingRatesByAddress: input variable ${JSON.stringify(orderInput)}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(this.draftOrderGraphQLMutation), variables: { input: orderInput } }, { query_cost: 16 });\n const taxLines: ITaxLine[] = this.getOrderTaxLines(response.data.data.draftOrderCalculate);\n let shippingTaxLines: ITaxLine[] = [];\n if(shipping) {\n shippingTaxLines = this.getOrderShippingTaxLines(response.data.data.draftOrderCalculate);\n }\n resolve({ shippingTaxLines: shippingTaxLines, taxLines: taxLines, availableShippings: response.data.data.draftOrderCalculate.calculatedDraftOrder.availableShippingRates, totalTaxes: response.data.data.draftOrderCalculate.calculatedDraftOrder.totalTax} as ICalculatedDraftOrder);\n } catch (error) { Logger.error(`ShopifyOrderService - getAvailableShippingRatesByAddress -> ${error.message}`, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n \n /**\n * If variant id is provided and applyTaxesUsing is variantId then the variant is used if not uses the price provided\n * \n * @param {ILineItem[]} lineItems of the order\n * @param {number} customerId of the order\n * @param {IShippingInput} shipping of the order or null if no shipping\n * @returns Promise\n */\n public getAvailableShippingRatesByCustomerDefaultAddress = async (lineItems: ILineItem[], customerId: number, shipping: IShippingInput, applyTaxesUsing: 'variantId' | 'price'): Promise<ICalculatedDraftOrder> => {\n return new Promise<ICalculatedDraftOrder>(async (resolve, reject) => {\n try {\n Logger.info(`ShopifyOrderService - getAvailableShippingRatesByCustomerDefaultAddress: items ${JSON.stringify(lineItems)} and customer ${customerId}`);\n const orderInput = {\n lineItems: this.createLineItemForOrderCalculation(lineItems, applyTaxesUsing),\n customerId: `gid://shopify/Customer/${customerId}`,\n useCustomerDefaultAddress: true\n };\n if(shipping) { (orderInput as any).shippingLine = shipping; }\n Logger.info(`ShopifyOrderService - getAvailableShippingRatesByCustomerDefaultAddress: input variable ${JSON.stringify(orderInput)}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(this.draftOrderGraphQLMutation), variables: { input: orderInput } }, { query_cost: 16 });\n Logger.info(`ShopifyOrderService - getAvailableShippingRatesByCustomerDefaultAddress: calculated draft order ${JSON.stringify(response.data.data.draftOrderCalculate)}`);\n const taxLines: ITaxLine[] = this.getOrderTaxLines(response.data.data.draftOrderCalculate);\n let shippingTaxLines: ITaxLine[] = [];\n if(shipping) {\n shippingTaxLines = this.getOrderShippingTaxLines(response.data.data.draftOrderCalculate);\n }\n resolve({ shippingTaxLines: shippingTaxLines, taxLines: taxLines, availableShippings: response.data.data.draftOrderCalculate.calculatedDraftOrder.availableShippingRates, totalTaxes: response.data.data.draftOrderCalculate.calculatedDraftOrder.totalTax} as ICalculatedDraftOrder);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Apply Shipping and taxes to an order.\n * If variant id is provided and applyTaxesUsing is variantId then the variant is used if not uses the price provided.\n * \n * @param {IOrder} order. Order needs to have a customer or a shipping address set\n * @param {'cheapest'|'expensivest'} method\n * @param {boolean} addTaxes\n * @param {'variantId'|'price'} applyTaxesUsing\n * @returns Promise returns order with Shipping lines applied.\n */\n public applyShippingToOrder = async (order: IOrder, method: 'cheapest' | 'expensivest', addTaxes: boolean, applyTaxesUsing: 'variantId' | 'price'): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n const countryCode = this.getCountryCodeFromOrder(order);\n Logger.info(`ShopifyOrderService - applyShippingToOrder -> Country code identified ${countryCode}`);\n let shippingRates: IAvailableShippingRate[] = [];\n let calculatedDraftOrder: ICalculatedDraftOrder = null;\n if(order.shipping_address) {\n order.shipping_address.country_code = countryCode;\n calculatedDraftOrder = await this.getAvailableShippingRatesByAddress(order.line_items, order.shipping_address, null, applyTaxesUsing);\n } else if(order.customer) {\n calculatedDraftOrder = await this.getAvailableShippingRatesByCustomerDefaultAddress(order.line_items, order.customer.id, null, applyTaxesUsing);\n } else {\n reject(new InspiraShopifyCustomError('Order misses Shipping Address and Customer so noShipping rate can be calculated'));\n }\n shippingRates = calculatedDraftOrder.availableShippings;\n if(shippingRates && shippingRates.length > 0){\n shippingRates.sort((sr1, sr2) => parseFloat(sr1.price.amount) - parseFloat(sr2.price.amount) );\n const shippingRateSelected = method === 'cheapest' ? shippingRates[0] : shippingRates[shippingRates.length - 1];\n Logger.info(`ShopifyOrderService - applyShippingToOrder -> Shipping Rate selected ${JSON.stringify(shippingRateSelected)}`);\n if(shippingRateSelected) {\n order.shipping_lines = [{code: shippingRateSelected.handle, title: shippingRateSelected.title, price: shippingRateSelected.price.amount, source: 'shopify', tax_lines: []}];\n } else {\n Logger.info('ShopifyOrderService - applyShippingToOrder -> No shipping rate found');\n }\n } else {\n Logger.info('ShopifyOrderService - applyShippingToOrder -> NO Shipping Rates are applicable to the order');\n }\n if(addTaxes) {\n order = await this.applyTaxesToOrder(order, applyTaxesUsing);\n }\n resolve(order);\n } catch (error) { Logger.error('ShopifyOrderService - applyShippingToOrder -> Error while cancelling order', error); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Apply taxes to an order.\n * If variant id is provided and applyTaxesUsing is variantId then the variant is used if not uses the price provided.\n * \n * @param {IOrder} order. Order needs to have a customer or a shipping address set\n * @param {'variantId'|'price'} applyTaxesUsing\n * @returns Promise returns order with taxes applied.\n */\n public applyTaxesToOrder = async (order: IOrder, applyTaxesUsing: 'variantId' | 'price' ): Promise<IOrder> => {\n return new Promise<IOrder>(async (resolve, reject) => {\n try {\n const countryCode = this.getCountryCodeFromOrder(order);\n Logger.info(`ShopifyOrderService -> applyTaxesToOrder -> Country code identified ${countryCode}`);\n let totalTaxes: number = 0;\n let taxLines: ITaxLine[] = [];\n let shippingTaxLines: ITaxLine[] = [];\n let calculatedDraftOrder = null;\n if(order.shipping_address) {\n order.shipping_address.country_code = countryCode;\n calculatedDraftOrder = await this.getAvailableShippingRatesByAddress(order.line_items, order.shipping_address, this.getShippingInput(order), applyTaxesUsing);\n } else if(order.customer) {\n calculatedDraftOrder = await this.getAvailableShippingRatesByCustomerDefaultAddress(order.line_items, order.customer.id, this.getShippingInput(order), applyTaxesUsing);\n } else {\n reject(new InspiraShopifyCustomError('ShopifyOrderService -> applyTaxesToOrder -> Order misses Shipping Address and Customer so taxes can be calculated'));\n }\n totalTaxes = calculatedDraftOrder.totalTaxes;\n taxLines = calculatedDraftOrder.taxLines;\n shippingTaxLines = calculatedDraftOrder.shippingTaxLines;\n order.total_tax = totalTaxes;\n order.tax_lines = this.substractShippingFromGlobalTaxLines(taxLines, shippingTaxLines);\n if(order.shipping_lines && order.shipping_lines.length > 0 && shippingTaxLines.length > 0) {\n order.shipping_lines[0].tax_lines = shippingTaxLines;\n }\n resolve(order);\n } catch (error) { Logger.error('ShopifyOrderService -> applyTaxesToOrder -> Error while cancelling order', error); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * \n * @param {number} orderId\n * @param metafield\n * @returns order with the metafield\n */\n public getOrderWithMetafiled = async (orderId: number, metafield: {namespace: string; key: string; }): Promise<IOrderMetafield> => {\n return new Promise<IOrderMetafield>(async (resolve, reject) => {\n try {\n if(metafield && metafield.namespace && metafield.key) {\n Logger.info(`ShopifyOrderService -> getOrderWithMetafiled -> Get order with metafield: order id ${orderId} and metafield ${JSON.stringify(metafield)}`);\n const query = gql`{ \n order(id: \"${this.getGraphOrderIdFromId(orderId)}\") {\n metafield(namespace: \"${metafield.namespace}\", key: \"${metafield.key}\") {\n value\n }\n }\n }`;\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 4 });\n if(response && response.data && response.data.data && response.data.data.order){\n const orderGraph = response.data.data.order;\n resolve({ id: orderId, metafield: { namespace: metafield.namespace, key: metafield.key, value: orderGraph.metafield && orderGraph.metafield.value ? orderGraph.metafield.value : null }});\n } else {\n reject(new InspiraShopifyError({ message: JSON.stringify(response.data.errors) }));\n }\n } else {\n Logger.info('ShopifyOrderService -> getOrderWithMetafiled -> No metafield provided');\n }\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n private substractShippingFromGlobalTaxLines = (taxLines: ITaxLine[], shippingTaxLines : ITaxLine[]): ITaxLine[] => {\n if(shippingTaxLines && shippingTaxLines.length > 0) {\n for(const shippingTaxLine of shippingTaxLines) {\n const globalTaxLine = taxLines.find((txLine) => txLine.title === shippingTaxLine.title);\n const globalTxLinePrice = parseFloat(globalTaxLine.price);\n const shippingTxLinePrice = parseFloat(shippingTaxLine.price);\n if(globalTxLinePrice > shippingTxLinePrice) {\n globalTaxLine.price = (parseFloat(globalTaxLine.price) - parseFloat(shippingTaxLine.price)).toFixed(2);\n }\n }\n }\n return taxLines;\n };\n\n private getShippingInput = (order: IOrder): IShippingInput => {\n try {\n if(order.shipping_lines && order.shipping_lines.length > 0) {\n let price = 0;\n for(const shippingLine of order.shipping_lines) {\n price += parseFloat(shippingLine.price);\n }\n return { price: price.toString(), title: 'Shipping Sum'};\n } else {\n return null;\n }\n } catch(e) {\n return null;\n }\n };\n\n private getCountryCodeFromOrder = (order: IOrder): string => {\n let countryCode = '';\n let country = '';\n if(order.shipping_address) {\n countryCode = order.shipping_address.country_code;\n country = order.shipping_address.country;\n }\n if(!countryCode && !country) { \n countryCode = 'GB'; \n } else if (!countryCode && country) {\n countryCode = CountryCodeService.getCountryCode(country);\n }\n return countryCode;\n };\n\n private getOrderTaxLines = (draftOrderCalculate: IShopifyDraftOrderCalculate): ITaxLine[] => {\n Logger.info('ShopifyOrderService -> getOrderTaxLines Draft order calculated', JSON.stringify(draftOrderCalculate.calculatedDraftOrder));\n const taxLines: ITaxLine[] = this.getTaxLines(draftOrderCalculate.calculatedDraftOrder.taxLines);\n return taxLines;\n };\n \n private getOrderShippingTaxLines = (draftOrderCalculate: IShopifyDraftOrderCalculate): ITaxLine[] => {\n Logger.info('ShopifyOrderService -> getOrderShippingTaxLines Draft order calculated', JSON.stringify(draftOrderCalculate.calculatedDraftOrder));\n const taxLines: ITaxLine[] = draftOrderCalculate.calculatedDraftOrder.shippingLine && \n draftOrderCalculate.calculatedDraftOrder.shippingLine.taxLines &&\n draftOrderCalculate.calculatedDraftOrder.shippingLine.taxLines.length > 0 ? \n this.getTaxLines(draftOrderCalculate.calculatedDraftOrder.shippingLine.taxLines) : [];\n return taxLines;\n };\n\n private getTaxLines = (shopifyTaxLines: IShopifyTaxLine[]): ITaxLine[] => {\n const taxLines: ITaxLine[] = [];\n for(const taxLine of shopifyTaxLines) {\n try {\n taxLines.push({ price: taxLine.priceSet.shopMoney.amount, title: taxLine.title, rate: taxLine.rate });\n }catch(e) {\n Logger.error('Error while adding Tax Line', e);\n }\n }\n return taxLines;\n };\n}\n"]}
@@ -13,3 +13,4 @@ export declare class ShopifyPageService {
13
13
  */
14
14
  postMetafields: (id: number, metafields: IMetafield[]) => Promise<IMetafield[]>;
15
15
  }
16
+ //# sourceMappingURL=ShopifyPageService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyPageService.d.ts","sourceRoot":"","sources":["../../shopify/ShopifyPageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,qBAAa,kBAAkB;IAEf,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEzC,IAAI,UAAiB,MAAM,YAAY,MAAM,UAAU,MAAM,KAAG,QAAQ,KAAK,CAAC,CAQnF;IAEK,GAAG,aAAoB,MAAM,UAAU,MAAM,KAAG,QAAQ,KAAK,CAAC,CASnE;IAEF;;;;;;OAMG;IACI,cAAc,OAAc,MAAM,cAAc,UAAU,EAAE,KAAG,QAAQ,UAAU,EAAE,CAAC,CAuBzF;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyPageService.js","sourceRoot":"","sources":["../../shopify/ShopifyPageService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyPageService.js","sourceRoot":"","sources":["../../shopify/ShopifyPageService.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,sCAAmC;AACnC,oDAA6C;AAC7C,sEAA+D;AAE/D,MAAa,kBAAkB;IAE3B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAEzC,SAAI,GAAG,CAAO,KAAa,EAAE,QAAgB,EAAE,MAAc,EAAkB,EAAE;YACpF,OAAO,IAAI,OAAO,CAAQ,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,IAAI;oBACA,eAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,kBAAkB,MAAM,EAAE,CAAC,CAAC;oBACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;oBACpI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBAAC,OAAO,KAAK,EAAE;oBAAE,eAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAE;YAC7H,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;QAEK,QAAG,GAAG,CAAO,QAAgB,EAAE,MAAc,EAAkB,EAAE;YACpE,OAAO,IAAI,OAAO,CAAQ,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,IAAI;oBACA,eAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;oBACvC,MAAM,iBAAiB,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;oBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,MAAM,OAAO,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;oBAClG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBAAC,OAAO,KAAK,EAAE;oBAAE,eAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAE;YAC7H,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;QAEF;;;;;;WAMG;QACI,mBAAc,GAAG,CAAO,EAAU,EAAE,UAAwB,EAAyB,EAAE;YAC1F,OAAO,IAAI,OAAO,CAAe,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,IAAI;oBACA,MAAM,iBAAiB,GAAiB,EAAE,CAAC;oBAC3C,MAAM,iBAAiB,GAAiB,EAAE,CAAC;oBAC3C,KAAI,MAAM,SAAS,IAAI,UAAU,EAAE;wBAC/B,IAAI;4BACA,eAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;4BACvD,MAAM,QAAQ,GAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC;4BACzG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACnD;wBAAC,OAAM,CAAC,EAAE;4BACP,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAClC,eAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,SAAS,CAAC,CAAC;yBACjF;qBACJ;oBACD,IAAG,iBAAiB,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE;wBAC9C,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;wBAC5D,MAAM,EAAE,CAAC;qBACZ;yBAAM;wBACH,OAAO,CAAC,iBAAiB,CAAC,CAAC;qBAC9B;iBACJ;gBAAC,OAAO,KAAK,EAAE;oBAAE,eAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;iBAAE;YAC7H,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;IArDkD,CAAC;CAsDxD;AAxDD,gDAwDC","sourcesContent":["import { AxiosInstance } from 'axios';\nimport { Logger } from '../Logger';\nimport ErrorHelper from './base/ErrorHelper';\nimport InspiraShopifyError from './errors/InspiraShopifyError';\n\nexport class ShopifyPageService {\n\n constructor(private axiosInstance: AxiosInstance) { }\n\n public post = async (title: string, bodyHtml: string, suffix: string): Promise<IPage> => {\n return new Promise<IPage>(async (resolve, reject) => {\n try {\n Logger.info(`Creating page with title ${title} with template ${suffix}`);\n const response = await this.axiosInstance.post('/pages.json', {page: {title: title, body_html: bodyHtml, template_suffix: suffix}});\n resolve(response.data.page);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n public put = async (bodyHtml: string, pageId: number): Promise<IPage> => {\n return new Promise<IPage>(async (resolve, reject) => {\n try {\n Logger.info(`Changing page ${pageId}`);\n const changePageRequest = { body_html: bodyHtml };\n const response = await this.axiosInstance.put(`/pages/${pageId}.json`, {page: changePageRequest});\n resolve(response.data.page);\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n\n /**\n * Creates metafields for a page and return the created metafields.\n * \n * @param {number} id\n * @param {IMetafield} metafield\n * @returns Promise\n */\n public postMetafields = async (id: number, metafields: IMetafield[]): Promise<IMetafield[]> => {\n return new Promise<IMetafield[]>(async (resolve, reject) => {\n try {\n const createdMetafields: IMetafield[] = [];\n const erroredMetafields: IMetafield[] = [];\n for(const metafield of metafields) {\n try {\n Logger.info(`Posting metafield for page id -> ${id}`);\n const response = await this.axiosInstance.post(`/pages/${id}/metafields.json`, { metafield: metafield});\n createdMetafields.push(response.data.metafield);\n } catch(e) {\n erroredMetafields.push(metafield);\n Logger.error('Failure while creating metafield for page resource', metafield);\n }\n }\n if(createdMetafields.length != metafields.length) {\n Logger.error('Some metafields did fail', erroredMetafields);\n reject();\n } else {\n resolve(createdMetafields);\n }\n } catch (error) { Logger.error(error, ErrorHelper.getErrorFromResponse(error)); reject(new InspiraShopifyError(error)); }\n });\n };\n}\n"]}
@@ -144,3 +144,4 @@ export declare class ShopifyProductService extends AbstractService {
144
144
  mediaContentType: 'IMAGE' | 'VIDEO';
145
145
  }[]>;
146
146
  }
147
+ //# sourceMappingURL=ShopifyProductService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyProductService.d.ts","sourceRoot":"","sources":["../../shopify/ShopifyProductService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,qBAAa,qBAAsB,SAAQ,eAAe;IAS1C,OAAO,CAAC,aAAa;IAP1B,YAAY,EAAE,iCAAiC,CAAC;IAChD,KAAK,EAAE,0BAA0B,CAAC;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,UAAU,EAAE,+BAA+B,CAAC;IAC5C,QAAQ,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,2BAA2B,CAA8B;gBAE7C,aAAa,EAAE,aAAa;IAUhD;;;;;;;;;;;;OAYG;IACI,MAAM,YAAmB,QAAQ,cAAc,MAAM,qBAAqB,OAAO,KAAG,QAAQ,QAAQ,CAAC,CAiH1G;IAEF;;;;;OAKG;IACI,YAAY,cAAqB,MAAM,cAAc,MAAM,gBAAgB,MAAM,EAAE,YAAY,MAAM,KAAG,QAAQ,OAAO,CAAC,CAkB7H;IAEK,MAAM,YAAmB,qBAAqB,KAAG,QAAQ,IAAI,CAAC,CAenE;IAEF;;;;;OAKG;IACI,gCAAgC,WAAkB,MAAM,cAAc;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;KAAE,EAAE,KAAG,QAAQ,wBAAwB,EAAE,CAAC,CA8BtJ;IAEF;;;;;OAKG;IACI,2BAA2B,cAAqB,MAAM,KAAG,QAAQ,cAAc,CAAC,CAYrF;IAEF;;;;;OAKG;IACI,qCAAqC,cAAqB,MAAM,iBAAiB,MAAM,UAAU,MAAM,KAAG,QAAQ,cAAc,CAAC,CAqCtI;IAEF;;;;;OAKG;IACI,iBAAiB,eAAsB,MAAM,EAAE,aAAa,MAAM,KAAG,QAAQ,GAAG,EAAE,CAAC,CAyCxF;IAEF;;;;;OAKG;IACI,oBAAoB,eAAsB,MAAM,EAAE,gBAAgB,MAAM,KAAG,QAAQ,GAAG,EAAE,CAAC,CAqC9F;IAEF;;;;;OAKG;IACI,+BAA+B,cAAqB,MAAM,KAAG,QAAQ,iBAAiB,CAAC,CAuE5F;IAEF;;;;;OAKG;IACI,QAAQ,QAAe,MAAM,KAAG,QAAQ,QAAQ,EAAE,CAAC,CA0CxD;IAEK,MAAM,OAAc,MAAM,KAAG,QAAQ,IAAI,CAAC,CAsB/C;IAEK,mCAAmC,QAAe,MAAM,EAAE,iBAAiB,MAAM,EAAE,KAAG,QAAQ,kBAAkB,EAAE,CAAC,CA+BxH;IAEF;;;;;;OAMG;IACI,aAAa,UAAiB,MAAM;eAAoB,MAAM;YAAM,MAAM;gBAAU,MAAM;eAAS,MAAM;wBAAkB,MAAM;;gBAAkB,MAAM;mBAAS,MAAM;;SAkC7K;IAEF;;;;;;;;;OASG;IACI,WAAW,cAAqB,MAAM,OAAO;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;KAAE,cAAc,MAAM,EAAE,KAAG,QAAQ,IAAI,CAAC,CA8CtH;IAEF;;;;;;;OAOG;IACI,WAAW,cAAqB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAmC3D;IAEF;;;;;;;OAOG;IACI,QAAQ,cAAqB,MAAM,KAAG,QAAQ;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;KAAE,EAAE,CAAC,CA4B1G;CAEL"}