@sommpicks/sommpicks-shopify 24.12.7 → 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 (194) 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 +1 -1
  90. package/dist/shopify/base/APIVersion.js.map +1 -1
  91. package/dist/shopify/base/AbstractService.d.ts +1 -0
  92. package/dist/shopify/base/AbstractService.d.ts.map +1 -0
  93. package/dist/shopify/base/AbstractService.js.map +1 -1
  94. package/dist/shopify/base/ErrorHelper.d.ts +1 -0
  95. package/dist/shopify/base/ErrorHelper.d.ts.map +1 -0
  96. package/dist/shopify/base/ErrorHelper.js.map +1 -1
  97. package/dist/shopify/errors/InspiraShopifyCustomError.d.ts +1 -0
  98. package/dist/shopify/errors/InspiraShopifyCustomError.d.ts.map +1 -0
  99. package/dist/shopify/errors/InspiraShopifyCustomError.js.map +1 -1
  100. package/dist/shopify/errors/InspiraShopifyError.d.ts +1 -0
  101. package/dist/shopify/errors/InspiraShopifyError.d.ts.map +1 -0
  102. package/dist/shopify/errors/InspiraShopifyError.js.map +1 -1
  103. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.d.ts +1 -0
  104. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.d.ts.map +1 -0
  105. package/dist/shopify/errors/InspiraShopifyUnableToReserveInventoryError.js.map +1 -1
  106. package/dist/shopify/helpers/ShopifyProductServiceHelper.d.ts +1 -0
  107. package/dist/shopify/helpers/ShopifyProductServiceHelper.d.ts.map +1 -0
  108. package/dist/shopify/helpers/ShopifyProductServiceHelper.js.map +1 -1
  109. package/dist/shopify/product/ShopifyProductCountService.d.ts +1 -0
  110. package/dist/shopify/product/ShopifyProductCountService.d.ts.map +1 -0
  111. package/dist/shopify/product/ShopifyProductCountService.js.map +1 -1
  112. package/dist/shopify/product/ShopifyProductListService.d.ts +1 -0
  113. package/dist/shopify/product/ShopifyProductListService.d.ts.map +1 -0
  114. package/dist/shopify/product/ShopifyProductListService.js.map +1 -1
  115. package/dist/shopify/product/ShopifyProductMetafieldsService.d.ts +1 -0
  116. package/dist/shopify/product/ShopifyProductMetafieldsService.d.ts.map +1 -0
  117. package/dist/shopify/product/ShopifyProductMetafieldsService.js.map +1 -1
  118. package/dist/shopify/product/ShopifyProductPublicationsService.d.ts +1 -0
  119. package/dist/shopify/product/ShopifyProductPublicationsService.d.ts.map +1 -0
  120. package/dist/shopify/product/ShopifyProductPublicationsService.js.map +1 -1
  121. package/dist/shopify/product/ShopifyVariantService.d.ts +1 -0
  122. package/dist/shopify/product/ShopifyVariantService.d.ts.map +1 -0
  123. package/dist/shopify/product/ShopifyVariantService.js.map +1 -1
  124. package/dist/shopify/router/ShopifyMandatoryRouter.d.ts +1 -0
  125. package/dist/shopify/router/ShopifyMandatoryRouter.d.ts.map +1 -0
  126. package/dist/shopify/router/ShopifyMandatoryRouter.js.map +1 -1
  127. package/dist/shopify/router/ShopifyRouter.d.ts +1 -0
  128. package/dist/shopify/router/ShopifyRouter.d.ts.map +1 -0
  129. package/dist/shopify/router/ShopifyRouter.js +72 -1
  130. package/dist/shopify/router/ShopifyRouter.js.map +1 -1
  131. package/dist/shopify/router/ShopifyRouterBis.d.ts +1 -0
  132. package/dist/shopify/router/ShopifyRouterBis.d.ts.map +1 -0
  133. package/dist/shopify/router/ShopifyRouterBis.js.map +1 -1
  134. package/dist/shopify/router/ShopifyRouterBisBis.d.ts +1 -0
  135. package/dist/shopify/router/ShopifyRouterBisBis.d.ts.map +1 -0
  136. package/dist/shopify/router/ShopifyRouterBisBis.js.map +1 -1
  137. package/dist/shopify/router/ShopifyRouterBisBisBis.d.ts +1 -0
  138. package/dist/shopify/router/ShopifyRouterBisBisBis.d.ts.map +1 -0
  139. package/dist/shopify/router/ShopifyRouterBisBisBis.js.map +1 -1
  140. package/dist/shopify/router/ShopifyRouterBisBisBisBis.d.ts +1 -0
  141. package/dist/shopify/router/ShopifyRouterBisBisBisBis.d.ts.map +1 -0
  142. package/dist/shopify/router/ShopifyRouterBisBisBisBis.js.map +1 -1
  143. package/dist/shopify/router/WebhookSkipMiddleware.d.ts +1 -0
  144. package/dist/shopify/router/WebhookSkipMiddleware.d.ts.map +1 -0
  145. package/dist/shopify/router/WebhookSkipMiddleware.js.map +1 -1
  146. package/dist/shopify/router/services/CryptoService.d.ts +2 -0
  147. package/dist/shopify/router/services/CryptoService.d.ts.map +1 -0
  148. package/dist/shopify/router/services/CryptoService.js.map +1 -1
  149. package/dist/shopify/router/services/HmacValidator.d.ts +1 -0
  150. package/dist/shopify/router/services/HmacValidator.d.ts.map +1 -0
  151. package/dist/shopify/router/services/HmacValidator.js.map +1 -1
  152. package/dist/shopify/router/services/OauthService.d.ts +1 -0
  153. package/dist/shopify/router/services/OauthService.d.ts.map +1 -0
  154. package/dist/shopify/router/services/OauthService.js.map +1 -1
  155. package/dist/shopify/router/services/RestUtils.d.ts +1 -0
  156. package/dist/shopify/router/services/RestUtils.d.ts.map +1 -0
  157. package/dist/shopify/router/services/RestUtils.js.map +1 -1
  158. package/dist/shopify/router/services/rateLimiter/MemoryStores.d.ts +1 -0
  159. package/dist/shopify/router/services/rateLimiter/MemoryStores.d.ts.map +1 -0
  160. package/dist/shopify/router/services/rateLimiter/MemoryStores.js.map +1 -1
  161. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.d.ts +1 -0
  162. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.d.ts.map +1 -0
  163. package/dist/shopify/router/services/rateLimiter/StoreRateLimiter.js.map +1 -1
  164. package/dist/test/router/ShopifyRouter.test.d.ts +1 -0
  165. package/dist/test/router/ShopifyRouter.test.d.ts.map +1 -0
  166. package/dist/test/router/ShopifyRouter.test.js.map +1 -1
  167. package/dist/test/router/WebhookSkipMiddleware.test.d.ts +1 -0
  168. package/dist/test/router/WebhookSkipMiddleware.test.d.ts.map +1 -0
  169. package/dist/test/router/WebhookSkipMiddleware.test.js.map +1 -1
  170. package/dist/test/router/services/HmacValidator.test.d.ts +1 -0
  171. package/dist/test/router/services/HmacValidator.test.d.ts.map +1 -0
  172. package/dist/test/router/services/HmacValidator.test.js.map +1 -1
  173. package/dist/test/router/services/RestUtils.test.d.ts +1 -0
  174. package/dist/test/router/services/RestUtils.test.d.ts.map +1 -0
  175. package/dist/test/router/services/RestUtils.test.js.map +1 -1
  176. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.d.ts +1 -0
  177. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.d.ts.map +1 -0
  178. package/dist/test/router/services/rateLimiter/StoreRateLimiter.test.js.map +1 -1
  179. package/dist/test/services/CacheWrapper.test.d.ts +1 -0
  180. package/dist/test/services/CacheWrapper.test.d.ts.map +1 -0
  181. package/dist/test/services/CacheWrapper.test.js.map +1 -1
  182. package/dist/test/shopify/ShopifyOrderService.test.d.ts +1 -0
  183. package/dist/test/shopify/ShopifyOrderService.test.d.ts.map +1 -0
  184. package/dist/test/shopify/ShopifyOrderService.test.js.map +1 -1
  185. package/dist/test/shopify/ShopifyProductService.test.d.ts +1 -0
  186. package/dist/test/shopify/ShopifyProductService.test.d.ts.map +1 -0
  187. package/dist/test/shopify/ShopifyProductService.test.js.map +1 -1
  188. package/dist/test/shopify/ShopifyWebhookService.test.d.ts +1 -0
  189. package/dist/test/shopify/ShopifyWebhookService.test.d.ts.map +1 -0
  190. package/dist/test/shopify/ShopifyWebhookService.test.js.map +1 -1
  191. package/package.json +8 -1
  192. package/shopify/base/APIVersion.ts +2 -2
  193. package/shopify/router/ShopifyRouter.ts +72 -2
  194. package/tsconfig.json +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyVariantService.js","sourceRoot":"","sources":["../../../shopify/product/ShopifyVariantService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyVariantService.js","sourceRoot":"","sources":["../../../shopify/product/ShopifyVariantService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgC;AAChC,6CAA8B;AAE9B,6DAA0D;AAC1D,yCAAsC;AACtC,uEAAgE;AAChE,wFAAqF;AAgBrF,MAAa,qBAAsB,SAAQ,iCAAe;IAEtD,YAAoB,aAA4B,EAAU,2BAAwD;QAC9G,KAAK,EAAE,CAAC;QADQ,kBAAa,GAAb,aAAa,CAAe;QAAU,gCAA2B,GAA3B,2BAA2B,CAA6B;QAIlH;;;;;;;;WAQG;QACI,WAAM,GAAG,CAAO,SAAiB,EAAE,OAAiB,EAAE,QAAgB,EAAE,kBAA4B,EAAE,UAAkB,EAAE,iBAA0B,EAAE,uBAAgC,EAAqB,EAAE;YAChN,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,yDAAyD,SAAS,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzH,MAAM,eAAe,GAAkC,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;gBAC1K,MAAM,mBAAmB,GAAG,yDAA2B,CAAC,YAAY,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;gBACxK,eAAM,CAAC,IAAI,CAAC,qEAAqE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpH,eAAM,CAAC,IAAI,CAAC,0EAA0E,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAC7H,MAAM,SAAS,GAAwI,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3O,IAAI,QAAQ,EAAE;oBACV,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;iBAC3G;gBACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjK,IAAI,cAAc,GAAG,IAAI,CAAC;gBAC1B,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE;oBACzM,KAAK,MAAM,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE;wBAC7F,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;qBAC9E;iBACJ;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,sEAAsE,SAAS,EAAE,CAAC,CAAC;iBACnG;gBACD,OAAO,cAAc,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;;;;;;;WAaG;QACI,WAAM,GAAG,CAAO,OAAiB,EAAE,kBAA4B,EAAE,UAAkB,EAAE,SAAiB,EAAE,SAAiB,EAAE,GAA6C,EAAE,iBAA0B,EAAE,cAA8D,EAAE,qBAAmF,EAAqB,EAAE;YACnX,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,kDAAkD,SAAS,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjH,IAAG,qBAAqB,CAAC,oBAAoB,EAAE;oBAC3C,OAAO,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;iBAClG;gBACD,MAAM,eAAe,GAAkC,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBAC5M,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,CAAC,yDAA2B,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,CAAC,yDAA2B,CAAC,YAAY,CAAC,yCAAyC,CAAC;gBACxM,eAAM,CAAC,IAAI,CAAC,qEAAqE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpH,eAAM,CAAC,IAAI,CAAC,0EAA0E,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAC7H,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3O,IAAI,cAAc,GAAa,IAAI,CAAC;gBACpC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE;oBACzM,MAAM,QAAQ,GAA6C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC;oBAChI,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE;wBACjC,IAAI,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;4BACtD,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BAC3E,IAAI,UAAU,IAAI,OAAO,CAAC,kBAAkB,EAAE;gCAC1C,eAAM,CAAC,IAAI,CAAC,kEAAkE,SAAS,gBAAgB,SAAS,EAAE,CAAC,CAAC;gCACpH,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;gCAClG,cAAc,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;6BAClE;4BACD,MAAM;yBACT;qBACJ;iBACJ;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,sEAAsE,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACnJ;gBACD,OAAO,cAAc,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;;;;;WAWG;QACI,eAAU,GAAG,CAAO,SAAiB,EAAE,QAAoB,EAAE,cAInE,EAAE,iBAA0B,EAAuB,EAAE;YAClD,IAAI;gBACA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAEzG,eAAM,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;gBAErH,MAAM,gBAAgB,GAAoC,EAAE,CAAC;gBAC7D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;oBACjB,MAAM,IAAI,GAAG,MAAA,cAAc,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC;oBACtE,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAC9D,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE,EACpD,cAAc,CAAC,kBAAkB,EACjC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAG,CAC/C,CAAC;oBACF,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,CAAC,yDAA2B,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,CAAC,yDAA2B,CAAC,YAAY,CAAC,yCAAyC,CAAC;gBAC3M,eAAM,CAAC,IAAI,CAAC,mEAAmE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACnH,eAAM,CAAC,IAAI,CAAC,4EAA4E,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAClI,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,sBAAsB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAEzN,MAAM,eAAe,GAAe,EAAE,CAAC;gBACvC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE;oBACzM,MAAM,gBAAgB,GAA6C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC;oBACxI,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;wBACzC,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBACjF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;wBAE5F,IAAI,eAAe,EAAE;4BACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;4BAEzF,IAAI,QAAQ,CAAC,UAAU,EAAE;gCACrB,eAAM,CAAC,IAAI,CAAC,kEAAkE,SAAS,gBAAgB,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gCAC5H,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,iBAAiB,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;6BACrH;iCAAM;gCACH,eAAM,CAAC,KAAK,CAAC,uEAAuE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gCACzG,eAAM,CAAC,KAAK,CAAC,4EAA4E,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;6BACjH;4BACD,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BACrC,MAAM;yBACT;qBACJ;iBACJ;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,sEAAsE,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACnJ;gBAED,OAAO,eAAe,CAAC;aAC1B;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;WAMG;QACI,oBAAe,GAAG,CAAO,UAAkB,EAAE,eAAuB,EAAE,KAAa,EAAoB,EAAE;;YAC5G,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,6CAA6C,KAAK,gBAAgB,UAAU,wBAAwB,eAAe,EAAE,CAAC,CAAC;gBAEnI,MAAM,iBAAiB,GAA0C,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAEvQ,MAAM,uBAAuB,GAAG,yDAA2B,CAAC,YAAY,CAAC,sBAAsB,CAAC;gBAChG,eAAM,CAAC,IAAI,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBAC5G,eAAM,CAAC,IAAI,CAAC,yDAAyD,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBAChH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,uBAAuB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAExL,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAI,MAAA,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,wBAAwB,0CAAE,SAAS,CAAA,EAAE;oBACtK,eAAM,CAAC,IAAI,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBAC5J,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,oEAAoE,eAAe,MAAM,IAAI,CAAC,SAAS,CAAC,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC1L,OAAO,KAAK,CAAC;iBAChB;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;WAMG;QACI,iBAAY,GAAG,CAAO,UAAkB,EAAE,eAAuB,EAAE,QAAgB,EAAoB,EAAE;;YAC5G,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,0CAA0C,QAAQ,gBAAgB,UAAU,wBAAwB,eAAe,EAAE,CAAC,CAAC;gBAEnI,MAAM,iBAAiB,GAA0C,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAE7S,MAAM,uBAAuB,GAAG,yDAA2B,CAAC,YAAY,CAAC,mBAAmB,CAAC;gBAC7F,eAAM,CAAC,IAAI,CAAC,wDAAwD,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACzG,eAAM,CAAC,IAAI,CAAC,sDAAsD,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBAC7G,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,uBAAuB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAExL,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAI,MAAA,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,0CAAE,wBAAwB,0CAAE,OAAO,CAAA,EAAE;oBACjK,eAAM,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,SAAS,CAAC,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,0CAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBACtJ,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,iEAAiE,eAAe,MAAM,IAAI,CAAC,SAAS,CAAC,MAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,0CAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBACpL,OAAO,KAAK,CAAC;iBAChB;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEK,aAAQ,GAAG,CAAO,SAAiB,EAAmB,EAAE;;YAE3D,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;gBAC9D,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;;;;;;;;;;kBAU9E,CAAC;gBACP,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/I,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,KAAI,MAAA,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAA,EAAE;oBAC7I,OAAO,CAAA,MAAA,MAAA,MAAA,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,QAAQ,0CAAE,KAAK,0CAAE,MAAM,EAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/I;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,sEAAsE,SAAS,EAAE,CAAC,CAAC;iBACnG;aAEJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;WAIG;QACI,YAAO,GAAG,CAAO,SAAiB,EAAqB,EAAE;YAC5D,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,0DAA0D,SAAS,EAAE,CAAC,CAAC;gBACnF,MAAM,eAAe,GAAG,yDAA2B,CAAC,YAAY,CAAC,iBAAiB,CAAC;gBACnF,eAAM,CAAC,IAAI,CAAC,qEAAqE,eAAe,EAAE,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACtF,MAAM,eAAe,GAA2C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAClG,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAC7E,OAAO,OAAO,CAAC;iBAClB;qBAAM;oBACH,eAAM,CAAC,KAAK,CAAC,sCAAsC,SAAS,YAAY,CAAC,CAAC;oBAC1E,OAAO,IAAI,CAAC;iBACf;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,SAAiB,EAAE,WAAqB,EAAiB,EAAE;;YAC9E,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,2DAA2D,WAAW,EAAE,CAAC,CAAC;gBACtF,MAAM,sBAAsB,GAAG,yDAA2B,CAAC,YAAY,CAAC,sBAAsB,CAAC;gBAC/F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,sBAAsB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxR,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAI,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,OAAO,0CAAE,EAAE,CAAA,EAAE;oBAC9G,eAAM,CAAC,IAAI,CAAC,6CAA6C,WAAW,CAAC,MAAM,0BAA0B,SAAS,EAAE,CAAC,CAAC;iBACrH;qBAAM;oBACH,MAAM,IAAI,6BAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC7H;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;WAKG;QACI,kBAAa,GAAG,CAAO,SAAiB,EAAyB,EAAE;;YACtE,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,kFAAkF,SAAS,EAAE,CAAC,CAAC;gBAC3G,MAAM,kBAAkB,GAAG,yDAA2B,CAAC,YAAY,CAAC,2BAA2B,CAAC;gBAChG,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA,GAAG,kBAAkB,EAAE,CAAC;gBACzC,eAAM,CAAC,IAAI,CAAC,qDAAqD,kBAAkB,EAAE,CAAC,CAAC;gBACvF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAEvL,IAAI,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,0CAAE,UAAU,0CAAE,KAAK,KAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvH,MAAM,eAAe,GAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;oBAChG,MAAM,UAAU,GAAiB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC/L,OAAO,UAAU,CAAC;iBACrB;qBAAM;oBACH,IAAI,CAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,0CAAE,KAAK,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC5F,eAAM,CAAC,IAAI,CAAC,iFAAiF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACtI;yBAAM;wBACH,eAAM,CAAC,KAAK,CAAC,4EAA4E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBACpL;oBACD,OAAO,EAAE,CAAC;iBACb;aAEJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;;WAQG;QACI,2BAAsB,GAAG,CAAO,EAAU,EAAE,UAAwB,EAAyB,EAAE;;YAClG,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,wEAAwE,EAAE,EAAE,CAAC,CAAC;gBAE1F,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAE9D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,EAAE;oBACpB,KAAK,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;wBAC/D,eAAM,CAAC,IAAI,CAAC,uEAAuE,KAAK,EAAE,CAAC,CAAC;wBAC5F,MAAM,gBAAgB,GAA+B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;wBACxM,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;0BAeX,CAAC;wBACP,eAAM,CAAC,IAAI,CAAC,qDAAqD,QAAQ,EAAE,CAAC,CAAC;wBAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAA,qBAAG,EAAA,GAAG,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC9L,eAAM,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClG,IAAI,CAAA,MAAA,MAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,aAAa,0CAAE,UAAU,0CAAE,MAAM,IAAG,CAAC,EAAE;4BAC5D,OAAO,MAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,aAAa,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;yBAChM;6BAAM;4BACH,IAAI,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,0CAAE,aAAa,0CAAE,UAAU,EAAE;gCACjD,eAAM,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,SAAS,CAAC,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,0CAAE,aAAa,0CAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gCACtI,MAAM,IAAI,6BAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,0CAAE,aAAa,4CAAE,UAAU,CAAC,EAAE,CAAC,CAAC;6BAC9G;iCAAM;gCACH,OAAO,EAAE,CAAC;6BACb;yBACJ;qBACJ;iBACJ;qBAAM;oBACH,eAAM,CAAC,IAAI,CAAC,wEAAwE,EAAE,2BAA2B,CAAC,CAAC;iBACtH;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAGF;;;;;WAKG;QACI,0BAAqB,GAAG,CAAO,YAAsB,EAAmB,EAAE;;YAC7E,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,+EAA+E,YAAY,EAAE,CAAC,CAAC;gBAC3G,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;sBACP,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;mCACb,EAAE,mCAAmC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;;;;;;0BAMhF,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;kBACnB,CAAC;gBACP,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnJ,IAAI,OAAA,wBAAwB,CAAC,IAAI,4CAAE,IAAI,EAAE;oBACrC,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;wBAC/B,IAAI,OAAA,wBAAwB,CAAC,IAAI,4CAAE,IAAI,CAAC,YAAY,MAAM,EAAE,EAAE,SAAS,EAAE;4BACrE,UAAU,IAAI,CAAC,CAAC;yBACnB;qBACJ;oBACD,OAAO,UAAU,CAAC;iBACrB;qBAAM;oBACH,OAAO,CAAC,CAAC;iBACZ;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;WAOG;QACI,yBAAoB,GAAG,CAAO,SAAiB,EAAE,SAAiB,EAAE,YAAoB,EAAmB,EAAE;YAChH,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,8EAA8E,YAAY,gBAAgB,SAAS,gBAAgB,SAAS,EAAE,CAAC,CAAC;gBAC5J,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,EAAE;wBAChC,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjD,WAAW,EAAE,CAAC;qBACjB;iBACJ;gBACD,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;WAKG;QACI,6BAAwB,GAAG,CAAO,cAAwB,EAAkB,EAAE;YACjF,IAAI;gBACA,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,MAAM,MAAM,GAAG,EAAE,CAAC;oBAClB,eAAM,CAAC,IAAI,CAAC,6EAA6E,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACtH,MAAM,kBAAkB,GAAe,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBAChF,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;wBAChD,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;8BACP,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;2CAClB,EAAE,mCAAmC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;;;;;;kCAMhF,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;0BACnB,CAAC;wBACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;wBAExI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;4BACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;4BAC3C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;gCAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;gCAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oCACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iCACpB;6BACJ;yBACJ;6BAAM;4BACH,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;yBACtC;qBACJ;oBACD,OAAO,MAAM,CAAC;iBACjB;qBAAM;oBACH,eAAM,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;oBAC1G,OAAO,EAAE,CAAC;iBACb;aACJ;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;WAOG;QACI,0BAAqB,GAAG,CAAO,SAAiB,EAAE,SAAiB,EAAE,aAAuB,EAAmB,EAAE;YACpH,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,gFAAgF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,SAAS,gBAAgB,SAAS,EAAE,CAAC,CAAC;gBAC/K,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,MAAM,kBAAkB,GAAa,EAAE,CAAC;gBACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;wBACvC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACtC,WAAW,EAAE,CAAC;qBACjB;iBACJ;gBACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;iBACrD;gBACD,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;;;WAOG;QACI,iBAAY,GAAG,CAAO,SAAiB,EAAE,SAAiB,EAAE,SAAiB,EAAE,GAAW,EAAuB,EAAE;YACtH,IAAI;gBACA,eAAM,CAAC,IAAI,CAAC,+EAA+E,SAAS,gBAAgB,SAAS,kBAAkB,SAAS,YAAY,GAAG,EAAE,CAAC,CAAC;gBAC3K,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,cAAc,GAAe,IAAI,CAAC;gBACtC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;iBACrF;gBACD,OAAO,cAAc,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;QAEF;;;;;WAKG;QACI,4BAAuB,GAAG,CAAO,iBAAsC,EAAsB,EAAE;YAClG,IAAI;gBACA,MAAM,cAAc,GAAc,EAAE,CAAC;gBACrC,eAAM,CAAC,IAAI,CAAC,kFAAkF,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACnI,MAAM,OAAO,GAA0B,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBACnF,eAAM,CAAC,IAAI,CAAC,gGAAgG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9H,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAK,MAAM,yBAAyB,IAAI,OAAO,EAAE;wBAC7C,MAAM,aAAa,GAAwC,EAAE,CAAC;wBAC9D,KAAK,MAAM,EAAE,IAAI,yBAAyB,EAAE;4BACxC,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,gCAAgC,EAAE,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;4BAC7F,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE;gCAC3B,MAAM,SAAS,GAAG;oCACd,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;oCACpG,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;iCAC3E,CAAC;gCACF,IAAI,CAAC,CAAC,EAAE,EAAE;oCACL,SAAiB,CAAC,EAAE,GAAG,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC;iCAC7D;gCACD,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;6BAC3C;4BACD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBACpC;wBACD,MAAM,QAAQ,GAAG,4BAA4B,yBAAyB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,gBAAgB,CAAC,UAAU,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;8BAClK,yBAAyB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;4CACvC,gBAAgB,CAAC,UAAU,yCAAyC,gBAAgB,CAAC,UAAU;;;kCAGzG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;wBAC9B,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA,GAAG,QAAQ,EAAE,CAAC;wBAC/B,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAC9C,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACtB,MAAM,SAAS,GAAQ,EAAE,CAAC;wBAC1B,KAAK,MAAM,EAAE,IAAI,yBAAyB,EAAE;4BACxC,SAAS,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gCAAgC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;yBAChI;wBACD,eAAM,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;wBACrG,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;wBACtK,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;4BACjD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAC7B;6BAAM;4BACH,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC9B;qBACJ;iBACJ;gBACD,OAAO,cAAc,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAAE;QACrD,CAAC,CAAA,CAAC;IA5iBF,CAAC;CA6iBJ;AAjjBD,sDAijBC","sourcesContent":["import { print } from 'graphql';\nimport gql from 'graphql-tag';\nimport { AxiosInstance } from 'axios';\nimport { AbstractService } from '../base/AbstractService';\nimport { Logger } from '../../Logger';\nimport InspiraShopifyError from '../errors/InspiraShopifyError';\nimport { ShopifyProductServiceHelper } from '../helpers/ShopifyProductServiceHelper';\n\nexport type ConfirmationUpdate <\n T extends string, \n U extends string,\n> = \n | {\n [K in T]: true;\n } & {\n [K in U]: boolean;\n }\n | {\n [K in T]: false;\n } & {\n [K in U]?: boolean;\n }\nexport class ShopifyVariantService extends AbstractService {\n\n constructor(private axiosInstance: AxiosInstance, private shopifyProductServiceHelper: ShopifyProductServiceHelper) {\n super();\n }\n\n /**\n * \n * @param {number} productId where to create the variant.\n * @param {IVariant} variant to be created\n * @param {string} imageSrc to add to the variant.\n * @param {string[]} productOptionNames option names. If variant has option values this is required.\n * @param locationId where to add stock to.\n * @returns {IVariant} variant created or null if error.\n */\n public create = async (productId: number, variant: IVariant, imageSrc: string, productOptionNames: string[], locationId: number, retrieveInventory: boolean, removeStandaloneVariant: boolean): Promise<IVariant> => {\n try {\n Logger.info(`ShopifyVariantService - create -> variant for product ${productId} --- variant ${JSON.stringify(variant)}`);\n const variantToCreate: ShopifygraphQl.IVariantToPost = this.shopifyProductServiceHelper.getVariantToPost(variant, { imageSrc: imageSrc }, productOptionNames, locationId);\n const variantsCreateQuery = ShopifyProductServiceHelper.graphQLQuery.getVariantsBulkCreateMutation(imageSrc ? true : false, retrieveInventory, removeStandaloneVariant);\n Logger.info(`ShopifyVariantService - create -> Product Variant to create .... ${JSON.stringify(variantToCreate)}`);\n Logger.info(`ShopifyVariantService - create -> Product Variant to create query .... ${JSON.stringify(variantsCreateQuery)}`);\n const variables: { productId: string; variants: ShopifygraphQl.IVariantToPost[], media?: { mediaContentType: 'IMAGE', originalSource: string; }[]; } = { productId: this.getGraphProductIdFromId(productId), variants: [variantToCreate] };\n if (imageSrc) {\n variables.media = [{ originalSource: imageSrc.trim().replace(/ /g, '%20'), mediaContentType: 'IMAGE' }];\n }\n const variantsResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${variantsCreateQuery}`), variables: variables }, { query_cost: 50 });\n let createdVariant = null;\n if (variantsResponse && variantsResponse.data && variantsResponse.data.data && variantsResponse.data.data.productVariantsBulkCreate && variantsResponse.data.data.productVariantsBulkCreate.productVariants) {\n for (const graphVariant of variantsResponse.data.data.productVariantsBulkCreate.productVariants) {\n createdVariant = this.shopifyProductServiceHelper.getVariant(graphVariant);\n }\n } else {\n Logger.error(`ShopifyVariantService - create -> Product variant was not created. ${productId}`);\n }\n return createdVariant;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * To update inventory prodvide locationID.\n * To update option value provide option Names.\n * When imageSrc is set to null it is not updated.\n * \n * @param {IVariant} variant \n * @param {number} locationID \n * @param {string[]} productOptionNames \n * @param {number} variantId\n * @param {number} productId\n * @param {imageSrc?: string; imageId?: number;} img\n * \n * @returns \n */\n public update = async (variant: IVariant, productOptionNames: string[], locationID: number, variantId: number, productId: number, img: { imageSrc?: string; imageId?: number; }, retrieveInventory: boolean, taxableSetting: ConfirmationUpdate<'updateTaxable', 'taxable'>, trackInventorySetting: ConfirmationUpdate<'updateTrackInventory', 'trackInventory'>): Promise<IVariant> => {\n try {\n Logger.info(`ShopifyVariantService - update variant with id ${variantId} - variant: ${JSON.stringify(variant)}`);\n if(trackInventorySetting.updateTrackInventory) {\n variant.inventory_management = trackInventorySetting.trackInventory ? 'SOMEONE' : 'NOT_MANGED';\n }\n const variantToUpdate: ShopifygraphQl.IVariantToPost = this.shopifyProductServiceHelper.getVariantToUpdate(variant, { imageSrc: img?.imageSrc, imageId: img?.imageId }, productOptionNames, taxableSetting);\n variantToUpdate.id = this.getGraphProductVariantIdFromId(variantId);\n const variantsCreateQuery = retrieveInventory ? ShopifyProductServiceHelper.graphQLQuery.productVariantsBulkUpdate : ShopifyProductServiceHelper.graphQLQuery.productVariantsBulkUpdateWithoutInventory;\n Logger.info(`ShopifyVariantService - update -> Product Variant to update .... ${JSON.stringify(variantToUpdate)}`);\n Logger.info(`ShopifyVariantService - update -> Product Variant to update query .... ${JSON.stringify(variantsCreateQuery)}`);\n const variantsResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${variantsCreateQuery}`), variables: { productId: this.getGraphProductIdFromId(productId), variants: [variantToUpdate] } }, { query_cost: 50 });\n let updatedVariant: IVariant = null;\n if (variantsResponse && variantsResponse.data && variantsResponse.data.data && variantsResponse.data.data.productVariantsBulkUpdate && variantsResponse.data.data.productVariantsBulkUpdate.productVariants) {\n const variants: ShopifygraphQl.IGenericVariantResponse[] = variantsResponse.data.data.productVariantsBulkUpdate.productVariants;\n for (const graphVariant of variants) {\n if (variantId === this.getIdFromGraphId(graphVariant.id)) {\n updatedVariant = this.shopifyProductServiceHelper.getVariant(graphVariant);\n if (locationID && variant.inventory_quantity) {\n Logger.info(`ShopifyVariantService - update -> Inventory adjust for product ${productId} and variant ${variantId}`);\n await this.setInventory(locationID, updatedVariant.inventory_item_id, variant.inventory_quantity);\n updatedVariant.inventory_quantity = variant.inventory_quantity;\n }\n break;\n }\n }\n } else {\n Logger.error(`ShopifyVariantService - update -> Product variant was not updated. ${productId} - ${JSON.stringify(variantsResponse.data.data)}`);\n }\n return updatedVariant;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * To update option value provide option Names.\n * To update images, provide image data mapped to variant ID\n * Provide Location to update inventory. Location ID must be mapped to variant ID\n * \n * @param {number} productId\n * @param {IVariant[]} variants\n * @param {{ productOptionNames: string[], imgs?: { variantId: number, img?: { imageSrc?: string; imageId?: number }}[] }} updateProperty\n * @param {boolean} retrieveInventory\n * \n * @returns \n */\n public bulkUpdate = async (productId: number, variants: IVariant[], updateProperty: {\n productOptionNames: string[],\n locationIDs: { variantId: number, locationID: number }[],\n imgs?: { variantId: number, img?: { imageSrc?: string; imageId?: number } }[]\n }, retrieveInventory: boolean): Promise<IVariant[]> => {\n try {\n if (!variants.every(el => el.id)) throw new Error('Some variants does not have ID associated with them');\n\n Logger.info(`ShopifyVariantService - updating variants - ${JSON.stringify(variants)} - for product ID ${productId}`);\n\n const variantsToUpdate: ShopifygraphQl.IVariantToPost[] = [];\n variants.forEach(v => {\n const i_mg = updateProperty.imgs?.find(i => i.variantId === v.id).img;\n const v_prep = this.shopifyProductServiceHelper.getVariantToUpdate(\n v,\n { imageSrc: i_mg?.imageSrc, imageId: i_mg?.imageId },\n updateProperty.productOptionNames,\n { updateTaxable: true, taxable: v.taxable }\n );\n v_prep.id = this.getGraphProductVariantIdFromId(v.id);\n variantsToUpdate.push(v_prep);\n });\n\n const variantBulkUpdateQuery = retrieveInventory ? ShopifyProductServiceHelper.graphQLQuery.productVariantsBulkUpdate : ShopifyProductServiceHelper.graphQLQuery.productVariantsBulkUpdateWithoutInventory;\n Logger.info(`ShopifyVariantService - updating variants - Prepared Variants : ${JSON.stringify(variantsToUpdate)}`);\n Logger.info(`ShopifyVariantService - updating variants - Bulk update variants query : ${JSON.stringify(variantBulkUpdateQuery)}`);\n const variantsResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${variantBulkUpdateQuery}`), variables: { productId: this.getGraphProductIdFromId(productId), variants: variantsToUpdate } });\n\n const updatedVariants: IVariant[] = [];\n if (variantsResponse && variantsResponse.data && variantsResponse.data.data && variantsResponse.data.data.productVariantsBulkUpdate && variantsResponse.data.data.productVariantsBulkUpdate.productVariants) {\n const responseVariants: ShopifygraphQl.IGenericVariantResponse[] = variantsResponse.data.data.productVariantsBulkUpdate.productVariants;\n for (const graphVariant of responseVariants) {\n const updatedVariant = this.shopifyProductServiceHelper.getVariant(graphVariant);\n const originalVariant = variants.find(v => v.id === this.getIdFromGraphId(graphVariant.id));\n\n if (originalVariant) {\n const location = updateProperty.locationIDs.find(l => l.variantId === updatedVariant.id);\n\n if (location.locationID) {\n Logger.info(`ShopifyVariantService - update -> Inventory adjust for product ${productId} and variant ${updatedVariant.id}`);\n await this.setInventory(location.locationID, updatedVariant.inventory_item_id, updatedVariant.inventory_quantity);\n } else {\n Logger.error(`ShopifyVariantService - update -> Location ID not found for variant ${updatedVariant.id}`);\n Logger.error(`ShopifyVariantService - update -> Failed to update inventory for variant ${updatedVariant.id}`);\n }\n updatedVariants.push(updatedVariant);\n break;\n }\n }\n } else {\n Logger.error(`ShopifyVariantService - update -> Product variant was not updated. ${productId} - ${JSON.stringify(variantsResponse.data.data)}`);\n }\n\n return updatedVariants;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * \n * @param {number} locationID \n * @param {number} inventoryItemId \n * @param {number} delta \n * @returns \n */\n public adjustInventory = async (locationID: number, inventoryItemId: number, delta: number): Promise<boolean> => {\n try {\n Logger.info(`ShopifyVariantService - adjustInventory - ${delta} in location ${locationID} and inventory item: ${inventoryItemId}`);\n\n const inventoryToUpdate: ShopifygraphQl.IVariantInventoryToPut = { reason: 'correction', name: 'available', changes: [{ delta: delta, inventoryItemId: this.getGraphInventoryItemIdFromId(inventoryItemId), locationId: this.getGraphLocationIdFromId(locationID) }] };\n\n const variantsUpdateInventory = ShopifyProductServiceHelper.graphQLQuery.variantUpdateInventory;\n Logger.info(`ShopifyVariantService - adjustInventory -> update .... ${JSON.stringify(inventoryToUpdate)}`);\n Logger.info(`ShopifyVariantService - adjustInventory -> query .... ${JSON.stringify(variantsUpdateInventory)}`);\n const variantsResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${variantsUpdateInventory}`), variables: { input: inventoryToUpdate } }, { query_cost: 50 });\n\n if (variantsResponse && variantsResponse.data && variantsResponse.data.data && variantsResponse.data.data.inventoryAdjustQuantities?.inventoryAdjustmentGroup?.createdAt) {\n Logger.info(`ShopifyVariantService - adjustInventory -> ${JSON.stringify(variantsResponse.data.data.inventoryAdjustQuantities?.inventoryAdjustmentGroup)}`);\n return true;\n } else {\n Logger.error(`We could not adjust inventory Product variant on inventoryItemId ${inventoryItemId} - ${JSON.stringify(variantsResponse.data.data.inventoryAdjustQuantities?.userErrors)}`);\n return false;\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * \n * @param {number} locationID \n * @param {number} inventoryItemId \n * @param {number} delta \n * @returns \n */\n public setInventory = async (locationID: number, inventoryItemId: number, quantity: number): Promise<boolean> => {\n try {\n Logger.info(`ShopifyVariantService - setInventory - ${quantity} in location ${locationID} and inventory item: ${inventoryItemId}`);\n\n const inventoryToUpdate: ShopifygraphQl.IVariantInventoryToPut = { ignoreCompareQuantity: true, reason: 'correction', name: 'available', quantities: [{ quantity: quantity, inventoryItemId: this.getGraphInventoryItemIdFromId(inventoryItemId), locationId: this.getGraphLocationIdFromId(locationID) }] };\n\n const variantsUpdateInventory = ShopifyProductServiceHelper.graphQLQuery.variantSetInventory;\n Logger.info(`ShopifyVariantService - setInventory -> update .... ${JSON.stringify(inventoryToUpdate)}`);\n Logger.info(`ShopifyVariantService - setInventory -> query .... ${JSON.stringify(variantsUpdateInventory)}`);\n const variantsResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${variantsUpdateInventory}`), variables: { input: inventoryToUpdate } }, { query_cost: 50 });\n\n if (variantsResponse && variantsResponse.data && variantsResponse.data.data && variantsResponse.data.data.inventorySetQuantities?.inventoryAdjustmentGroup?.changes) {\n Logger.info(`ShopifyVariantService - setInventory -> ${JSON.stringify(variantsResponse.data.data.inventorySetQuantities?.inventoryAdjustmentGroup)}`);\n return true;\n } else {\n Logger.error(`We could not set inventory Product variant on inventoryItemId ${inventoryItemId} - ${JSON.stringify(variantsResponse.data.data.inventorySetQuantities?.userErrors)}`);\n return false;\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n public getCount = async (productId: number): Promise<number> => {\n\n try {\n Logger.info(`Counting all variants for product ${productId}`);\n const countVariantsQuery = `{ product(id: \"${this.getGraphProductIdFromId(productId)}\") {\n id\n variants(first: 250) {\n edges {\n node {\n id\n }\n }\n }\n }\n }`;\n const variantsCountResponse = await this.axiosInstance.post('/graphql.json', { query: print(gql`${countVariantsQuery}`) }, { query_cost: 50 });\n if (variantsCountResponse && variantsCountResponse.data && variantsCountResponse.data.data && variantsCountResponse.data.data.product?.variants) {\n return variantsCountResponse.data.data.product?.variants?.edges?.length ? variantsCountResponse.data.data.product.variants.edges.length : 0;\n } else {\n Logger.error(`ShopifyVariantService - getCount -> We could not find variants for ${productId}`);\n }\n\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * \n * @param {number} variantId\n * @returns {IVariant} variant\n */\n public getById = async (variantId: number): Promise<IVariant> => {\n try {\n Logger.info(`ShopifyVariantService - getById -> Get variant with id ${variantId}`);\n const getVariantQuery = ShopifyProductServiceHelper.graphQLQuery.getProductVariant;\n Logger.info(`ShopifyVariantService - getById -> Product graphQL query going in ${getVariantQuery}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(gql`${getVariantQuery}`), variables: { variantId: this.getGraphProductVariantIdFromId(variantId) } }, { query_cost: 10 });\n if (response && response.data && response.data.data && response.data.data.productVariant) {\n const responseVariant: ShopifygraphQl.IGenericVariantResponse = response.data.data.productVariant;\n const variant = this.shopifyProductServiceHelper.getVariant(responseVariant);\n return variant;\n } else {\n Logger.error(`ShopifyVariantService - getById -> ${variantId} not found`);\n return null;\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n public delete = async (productId: number, variantsIds: number[]): Promise<void> => {\n try {\n Logger.info(`ShopifyVariantService - delete -> Delete variant id -> ${variantsIds}`);\n const deleteVariantsMutation = ShopifyProductServiceHelper.graphQLQuery.deleteVariantsMutation;\n const response = await this.axiosInstance.post('/graphql.json', { query: print(gql`${deleteVariantsMutation}`), variables: { productId: this.getGraphProductIdFromId(productId), variantsIds: variantsIds.map(vId => this.getGraphProductVariantIdFromId(vId)) } }, { query_cost: 20 });\n if (response && response.data && response.data.data && response.data.data.productVariantsBulkDelete?.product?.id) {\n Logger.info(`ShopifyVariantService - delete -> Deleted ${variantsIds.length} variants from product ${productId}`);\n } else {\n throw new InspiraShopifyError({ message: `${JSON.stringify(response.data.data.productVariantsBulkDelete?.userErrors)}` });\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Gets All metafields of a product variant\n * \n * @param {number} variantId\n * @returns Promise\n */\n public getMetafields = async (variantId: number): Promise<IMetafield[]> => {\n try {\n Logger.info(`ShopifyVariantService - getMetafields -> Getting metafields for variant id -> ${variantId}`);\n const getMetafieldsQuery = ShopifyProductServiceHelper.graphQLQuery.getProductVariantMetafields;\n const query = gql`${getMetafieldsQuery}`;\n Logger.info(`ShopifyVariantService - getMetafields -> rawQuery ${getMetafieldsQuery}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query), variables: { variantId: this.getGraphProductVariantIdFromId(variantId) } }, { query_cost: 20 });\n\n if (response.data.data.productVariant?.metafields?.nodes && response.data.data.productVariant.metafields.nodes.length > 0) {\n const metafieldsNodes: IMetafieldGraphQL[] = response.data.data.productVariant.metafields.nodes;\n const metafields: IMetafield[] = metafieldsNodes.map(m => ({ id: this.getIdFromGraphId(m.id), description: m.description, key: m.key, value: m.value, namespace: m.namespace, type: m.type }));\n return metafields;\n } else {\n if (response.data.data.productVariant.metafields?.nodes?.length === 0 && !response.data.errors) {\n Logger.info(`ShopifyVariantService - getMetafields -> we haven't found any metafield. Data ${JSON.stringify(response.data.data)}`);\n } else {\n Logger.error(`ShopifyVariantService - getMetafields -> not the expected response. Data ${JSON.stringify(response.data.data)}. Error is ${JSON.stringify(response.data.errors)}`);\n }\n return [];\n }\n\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * \n * Adds or updates a metafield.\n * Metafield type, key, namespace and value must be set\n * \n * @param {number} id - variant ID\n * @param {IMetafield[]} metafields to be saved\n * @returns Promise\n */\n public saveOrUpdateMetafields = async (id: number, metafields: IMetafield[]): Promise<IMetafield[]> => {\n try {\n Logger.info(`ShopifyVariantService - saveOrUpdateMetafields -> for variant id -> ${id}`);\n\n const metafieldsChunks = this.sliceIntoChunks(metafields, 20);\n\n if (metafields?.length) {\n for (const [index, metafiledsChunk] of metafieldsChunks.entries()) {\n Logger.info(`ShopifyVariantService - saveOrUpdateMetafields -> processing chunck ${index}`);\n const metafieldsToPost: IMetafieldCreate_GraphQL[] = metafiledsChunk.map(m => ({ ownerId: this.getGraphProductVariantIdFromId(id), value: m.value, key: m.key, type: m.type, namespace: m.namespace }));\n const rawQuery = `mutation MetafieldsSet($metafields: [MetafieldsSetInput!]!) {\n metafieldsSet(metafields: $metafields) {\n metafields {\n id\n key\n namespace\n value\n type\n }\n userErrors {\n field\n message\n code\n }\n }\n }`;\n Logger.info(`ShopifyVariantService - saveOrUpdateMetafields -> ${rawQuery}`);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(gql`${rawQuery}`), variables: { metafields: metafieldsToPost } }, { query_cost: 10 * metafiledsChunk.length });\n Logger.info(`ShopifyVariantService - saveOrUpdateMetafields -> ${JSON.stringify(response.data)}`);\n if (response.data?.data?.metafieldsSet?.metafields?.length > 0) {\n return response.data?.data?.metafieldsSet?.metafields.map((p: IMetafieldGraphQL) => ({ id: this.getIdFromGraphId(p.id), key: p.key, value: p.value, namespace: p.namespace, type: p.type }));\n } else {\n if (response?.data?.data?.metafieldsSet?.userErrors) {\n Logger.error(`ShopifyVariantService - saveOrUpdateMetafields -> ${JSON.stringify(response?.data?.data?.metafieldsSet?.userErrors)}`);\n throw new InspiraShopifyError({ message: JSON.stringify(response.data?.data?.metafieldsSet?.userErrors) });\n } else {\n return [];\n }\n }\n }\n } else {\n Logger.info(`ShopifyVariantService - saveOrUpdateMetafields -> for product id -> ${id} - no metafields provided`);\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n\n /**\n * Deletes a metafields by ID for a product.\n * \n * @param {number} metafieldIds (max of 50 metafileds)\n * @returns Promise return num of deleted metafiedls\n */\n public deleteMetafieldsByIds = async (metafieldIds: number[]): Promise<number> => {\n try {\n Logger.info(`ShopifyVariantService - deleteMetafieldsByIds -> Deleting metafield ids -> ${metafieldIds}`);\n const query = gql`mutation {\n ${metafieldIds.map((id) => (`\n metafield${id}: metafieldDelete(input: { id: \"${this.getGraphMetafieldIdFromId(id)}\" }) {\n deletedId\n userErrors {\n field\n message\n }\n }`)).join('')}\n }`;\n const metafieldsDeleteResponse = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 10 * metafieldIds.length });\n if (metafieldsDeleteResponse.data?.data) {\n let numDeleted = 0;\n for (const metaId of metafieldIds) {\n if (metafieldsDeleteResponse.data?.data[`metafield${metaId}`].deletedId) {\n numDeleted += 1;\n }\n }\n return numDeleted;\n } else {\n return 0;\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Deletes a metafield by Key for a variant.\n * \n * @param {number} productId\n * @param {number} variantId\n * @param {string} metafieldKey\n * @returns Promise Number of deleted metafields\n */\n public deleteMetafieldByKey = async (productId: number, variantId: number, metafieldKey: string): Promise<number> => {\n try {\n Logger.info(`ShopifyVariantService - deleteMetafieldByKey -> Deleting metafield Key -> ${metafieldKey} for product ${productId} and variant ${variantId}`);\n const metafields = await this.getMetafields(variantId);\n let deleteItems = 0;\n for (const metafield of metafields) {\n if (metafield.key === metafieldKey) {\n await this.deleteMetafieldsByIds([metafield.id]);\n deleteItems++;\n }\n }\n return deleteItems;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Deletes multiple metafields\n * \n * @param {number[]} productIds\n * @returns Promise\n */\n public deleteMultipleMetafields = async (mertafieldsIds: number[]): Promise<any[]> => {\n try {\n if (mertafieldsIds && mertafieldsIds.length > 0) {\n const errors = [];\n Logger.info(`ShopifyVariantService - deleteMultipleMetafields -> Metafields to delete: ${mertafieldsIds.toString()}`);\n const metafieldIdschunks: number[][] = this.sliceIntoChunks(mertafieldsIds, 50);\n for (const metafieldIdsChunk of metafieldIdschunks) {\n const query = gql`mutation {\n ${metafieldIdsChunk.map((id) => (`\n metafield${id}: metafieldDelete(input: { id: \"${this.getGraphMetafieldIdFromId(id)}\" }) {\n deletedId\n userErrors {\n field\n message\n }\n }`)).join('')}\n }`;\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query) }, { query_cost: 10 * metafieldIdsChunk.length });\n\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 }\n return errors;\n } else {\n Logger.info('ShopifyVariantService - deleteMultipleMetafields -> Remove metafields without IDs provided');\n return [];\n }\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Deletes a metafield by Key for a variant.\n * \n * @param {number} productId\n * @param {number} variantId\n * @param {string[]} metafieldKeys\n * @returns Promise Number of deleted metafields\n */\n public deleteMetafieldByKeys = async (productId: number, variantId: number, metafieldKeys: string[]): Promise<number> => {\n try {\n Logger.info(`ShopifyVariantService - deleteMetafieldByKeys -> Deleting metafield Keys -> ${JSON.stringify(metafieldKeys)} for product ${productId} and variant ${variantId}`);\n const metafields = await this.getMetafields(variantId);\n let deleteItems = 0;\n const metafieldsTodelete: number[] = [];\n for (const metafield of metafields) {\n if (metafieldKeys.includes(metafield.key)) {\n metafieldsTodelete.push(metafield.id);\n deleteItems++;\n }\n }\n if (metafieldsTodelete.length > 0) {\n this.deleteMultipleMetafields(metafieldsTodelete);\n }\n return deleteItems;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Gets a metafield matching a product variant namespace and key.\n * \n * @param {number} productId\n * @param {string} namespace\n * @param {string} key (Max key allowed is 30 characters)\n * @returns Promise\n */\n public getMetafield = async (productId: number, variantId: number, namespace: string, key: string): Promise<IMetafield> => {\n try {\n Logger.info(`ShopifyVariantService - getMetafield -> Getting metafield for product id -> ${productId} and variant ${variantId} and namespace ${namespace} and key ${key}`);\n const metafields = await this.getMetafields(variantId);\n let foundMetafield: IMetafield = null;\n if (metafields && metafields.length > 0) {\n foundMetafield = metafields.find(m => m.namespace === namespace && m.key === key);\n }\n return foundMetafield;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n\n /**\n * Adds metafields to variants\n * \n * @param {IVariantMetafield[]} variantMetafields\n * @returns Promise Array of booleans taht says how the chuncks have been processed\n */\n public addMetafieldsToVariants = async (variantMetafields: IVariantMetafield[]): Promise<boolean[]> => {\n try {\n const chuncksResults: boolean[] = [];\n Logger.info(`ShopifyVariantService - addMetafieldsToVariants -> Add metafields to variants: ${JSON.stringify(variantMetafields)}`);\n const chuncks: IVariantMetafield[][] = this.sliceIntoChunks(variantMetafields, 50);\n Logger.info(`ShopifyVariantService - addMetafieldsToVariants -> Add metafields to variants chuncks of 50: ${chuncks.length}`);\n if (chuncks && chuncks.length > 0) {\n for (const variantMetafieldsOfChunck of chuncks) {\n const variantsInput: { id: string; metafields: any[] }[] = [];\n for (const vM of variantMetafieldsOfChunck) {\n const variantInput = { id: `gid://shopify/ProductVariant/${vM.variant_id}`, metafields: [] };\n for (const m of vM.metafields) {\n const metafield = {\n namespace: m.namespace, key: m.key.length > 30 ? m.key.substring(0, 30) : m.key, value: `${m.value}`,\n type: this.getMetafieldType(m.type, m.value), description: m.description\n };\n if (m.id) {\n (metafield as any).id = `gid://shopify/Metafield/${m.id}`;\n }\n variantInput.metafields.push(metafield);\n }\n variantsInput.push(variantInput);\n }\n const rawQuery = `mutation variantsUpdate( ${variantMetafieldsOfChunck.map((variantMetafield) => (`$variant${variantMetafield.variant_id}: ProductVariantInput!`)).join(',')}){\n ${variantMetafieldsOfChunck.map((variantMetafield) => (`\n vMetafield${variantMetafield.variant_id}: productVariantUpdate(input: $variant${variantMetafield.variant_id}) {\n productVariant { id }\n userErrors { field message }\n }`)).join('')} }`;\n const query = gql`${rawQuery}`;\n Logger.info('addMetafieldsToVariants query:');\n Logger.info(rawQuery);\n const variables: any = {};\n for (const vM of variantMetafieldsOfChunck) {\n variables[`variant${vM.variant_id}`] = variantsInput.find((vI) => vI.id === `gid://shopify/ProductVariant/${vM.variant_id}`);\n }\n Logger.info('ShopifyVariantService - addMetafieldsToVariants -> addMetafieldsToVariants variables:');\n Logger.info(variables);\n const response = await this.axiosInstance.post('/graphql.json', { query: print(query), variables: variables }, { query_cost: 10 * variantMetafieldsOfChunck.length });\n if (response && response.data && response.data.data) {\n chuncksResults.push(true);\n } else {\n chuncksResults.push(false);\n }\n }\n }\n return chuncksResults;\n } catch (error) { this.logErrorAndThrow(error); }\n };\n}\n"]}
@@ -9,3 +9,4 @@ export declare class ShopifyMandatoryRouter {
9
9
  private asyncFrame;
10
10
  }
11
11
  export default ShopifyMandatoryRouter;
12
+ //# sourceMappingURL=ShopifyMandatoryRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyMandatoryRouter.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyMandatoryRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAOnC,qBAAa,sBAAsB;IAEnB,OAAO,CAAC,aAAa;IAAU,OAAO,CAAC,sBAAsB;IAA2B,OAAO,CAAC,kBAAkB;IAAuB,OAAO,CAAC,qBAAqB;gBAA9J,aAAa,EAAE,MAAM,EAAU,sBAAsB,EAAE,uBAAuB,EAAU,kBAAkB,EAAE,mBAAmB,EAAU,qBAAqB,EAAE,sBAAsB;IAEnM,WAAW,IAAI,OAAO,CAAC,MAAM;IAOpC,OAAO,CAAC,UAAU,CAehB;CACL;AAED,eAAe,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyMandatoryRouter.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyMandatoryRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAmC;AACnC,yCAAsC;AACtC,6BAAkC;AAGlC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAEhC,MAAa,sBAAsB;IAE/B,YAAoB,aAAqB,EAAU,sBAA+C,EAAU,kBAAuC,EAAU,qBAA6C;QAAtL,kBAAa,GAAb,aAAa,CAAQ;QAAU,2BAAsB,GAAtB,sBAAsB,CAAyB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAqB;QAAU,0BAAqB,GAArB,qBAAqB,CAAwB;QASlM,eAAU,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,QAA6D,EAAiB,EAAE;YACrI,OAAO,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/C,eAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI;oBACA,MAAM,QAAQ,GAAG,MAAM,aAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ;wBAAE,MAAM,kBAAkB,CAAC;oBACxC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;iBACb;gBAAC,OAAO,KAAK,EAAE;oBACZ,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBACxB;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;IAxB4M,CAAC;IAExM,WAAW;QACd,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzI,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9I,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChI,OAAO,MAAM,CAAC;IAClB,CAAC;CAkBJ;AA3BD,wDA2BC;AAED,kBAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"ShopifyMandatoryRouter.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyMandatoryRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAmC;AACnC,yCAAsC;AACtC,6BAAkC;AAGlC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAEhC,MAAa,sBAAsB;IAE/B,YAAoB,aAAqB,EAAU,sBAA+C,EAAU,kBAAuC,EAAU,qBAA6C;QAAtL,kBAAa,GAAb,aAAa,CAAQ;QAAU,2BAAsB,GAAtB,sBAAsB,CAAyB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAqB;QAAU,0BAAqB,GAArB,qBAAqB,CAAwB;QASlM,eAAU,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,QAA6D,EAAiB,EAAE;YACrI,OAAO,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/C,eAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI;oBACA,MAAM,QAAQ,GAAG,MAAM,aAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ;wBAAE,MAAM,kBAAkB,CAAC;oBACxC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;iBACb;gBAAC,OAAO,KAAK,EAAE;oBACZ,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBACxB;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;IAxB4M,CAAC;IAExM,WAAW;QACd,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzI,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9I,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,aAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChI,OAAO,MAAM,CAAC;IAClB,CAAC;CAkBJ;AA3BD,wDA2BC;AAED,kBAAe,sBAAsB,CAAC","sourcesContent":["import * as express from 'express';\nimport { Logger } from '../../Logger';\nimport { HmacUtils } from '../..';\nimport { Request, Response } from 'express-serve-static-core';\n\nconst router = express.Router();\n\nexport class ShopifyMandatoryRouter {\n\n constructor(private shopifySecret: string, private customerRedactcallback: ICustomerRedactCallback, private shopRedactcallback: IShopRedactCallback, private customersDataCallback: ICustomersDataCallback) { }\n\n public buildRoutes(): express.Router {\n router.post('/customers/redact', HmacUtils.jsonWebhookParser, (req, res) => { this.asyncFrame(req, res, this.customerRedactcallback); });\n router.post('/customers/data_request', HmacUtils.jsonWebhookParser, (req, res) => { this.asyncFrame(req, res, this.customersDataCallback); });\n router.post('/shop/redact', HmacUtils.jsonWebhookParser, (req, res) => { this.asyncFrame(req, res, this.shopRedactcallback); });\n return router;\n }\n\n private asyncFrame = async (req: Request, res: Response, callback: (body: any) => Promise<express.Response | IOrder[]>): Promise<void> => {\n return new Promise<void>(async (resolve, reject) => {\n Logger.info('Mandatory webhook', req.body);\n try {\n const isHmacOk = await HmacUtils.checkHmac(req, this.shopifySecret);\n if (!isHmacOk) throw 'Hmac not correct';\n const response = await callback(req.body);\n res.status(200).send(response);\n resolve();\n } catch (error) {\n Logger.error(error);\n res.status(401).send('HMAC validation failed');\n reject(Error(error));\n }\n });\n };\n}\n\nexport default ShopifyMandatoryRouter;\n"]}
@@ -16,3 +16,4 @@ export declare class ShopifyRouter {
16
16
  private redirectUri;
17
17
  }
18
18
  export default ShopifyRouter;
19
+ //# sourceMappingURL=ShopifyRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyRouter.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAW,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK9D,qBAAa,aAAa;IAIT,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,SAAS;IAA8C,OAAO,CAAC,QAAQ;IAF5M,OAAO,CAAC,aAAa,CAAgB;gBAEhB,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAU,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;IAI7T,WAAW,IAAI,OAAO,CAAC,MAAM;IAuC7B,aAAa,QAAS,GAAG,OAAO,GAAG,UAmCxC;IAEK,YAAY,QAAS,GAAG,OAAO,GAAG,gDAkBvC;IAEF,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;CAItB;AA8BD,eAAe,aAAa,CAAC"}
@@ -31,19 +31,25 @@ class ShopifyRouter {
31
31
  const hmac = expresRequest.query.hmac;
32
32
  const code = expresRequest.query.code;
33
33
  const host = expresRequest.query.host;
34
+ Logger_1.Logger.info('we are using the updated version');
35
+ console.log('we are console logging the updated version');
34
36
  Logger_1.Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);
35
37
  if (shop && hmac && code) {
36
38
  const map = Object.assign({}, expresRequest.query);
37
39
  delete map['signature'];
38
40
  delete map['hmac'];
39
41
  const secFetchDest = req.headers['sec-fetch-dest'];
40
- const message = querystring.stringify(map);
42
+ const sortedKeys = Object.keys(map).sort();
43
+ const sortedMap = {};
44
+ sortedKeys.forEach(key => sortedMap[key] = map[key]);
45
+ const message = querystring.stringify(sortedMap);
41
46
  const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);
42
47
  if (!hashEquals) {
43
48
  expresResponse.status(401).send('HMAC validation failed');
44
49
  return;
45
50
  }
46
51
  Logger_1.Logger.info(`getOathToken From shopify ${code}`);
52
+ // we send the key and secret to get the access token back
47
53
  OauthService_1.OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code, (accessToken) => {
48
54
  this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);
49
55
  }, (errorStatus, error) => {
@@ -61,11 +67,14 @@ class ShopifyRouter {
61
67
  const scopes = res.locals.scopes;
62
68
  const shop = expresRequest.query.shop;
63
69
  const host = expresRequest.query.host;
70
+ Logger_1.Logger.info(`install route: request: ${expresRequest}, response: ${expresResponse}, scopes: ${scopes}, shop: ${shop}, host ${host}`);
64
71
  if (shop) {
72
+ // when the shopify session expires we render a page on the embedded app that loads the auth URL to refresh the token
65
73
  if (!expresRequest.query.session) {
66
74
  expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });
67
75
  }
68
76
  else {
77
+ // we send the session exists the app is installed. we redirect to BillingRoutes with status=already_accepted
69
78
  expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);
70
79
  }
71
80
  }
@@ -76,21 +85,83 @@ class ShopifyRouter {
76
85
  this.cryptoService = new CryptoService_1.CryptoService();
77
86
  }
78
87
  buildRoutes() {
88
+ //initial call to /shopify
79
89
  router.get('/', (req, res, next) => __awaiter(this, void 0, void 0, function* () {
90
+ var _b;
91
+ Logger_1.Logger.info(`ShopifyRouter - request: ${req}`);
92
+ try {
93
+ if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {
94
+ // eslint-disable-next-line no-console
95
+ console.info('[sommpicks-shopify][ShopifyRouter][/shopify request]', {
96
+ method: req.method,
97
+ path: req.path,
98
+ query: req.query,
99
+ headers: { 'sec-fetch-dest': (_b = req.headers) === null || _b === void 0 ? void 0 : _b['sec-fetch-dest'] }
100
+ });
101
+ }
102
+ }
103
+ catch ( /* ignore debug logging errors */_c) { /* ignore debug logging errors */ }
80
104
  const scopes = yield this.getScopes(req.query.shop);
105
+ Logger_1.Logger.info(`ShopifyRouter - scopes: ${scopes}`);
81
106
  res.locals.scopes = scopes;
82
107
  next();
83
108
  }), this.installRoute);
109
+ // endpoint when merchant accepts the installation
84
110
  router.get('/callback', this.callBackRoute);
111
+ router.get('/auth/callback', this.callBackRoute);
112
+ Logger_1.Logger.info('build routes was hit!');
113
+ try {
114
+ if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {
115
+ const r = router;
116
+ const routes = Array.isArray(r === null || r === void 0 ? void 0 : r.stack)
117
+ ? r.stack
118
+ .filter((l) => l && l.route)
119
+ .map((l) => ({ path: l.route.path, methods: Object.keys(l.route.methods || {}) }))
120
+ : [];
121
+ // eslint-disable-next-line no-console
122
+ console.info('[sommpicks-shopify][ShopifyRouter][routes]', routes);
123
+ }
124
+ }
125
+ catch ( /* ignore debug logging errors */_a) { /* ignore debug logging errors */ }
85
126
  return router;
86
127
  }
87
128
  installUrl(shop, scopes) {
129
+ // this URL is used to install the app. you can get it and run it on the browser, it should install the app
130
+ Logger_1.Logger.info(`installURL shop: ${shop}`);
88
131
  return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;
89
132
  }
90
133
  redirectUri() {
134
+ // the callback for when the merchant has approved the request
91
135
  return `${this.appBaseUrl}${this.endpointUri}/callback`;
92
136
  }
93
137
  }
94
138
  exports.ShopifyRouter = ShopifyRouter;
139
+ // Debug export and router shape when enabled via env
140
+ try {
141
+ if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {
142
+ const exportMeta = {
143
+ classType: typeof ShopifyRouter,
144
+ className: ShopifyRouter === null || ShopifyRouter === void 0 ? void 0 : ShopifyRouter.name,
145
+ prototypeMethods: Object.getOwnPropertyNames((ShopifyRouter === null || ShopifyRouter === void 0 ? void 0 : ShopifyRouter.prototype) || {}).filter(m => m !== 'constructor')
146
+ };
147
+ // eslint-disable-next-line no-console
148
+ console.info('[sommpicks-shopify][ShopifyRouter][export-meta]', exportMeta);
149
+ const r = router;
150
+ const routerMeta = {
151
+ type: typeof router,
152
+ isMiddleware: typeof router === 'function',
153
+ keys: Object.keys(r || {}),
154
+ stackLength: Array.isArray(r === null || r === void 0 ? void 0 : r.stack) ? r.stack.length : undefined,
155
+ props: {
156
+ caseSensitive: r === null || r === void 0 ? void 0 : r.caseSensitive,
157
+ mergeParams: r === null || r === void 0 ? void 0 : r.mergeParams,
158
+ strict: r === null || r === void 0 ? void 0 : r.strict
159
+ }
160
+ };
161
+ // eslint-disable-next-line no-console
162
+ console.info('[sommpicks-shopify][ShopifyRouter][express-router-meta]', routerMeta);
163
+ }
164
+ }
165
+ catch ( /* ignore debug logging errors */_a) { /* ignore debug logging errors */ }
95
166
  exports.default = ShopifyRouter;
96
167
  //# sourceMappingURL=ShopifyRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyRouter.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyRouter.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouter.ts"],"names":[],"mappings":"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","sourcesContent":["import * as express from 'express';\nimport * as querystring from 'querystring';\nimport { CryptoService } from './services/CryptoService';\nimport { OauthService } from './services/OauthService';\nimport { Request, Response } from 'express-serve-static-core';\nimport { Logger } from '../../Logger';\n\nconst router = express.Router();\n\nexport class ShopifyRouter {\n\n private cryptoService: CryptoService;\n\n constructor( private shop_secret: string, private shop_key: string, private appBaseUrl: string, private endpointUri: string, private getScopes: (shop: string) => string | Promise<string>, private callback: (accessToken: string, shop: string, host: string, expresResponse: Response, secFetchDest: boolean, error: any) => void) {\n this.cryptoService = new CryptoService();\n }\n\n public buildRoutes(): express.Router {\n //initial call to /shopify\n router.get('/', async (req,res,next) => {\n Logger.info(`ShopifyRouter - request: ${req}`);\n try {\n if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {\n // eslint-disable-next-line no-console\n console.info('[sommpicks-shopify][ShopifyRouter][/shopify request]', {\n method: req.method,\n path: (req as any).path,\n query: (req as any).query,\n headers: { 'sec-fetch-dest': (req as any).headers?.['sec-fetch-dest'] }\n });\n }\n } catch { /* ignore debug logging errors */ }\n const scopes = await this.getScopes(req.query.shop as string);\n Logger.info(`ShopifyRouter - scopes: ${scopes}`);\n res.locals.scopes = scopes;\n next();\n }, this.installRoute);\n // endpoint when merchant accepts the installation\n router.get('/callback', this.callBackRoute);\n router.get('/auth/callback', this.callBackRoute);\n Logger.info('build routes was hit!');\n try {\n if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {\n const r: any = router as any;\n const routes = Array.isArray(r?.stack)\n ? r.stack\n .filter((l: any) => l && l.route)\n .map((l: any) => ({ path: l.route.path, methods: Object.keys(l.route.methods || {}) }))\n : [];\n // eslint-disable-next-line no-console\n console.info('[sommpicks-shopify][ShopifyRouter][routes]', routes);\n }\n } catch { /* ignore debug logging errors */ }\n return router;\n }\n\n public callBackRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const shop = expresRequest.query.shop as string;\n const hmac = expresRequest.query.hmac as string;\n const code = expresRequest.query.code as string;\n const host = expresRequest.query.host as string;\n Logger.info('we are using the updated version');\n console.log('we are console logging the updated version');\n Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);\n if (shop && hmac && code) {\n const map = Object.assign({}, expresRequest.query);\n delete map['signature'];\n delete map['hmac'];\n const secFetchDest = req.headers['sec-fetch-dest'];\n const sortedKeys = Object.keys(map).sort();\n const sortedMap: any = {};\n sortedKeys.forEach(key => sortedMap[key] = map[key]);\n const message = querystring.stringify(sortedMap);\n\n const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);\n if (!hashEquals) { expresResponse.status(401).send('HMAC validation failed'); return; }\n Logger.info(`getOathToken From shopify ${code}`);\n // we send the key and secret to get the access token back\n OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code,\n (accessToken: string) => {\n this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);\n },\n (errorStatus: string, error: string) => {\n Logger.error(`Error while getOathToken - status: ${errorStatus} and message: ${error}`);\n this.callback(null, shop, host, expresResponse, secFetchDest === 'iframe', { error: error, errorStatus: errorStatus });\n });\n } else {\n expresResponse.status(400).send('Required parameters missing');\n }\n };\n\n public installRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const scopes = res.locals.scopes;\n const shop = expresRequest.query.shop as string;\n const host = expresRequest.query.host;\n Logger.info(`install route: request: ${expresRequest}, response: ${expresResponse}, scopes: ${scopes}, shop: ${shop}, host ${host}`);\n if (shop) {\n // when the shopify session expires we render a page on the embedded app that loads the auth URL to refresh the token\n if(!expresRequest.query.session) {\n expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });\n } else {\n // we send the session exists the app is installed. we redirect to BillingRoutes with status=already_accepted\n expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);\n }\n } else {\n return expresResponse.status(400).send('Missing shop parameter.');\n }\n };\n\n private installUrl(shop: string, scopes: string): string {\n // this URL is used to install the app. you can get it and run it on the browser, it should install the app\n Logger.info(`installURL shop: ${shop}`);\n return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;\n }\n\n private redirectUri(): string {\n // the callback for when the merchant has approved the request\n return `${this.appBaseUrl}${this.endpointUri}/callback`;\n }\n}\n\n// Debug export and router shape when enabled via env\ntry {\n if (process && process.env && process.env.SP_ROUTER_DEBUG === '1') {\n const exportMeta = {\n classType: typeof ShopifyRouter,\n className: (ShopifyRouter as any)?.name,\n prototypeMethods: Object.getOwnPropertyNames((ShopifyRouter as any)?.prototype || {}).filter(m => m !== 'constructor')\n };\n // eslint-disable-next-line no-console\n console.info('[sommpicks-shopify][ShopifyRouter][export-meta]', exportMeta);\n\n const r: any = router as any;\n const routerMeta = {\n type: typeof router,\n isMiddleware: typeof router === 'function',\n keys: Object.keys(r || {}),\n stackLength: Array.isArray(r?.stack) ? r.stack.length : undefined,\n props: {\n caseSensitive: r?.caseSensitive,\n mergeParams: r?.mergeParams,\n strict: r?.strict\n }\n };\n // eslint-disable-next-line no-console\n console.info('[sommpicks-shopify][ShopifyRouter][express-router-meta]', routerMeta);\n }\n} catch { /* ignore debug logging errors */ }\n\nexport default ShopifyRouter;\n"]}
@@ -16,3 +16,4 @@ export declare class ShopifyRouterBis {
16
16
  private redirectUri;
17
17
  }
18
18
  export default ShopifyRouterBis;
19
+ //# sourceMappingURL=ShopifyRouterBis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyRouterBis.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAW,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK9D,qBAAa,gBAAgB;IAIZ,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,SAAS;IAA8C,OAAO,CAAC,QAAQ;IAF5M,OAAO,CAAC,aAAa,CAAgB;gBAEhB,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAU,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;IAI7T,WAAW,IAAI,OAAO,CAAC,MAAM;IAU7B,aAAa,QAAS,GAAG,OAAO,GAAG,UA6BxC;IAEK,YAAY,QAAS,GAAG,OAAO,GAAG,gDAevC;IAEF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGtB;AAED,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyRouterBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyRouterBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBis.ts"],"names":[],"mappings":"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","sourcesContent":["import * as express from 'express';\nimport * as querystring from 'querystring';\nimport { CryptoService } from './services/CryptoService';\nimport { OauthService } from './services/OauthService';\nimport { Request, Response } from 'express-serve-static-core';\nimport { Logger } from '../../Logger';\n\nconst router = express.Router();\n\nexport class ShopifyRouterBis {\n\n private cryptoService: CryptoService;\n\n constructor( private shop_secret: string, private shop_key: string, private appBaseUrl: string, private endpointUri: string, private getScopes: (shop: string) => string | Promise<string>, private callback: (accessToken: string, shop: string, host: string, expresResponse: Response, secFetchDest: boolean, error: any) => void) {\n this.cryptoService = new CryptoService();\n }\n\n public buildRoutes(): express.Router {\n router.get('/', async (req,res,next) => {\n const scopes = await this.getScopes(req.query.shop as string);\n res.locals.scopes = scopes;\n next();\n }, this.installRoute );\n router.get('/callback', this.callBackRoute);\n return router;\n }\n\n public callBackRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const shop = expresRequest.query.shop as string;\n const hmac = expresRequest.query.hmac as string;\n const code = expresRequest.query.code as string;\n const host = expresRequest.query.host as string;\n Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);\n if (shop && hmac && code) {\n const map = Object.assign({}, expresRequest.query);\n delete map['signature'];\n delete map['hmac'];\n const secFetchDest = req.headers['sec-fetch-dest'];\n const message = querystring.stringify(map as any);\n\n const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);\n if (!hashEquals) { expresResponse.status(401).send('HMAC validation failed'); return; }\n Logger.info(`getOathToken From shopify ${code}`);\n OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code,\n (accessToken: string) => {\n this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);\n },\n (errorStatus: string, error: string) => {\n Logger.error(`Error while getOathToken - status: ${errorStatus} and message: ${error}`);\n this.callback(null, shop, host, expresResponse, secFetchDest === 'iframe', { error: error, errorStatus: errorStatus });\n });\n } else {\n expresResponse.status(400).send('Required parameters missing');\n }\n };\n\n public installRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const scopes = res.locals.scopes;\n const shop = expresRequest.query.shop as string;\n const host = expresRequest.query.host;\n if (shop) {\n if(!expresRequest.query.session) {\n expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });\n } else {\n expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);\n }\n } else {\n return expresResponse.status(400).send('Missing shop parameter.');\n }\n };\n\n private installUrl(shop: string, scopes: string): string {\n return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;\n }\n\n private redirectUri(): string {\n return `${this.appBaseUrl}${this.endpointUri}/callback`;\n }\n}\n\nexport default ShopifyRouterBis;\n"]}
@@ -16,3 +16,4 @@ export declare class ShopifyRouterBisBis {
16
16
  private redirectUri;
17
17
  }
18
18
  export default ShopifyRouterBisBis;
19
+ //# sourceMappingURL=ShopifyRouterBisBis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyRouterBisBis.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAW,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK9D,qBAAa,mBAAmB;IAIf,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,SAAS;IAA8C,OAAO,CAAC,QAAQ;IAF5M,OAAO,CAAC,aAAa,CAAgB;gBAEhB,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAU,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;IAI7T,WAAW,IAAI,OAAO,CAAC,MAAM;IAU7B,aAAa,QAAS,GAAG,OAAO,GAAG,UA6BxC;IAEK,YAAY,QAAS,GAAG,OAAO,GAAG,gDAevC;IAEF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGtB;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyRouterBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyRouterBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBis.ts"],"names":[],"mappings":"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","sourcesContent":["import * as express from 'express';\nimport * as querystring from 'querystring';\nimport { CryptoService } from './services/CryptoService';\nimport { OauthService } from './services/OauthService';\nimport { Request, Response } from 'express-serve-static-core';\nimport { Logger } from '../../Logger';\n\nconst router = express.Router();\n\nexport class ShopifyRouterBisBis {\n\n private cryptoService: CryptoService;\n\n constructor( private shop_secret: string, private shop_key: string, private appBaseUrl: string, private endpointUri: string, private getScopes: (shop: string) => string | Promise<string>, private callback: (accessToken: string, shop: string, host: string, expresResponse: Response, secFetchDest: boolean, error: any) => void) {\n this.cryptoService = new CryptoService();\n }\n\n public buildRoutes(): express.Router {\n router.get('/', async (req,res,next) => {\n const scopes = await this.getScopes(req.query.shop as string);\n res.locals.scopes = scopes;\n next();\n }, this.installRoute );\n router.get('/callback', this.callBackRoute);\n return router;\n }\n\n public callBackRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const shop = expresRequest.query.shop as string;\n const hmac = expresRequest.query.hmac as string;\n const code = expresRequest.query.code as string;\n const host = expresRequest.query.host as string;\n Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);\n if (shop && hmac && code) {\n const map = Object.assign({}, expresRequest.query);\n delete map['signature'];\n delete map['hmac'];\n const secFetchDest = req.headers['sec-fetch-dest'];\n const message = querystring.stringify(map as any);\n\n const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);\n if (!hashEquals) { expresResponse.status(401).send('HMAC validation failed'); return; }\n Logger.info(`getOathToken From shopify ${code}`);\n OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code,\n (accessToken: string) => {\n this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);\n },\n (errorStatus: string, error: string) => {\n Logger.error(`Error while getOathToken - status: ${errorStatus} and message: ${error}`);\n this.callback(null, shop, host, expresResponse, secFetchDest === 'iframe', { error: error, errorStatus: errorStatus });\n });\n } else {\n expresResponse.status(400).send('Required parameters missing');\n }\n };\n\n public installRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const scopes = res.locals.scopes;\n const shop = expresRequest.query.shop as string;\n const host = expresRequest.query.host;\n if (shop) {\n if(!expresRequest.query.session) {\n expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });\n } else {\n expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);\n }\n } else {\n return expresResponse.status(400).send('Missing shop parameter.');\n }\n };\n\n private installUrl(shop: string, scopes: string): string {\n return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;\n }\n\n private redirectUri(): string {\n return `${this.appBaseUrl}${this.endpointUri}/callback`;\n }\n}\n\nexport default ShopifyRouterBisBis;\n"]}
@@ -16,3 +16,4 @@ export declare class ShopifyRouterBisBisBis {
16
16
  private redirectUri;
17
17
  }
18
18
  export default ShopifyRouterBisBisBis;
19
+ //# sourceMappingURL=ShopifyRouterBisBisBis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyRouterBisBisBis.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAW,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK9D,qBAAa,sBAAsB;IAIlB,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,SAAS;IAA8C,OAAO,CAAC,QAAQ;IAF5M,OAAO,CAAC,aAAa,CAAgB;gBAEhB,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAU,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;IAI7T,WAAW,IAAI,OAAO,CAAC,MAAM;IAU7B,aAAa,QAAS,GAAG,OAAO,GAAG,UA6BxC;IAEK,YAAY,QAAS,GAAG,OAAO,GAAG,gDAevC;IAEF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGtB;AAED,eAAe,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyRouterBisBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyRouterBisBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBis.ts"],"names":[],"mappings":"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","sourcesContent":["import * as express from 'express';\nimport * as querystring from 'querystring';\nimport { CryptoService } from './services/CryptoService';\nimport { OauthService } from './services/OauthService';\nimport { Request, Response } from 'express-serve-static-core';\nimport { Logger } from '../../Logger';\n\nconst router = express.Router();\n\nexport class ShopifyRouterBisBisBis {\n\n private cryptoService: CryptoService;\n\n constructor( private shop_secret: string, private shop_key: string, private appBaseUrl: string, private endpointUri: string, private getScopes: (shop: string) => string | Promise<string>, private callback: (accessToken: string, shop: string, host: string, expresResponse: Response, secFetchDest: boolean, error: any) => void) {\n this.cryptoService = new CryptoService();\n }\n\n public buildRoutes(): express.Router {\n router.get('/', async (req,res,next) => {\n const scopes = await this.getScopes(req.query.shop as string);\n res.locals.scopes = scopes;\n next();\n }, this.installRoute );\n router.get('/callback', this.callBackRoute);\n return router;\n }\n\n public callBackRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const shop = expresRequest.query.shop as string;\n const hmac = expresRequest.query.hmac as string;\n const code = expresRequest.query.code as string;\n const host = expresRequest.query.host as string;\n Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);\n if (shop && hmac && code) {\n const map = Object.assign({}, expresRequest.query);\n delete map['signature'];\n delete map['hmac'];\n const secFetchDest = req.headers['sec-fetch-dest'];\n const message = querystring.stringify(map as any);\n\n const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);\n if (!hashEquals) { expresResponse.status(401).send('HMAC validation failed'); return; }\n Logger.info(`getOathToken From shopify ${code}`);\n OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code,\n (accessToken: string) => {\n this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);\n },\n (errorStatus: string, error: string) => {\n Logger.error(`Error while getOathToken - status: ${errorStatus} and message: ${error}`);\n this.callback(null, shop, host, expresResponse, secFetchDest === 'iframe', { error: error, errorStatus: errorStatus });\n });\n } else {\n expresResponse.status(400).send('Required parameters missing');\n }\n };\n\n public installRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const scopes = res.locals.scopes;\n const shop = expresRequest.query.shop as string;\n const host = expresRequest.query.host;\n if (shop) {\n if(!expresRequest.query.session) {\n expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });\n } else {\n expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);\n }\n } else {\n return expresResponse.status(400).send('Missing shop parameter.');\n }\n };\n\n private installUrl(shop: string, scopes: string): string {\n return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;\n }\n\n private redirectUri(): string {\n return `${this.appBaseUrl}${this.endpointUri}/callback`;\n }\n}\n\nexport default ShopifyRouterBisBisBis;\n"]}
@@ -16,3 +16,4 @@ export declare class ShopifyRouterBisBisBisBis {
16
16
  private redirectUri;
17
17
  }
18
18
  export default ShopifyRouterBisBisBisBis;
19
+ //# sourceMappingURL=ShopifyRouterBisBisBisBis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyRouterBisBisBisBis.d.ts","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBisBis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAW,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK9D,qBAAa,yBAAyB;IAIrB,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,SAAS;IAA8C,OAAO,CAAC,QAAQ;IAF5M,OAAO,CAAC,aAAa,CAAgB;gBAEhB,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,EAAU,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAU,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI;IAI7T,WAAW,IAAI,OAAO,CAAC,MAAM;IAU7B,aAAa,QAAS,GAAG,OAAO,GAAG,UA6BxC;IAEK,YAAY,QAAS,GAAG,OAAO,GAAG,gDAevC;IAEF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAGtB;AAED,eAAe,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyRouterBisBisBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBisBis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyRouterBisBisBisBis.js","sourceRoot":"","sources":["../../../shopify/router/ShopifyRouterBisBisBisBis.ts"],"names":[],"mappings":"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","sourcesContent":["import * as express from 'express';\nimport * as querystring from 'querystring';\nimport { CryptoService } from './services/CryptoService';\nimport { OauthService } from './services/OauthService';\nimport { Request, Response } from 'express-serve-static-core';\nimport { Logger } from '../../Logger';\n\nconst router = express.Router();\n\nexport class ShopifyRouterBisBisBisBis {\n\n private cryptoService: CryptoService;\n\n constructor( private shop_secret: string, private shop_key: string, private appBaseUrl: string, private endpointUri: string, private getScopes: (shop: string) => string | Promise<string>, private callback: (accessToken: string, shop: string, host: string, expresResponse: Response, secFetchDest: boolean, error: any) => void) {\n this.cryptoService = new CryptoService();\n }\n\n public buildRoutes(): express.Router {\n router.get('/', async (req,res,next) => {\n const scopes = await this.getScopes(req.query.shop as string);\n res.locals.scopes = scopes;\n next();\n }, this.installRoute );\n router.get('/callback', this.callBackRoute);\n return router;\n }\n\n public callBackRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const shop = expresRequest.query.shop as string;\n const hmac = expresRequest.query.hmac as string;\n const code = expresRequest.query.code as string;\n const host = expresRequest.query.host as string;\n Logger.info(`ShopifyRouter - callBackRoute From shopify ${code}`);\n if (shop && hmac && code) {\n const map = Object.assign({}, expresRequest.query);\n delete map['signature'];\n delete map['hmac'];\n const secFetchDest = req.headers['sec-fetch-dest'];\n const message = querystring.stringify(map as any);\n\n const hashEquals = this.cryptoService.checkHash(this.cryptoService.generateHash(message, this.shop_secret), hmac);\n if (!hashEquals) { expresResponse.status(401).send('HMAC validation failed'); return; }\n Logger.info(`getOathToken From shopify ${code}`);\n OauthService.getOathToken(shop, this.shop_key, this.shop_secret, code,\n (accessToken: string) => {\n this.callback(accessToken, shop, host, expresResponse, secFetchDest === 'iframe', null);\n },\n (errorStatus: string, error: string) => {\n Logger.error(`Error while getOathToken - status: ${errorStatus} and message: ${error}`);\n this.callback(null, shop, host, expresResponse, secFetchDest === 'iframe', { error: error, errorStatus: errorStatus });\n });\n } else {\n expresResponse.status(400).send('Required parameters missing');\n }\n };\n\n public installRoute = (req: any, res: any) => {\n const expresRequest = req as Request;\n const expresResponse = res as Response;\n const scopes = res.locals.scopes;\n const shop = expresRequest.query.shop as string;\n const host = expresRequest.query.host;\n if (shop) {\n if(!expresRequest.query.session) {\n expresResponse.render('session_expire', { redirectUrl: this.installUrl(shop, scopes) });\n } else {\n expresResponse.redirect(`${this.appBaseUrl}/billing/created?host=${host}&shop=${shop}&status=already_accepted`);\n }\n } else {\n return expresResponse.status(400).send('Missing shop parameter.');\n }\n };\n\n private installUrl(shop: string, scopes: string): string {\n return `https://${shop}/admin/oauth/authorize?client_id=${this.shop_key}&scope=${scopes}&redirect_uri=${this.redirectUri()}`;\n }\n\n private redirectUri(): string {\n return `${this.appBaseUrl}${this.endpointUri}/callback`;\n }\n}\n\nexport default ShopifyRouterBisBisBisBis;\n"]}
@@ -26,3 +26,4 @@ export default class WebhookSkipMiddleware {
26
26
  */
27
27
  static inventorySkipMiddleware: (req: Request, res: Response, next: () => void) => void;
28
28
  }
29
+ //# sourceMappingURL=WebhookSkipMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookSkipMiddleware.d.ts","sourceRoot":"","sources":["../../../shopify/router/WebhookSkipMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAEtC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAgB;IAC/C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAgB;IACjD,OAAc,SAAS,SAAS;IAEhC,OAAc,gBAAgB,aAE5B;IAEF,OAAc,YAAY,OAAQ,MAAM,UAMtC;IAEF,OAAc,eAAe,OAAQ,MAAM,UAGzC;IAEF,OAAc,kBAAkB,aAE9B;IAEF,OAAc,cAAc,OAAQ,MAAM,UAMxC;IAEF,OAAc,iBAAiB,OAAQ,MAAM,UAG3C;IAEF;;;;;;OAMG;IACH,OAAc,qBAAqB,QAAS,OAAO,OAAO,QAAQ,QAAQ,MAAM,IAAI,UAMlF;IAEF;;;;;;OAMG;IACH,OAAc,uBAAuB,QAAS,OAAO,OAAO,QAAQ,QAAQ,MAAM,IAAI,UAMpF;CAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookSkipMiddleware.js","sourceRoot":"","sources":["../../../shopify/router/WebhookSkipMiddleware.ts"],"names":[],"mappings":";;AAEA,MAAqB,qBAAqB;;AAA1C,wCAsEC;AApEkB,sCAAgB,GAAa,EAAE,CAAC;AAChC,wCAAkB,GAAa,EAAE,CAAC;AACnC,+BAAS,GAAG,KAAK,CAAC;AAElB,sCAAgB,GAAG,GAAG,EAAE;IAClC,qBAAqB,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAChD,CAAC,CAAC;AAEY,kCAAY,GAAG,CAAC,EAAU,EAAE,EAAE;IACxC,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,IAAG,KAAK,KAAK,CAAC,CAAC,EAAE;QACb,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;KAChG;AACL,CAAC,CAAC;AAEY,qCAAe,GAAG,CAAC,EAAU,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEY,wCAAkB,GAAG,GAAG,EAAE;IACpC,qBAAqB,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAClD,CAAC,CAAC;AAEY,oCAAc,GAAG,CAAC,EAAU,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,IAAG,KAAK,KAAK,CAAC,CAAC,EAAE;QACb,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;KAClG;AACL,CAAC,CAAC;AAEY,uCAAiB,GAAG,CAAC,EAAU,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,qBAAqB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF;;;;;;GAMG;AACW,2CAAqB,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB,EAAG,EAAE;IACrF,IAAG,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC7D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACvB;SAAM;QACH,IAAI,EAAE,CAAC;KACV;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACW,6CAAuB,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB,EAAG,EAAE;IACvF,IAAG,qBAAqB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC/D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACvB;SAAM;QACH,IAAI,EAAE,CAAC;KACV;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"WebhookSkipMiddleware.js","sourceRoot":"","sources":["../../../shopify/router/WebhookSkipMiddleware.ts"],"names":[],"mappings":";;AAEA,MAAqB,qBAAqB;;AAA1C,wCAsEC;AApEkB,sCAAgB,GAAa,EAAE,CAAC;AAChC,wCAAkB,GAAa,EAAE,CAAC;AACnC,+BAAS,GAAG,KAAK,CAAC;AAElB,sCAAgB,GAAG,GAAG,EAAE;IAClC,qBAAqB,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAChD,CAAC,CAAC;AAEY,kCAAY,GAAG,CAAC,EAAU,EAAE,EAAE;IACxC,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,IAAG,KAAK,KAAK,CAAC,CAAC,EAAE;QACb,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;KAChG;AACL,CAAC,CAAC;AAEY,qCAAe,GAAG,CAAC,EAAU,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEY,wCAAkB,GAAG,GAAG,EAAE;IACpC,qBAAqB,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAClD,CAAC,CAAC;AAEY,oCAAc,GAAG,CAAC,EAAU,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,IAAG,KAAK,KAAK,CAAC,CAAC,EAAE;QACb,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;KAClG;AACL,CAAC,CAAC;AAEY,uCAAiB,GAAG,CAAC,EAAU,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,qBAAqB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF;;;;;;GAMG;AACW,2CAAqB,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB,EAAG,EAAE;IACrF,IAAG,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC7D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACvB;SAAM;QACH,IAAI,EAAE,CAAC;KACV;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACW,6CAAuB,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB,EAAG,EAAE;IACvF,IAAG,qBAAqB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC/D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACvB;SAAM;QACH,IAAI,EAAE,CAAC;KACV;AACL,CAAC,CAAC","sourcesContent":["import { Request, Response } from 'express-serve-static-core';\n\nexport default class WebhookSkipMiddleware {\n\n private static productIdsToSkip: number[] = [];\n private static inventoryIdsToSkip: number[] = [];\n public static awaitTime = 30000;\n\n public static clearProductList = () => {\n WebhookSkipMiddleware.productIdsToSkip = [];\n };\n\n public static addProductId = (id: number) => {\n const index = WebhookSkipMiddleware.productIdsToSkip.findIndex((i) => id === i);\n if(index === -1) {\n WebhookSkipMiddleware.productIdsToSkip.push(id);\n setTimeout(() => WebhookSkipMiddleware.removeProductId(id), WebhookSkipMiddleware.awaitTime);\n }\n };\n\n public static removeProductId = (id: number) => {\n const index = WebhookSkipMiddleware.productIdsToSkip.findIndex((i) => id === i);\n WebhookSkipMiddleware.productIdsToSkip.splice(index, 1);\n };\n \n public static clearInventoryList = () => {\n WebhookSkipMiddleware.inventoryIdsToSkip = [];\n };\n\n public static addInventoryId = (id: number) => {\n const index = WebhookSkipMiddleware.inventoryIdsToSkip.findIndex((i) => id === i);\n if(index === -1) {\n WebhookSkipMiddleware.inventoryIdsToSkip.push(id);\n setTimeout(() => WebhookSkipMiddleware.removeInventoryId(id), WebhookSkipMiddleware.awaitTime);\n }\n };\n\n public static removeInventoryId = (id: number) => {\n const index = WebhookSkipMiddleware.inventoryIdsToSkip.findIndex((i) => id === i);\n WebhookSkipMiddleware.inventoryIdsToSkip.splice(index, 1);\n };\n \n /**\n * The id of the element to skip must be in req.body.id for that to work.\n * \n * @param {Request} req\n * @param {Response} res\n * @param {()=>void} next\n */\n public static productSkipMiddleware = (req: Request, res: Response, next: () => void ) => {\n if(WebhookSkipMiddleware.productIdsToSkip.includes(req.body.id)) {\n res.sendStatus(200);\n } else {\n next();\n }\n };\n \n /**\n * The id of the element to skip must be in req.body.id for that to work.\n * \n * @param {Request} req\n * @param {Response} res\n * @param {()=>void} next\n */\n public static inventorySkipMiddleware = (req: Request, res: Response, next: () => void ) => {\n if(WebhookSkipMiddleware.inventoryIdsToSkip.includes(req.body.id)) {\n res.sendStatus(200);\n } else {\n next();\n }\n };\n\n}\n"]}