@things-factory/integration-marketplace 5.0.14 → 6.0.0-alpha.3

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 (251) hide show
  1. package/dist-server/controllers/lazada/client/lazada.js +2 -2
  2. package/dist-server/controllers/lazada/client/lazada.js.map +1 -1
  3. package/dist-server/controllers/magento/apis/create-order-ship.js +1 -1
  4. package/dist-server/controllers/magento/apis/create-order-ship.js.map +1 -1
  5. package/dist-server/controllers/shopee/index.js +10 -1
  6. package/dist-server/controllers/shopee/index.js.map +1 -1
  7. package/dist-server/controllers/shopee/platform-action.js +33 -1
  8. package/dist-server/controllers/shopee/platform-action.js.map +1 -1
  9. package/dist-server/controllers/shopee/refresh-access-token.js +2 -1
  10. package/dist-server/controllers/shopee/refresh-access-token.js.map +1 -1
  11. package/dist-server/controllers/shopee/shopee.js +81 -0
  12. package/dist-server/controllers/shopee/shopee.js.map +1 -1
  13. package/dist-server/controllers/shopify/apis/get-store-orders.js +45 -30
  14. package/dist-server/controllers/shopify/apis/get-store-orders.js.map +1 -1
  15. package/dist-server/controllers/shopify/apis/get-store-products.js +5 -10
  16. package/dist-server/controllers/shopify/apis/get-store-products.js.map +1 -1
  17. package/dist-server/controllers/shopify/shopify.js +15 -19
  18. package/dist-server/controllers/shopify/shopify.js.map +1 -1
  19. package/dist-server/controllers/store-api/index.js +32 -4
  20. package/dist-server/controllers/store-api/index.js.map +1 -1
  21. package/dist-server/controllers/tiktok/apis/get-store-order.js +20 -18
  22. package/dist-server/controllers/tiktok/apis/get-store-order.js.map +1 -1
  23. package/dist-server/controllers/tiktok/apis/get-store-orders.js +1 -1
  24. package/dist-server/controllers/tiktok/apis/get-store-orders.js.map +1 -1
  25. package/dist-server/controllers/tiktok/apis/update-order-status.js +4 -4
  26. package/dist-server/controllers/tiktok/apis/update-order-status.js.map +1 -1
  27. package/dist-server/controllers/tiktok/platform-action.js +14 -3
  28. package/dist-server/controllers/tiktok/platform-action.js.map +1 -1
  29. package/dist-server/engine/connector/lazada-connector.js +5 -5
  30. package/dist-server/engine/connector/lazada-connector.js.map +1 -1
  31. package/dist-server/engine/task/marketplace-api.js +4 -4
  32. package/dist-server/engine/task/marketplace-api.js.map +1 -1
  33. package/dist-server/entities/marketplace-distributor.js +3 -4
  34. package/dist-server/entities/marketplace-distributor.js.map +1 -1
  35. package/dist-server/entities/marketplace-setting.js +3 -4
  36. package/dist-server/entities/marketplace-setting.js.map +1 -1
  37. package/dist-server/entities/marketplace-store.js +3 -4
  38. package/dist-server/entities/marketplace-store.js.map +1 -1
  39. package/dist-server/entities/marketplace-transporter.js +6 -6
  40. package/dist-server/entities/marketplace-transporter.js.map +1 -1
  41. package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js +1 -1
  42. package/dist-server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.js.map +1 -1
  43. package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js +2 -2
  44. package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.js.map +1 -1
  45. package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js +3 -2
  46. package/dist-server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.js.map +1 -1
  47. package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js +8 -6
  48. package/dist-server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.js.map +1 -1
  49. package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js +4 -2
  50. package/dist-server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.js.map +1 -1
  51. package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js +6 -3
  52. package/dist-server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.js.map +1 -1
  53. package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js +2 -2
  54. package/dist-server/graphql/resolvers/marketplace-setting/create-marketplace-setting.js.map +1 -1
  55. package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js +2 -2
  56. package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.js.map +1 -1
  57. package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js +2 -1
  58. package/dist-server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.js.map +1 -1
  59. package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js +7 -5
  60. package/dist-server/graphql/resolvers/marketplace-setting/marketplace-setting-query.js.map +1 -1
  61. package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js +8 -2
  62. package/dist-server/graphql/resolvers/marketplace-setting/update-marketplace-setting.js.map +1 -1
  63. package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js +6 -3
  64. package/dist-server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.js.map +1 -1
  65. package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js +2 -2
  66. package/dist-server/graphql/resolvers/marketplace-store/create-marketplace-store.js.map +1 -1
  67. package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js +4 -4
  68. package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-store.js.map +1 -1
  69. package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js +4 -3
  70. package/dist-server/graphql/resolvers/marketplace-store/delete-marketplace-stores.js.map +1 -1
  71. package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js +3 -3
  72. package/dist-server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.js.map +1 -1
  73. package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js +1 -1
  74. package/dist-server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.js.map +1 -1
  75. package/dist-server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.js.map +1 -1
  76. package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js +4 -2
  77. package/dist-server/graphql/resolvers/marketplace-store/magento/activate-magento-store.js.map +1 -1
  78. package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js +3 -4
  79. package/dist-server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.js.map +1 -1
  80. package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js +2 -2
  81. package/dist-server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.js.map +1 -1
  82. package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js +3 -3
  83. package/dist-server/graphql/resolvers/marketplace-store/marketplace-store.js.map +1 -1
  84. package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js +1 -2
  85. package/dist-server/graphql/resolvers/marketplace-store/marketplace-stores.js.map +1 -1
  86. package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js +3 -3
  87. package/dist-server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.js.map +1 -1
  88. package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js +2 -2
  89. package/dist-server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.js.map +1 -1
  90. package/dist-server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.js.map +1 -1
  91. package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js +3 -3
  92. package/dist-server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.js.map +1 -1
  93. package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js +3 -3
  94. package/dist-server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.js.map +1 -1
  95. package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js +3 -3
  96. package/dist-server/graphql/resolvers/marketplace-store/update-marketplace-store.js.map +1 -1
  97. package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js +3 -3
  98. package/dist-server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.js.map +1 -1
  99. package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js +4 -4
  100. package/dist-server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.js.map +1 -1
  101. package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js +2 -2
  102. package/dist-server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.js.map +1 -1
  103. package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js +3 -3
  104. package/dist-server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.js.map +1 -1
  105. package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js +1 -1
  106. package/dist-server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.js.map +1 -1
  107. package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js +4 -4
  108. package/dist-server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.js.map +1 -1
  109. package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js +2 -2
  110. package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.js.map +1 -1
  111. package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js +2 -1
  112. package/dist-server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.js.map +1 -1
  113. package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js +10 -6
  114. package/dist-server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.js.map +1 -1
  115. package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js +5 -2
  116. package/dist-server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.js.map +1 -1
  117. package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js +6 -3
  118. package/dist-server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.js.map +1 -1
  119. package/dist-server/graphql/resolvers/store-order/accept-store-order-cancellation.js.map +1 -1
  120. package/dist-server/graphql/resolvers/store-order/cancel-store-order.js.map +1 -1
  121. package/dist-server/graphql/resolvers/store-order/get-store-order-document.js.map +1 -1
  122. package/dist-server/graphql/resolvers/store-order/get-store-order-items.js.map +1 -1
  123. package/dist-server/graphql/resolvers/store-order/get-store-order.js.map +1 -1
  124. package/dist-server/graphql/resolvers/store-order/get-store-orders.js.map +1 -1
  125. package/dist-server/graphql/resolvers/store-order/reject-store-order-cancellation.js.map +1 -1
  126. package/dist-server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.js.map +1 -1
  127. package/dist-server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.js.map +1 -1
  128. package/dist-server/graphql/resolvers/store-product/create-store-product-variations.js.map +1 -1
  129. package/dist-server/graphql/resolvers/store-product/create-store-product.js.map +1 -1
  130. package/dist-server/graphql/resolvers/store-product/delete-store-product.js.map +1 -1
  131. package/dist-server/graphql/resolvers/store-product/get-store-product-brands.js.map +1 -1
  132. package/dist-server/graphql/resolvers/store-product/get-store-product-categories.js.map +1 -1
  133. package/dist-server/graphql/resolvers/store-product/get-store-product-category-attributes.js.map +1 -1
  134. package/dist-server/graphql/resolvers/store-product/get-store-product.js.map +1 -1
  135. package/dist-server/graphql/resolvers/store-product/get-store-products.js.map +1 -1
  136. package/dist-server/graphql/resolvers/store-product/update-store-product.js.map +1 -1
  137. package/dist-server/routers/magento-private-router.js +7 -8
  138. package/dist-server/routers/magento-private-router.js.map +1 -1
  139. package/dist-server/routers/shopify-install-private-router.js +8 -9
  140. package/dist-server/routers/shopify-install-private-router.js.map +1 -1
  141. package/dist-server/routers/shopify-install-public-router.js +2 -3
  142. package/dist-server/routers/shopify-install-public-router.js.map +1 -1
  143. package/dist-server/routers/shopify-private-router.js +6 -7
  144. package/dist-server/routers/shopify-private-router.js.map +1 -1
  145. package/dist-server/routers/shopify-public-router.js +7 -8
  146. package/dist-server/routers/shopify-public-router.js.map +1 -1
  147. package/dist-server/routers/woocommerce-router.js +6 -6
  148. package/dist-server/routers/woocommerce-router.js.map +1 -1
  149. package/dist-server/tsconfig.tsbuildinfo +1 -1
  150. package/package.json +16 -16
  151. package/server/controllers/lazada/client/lazada.ts +2 -1
  152. package/server/controllers/magento/apis/create-order-ship.ts +1 -1
  153. package/server/controllers/shopee/apis2/create-shipping-document.ts +27 -0
  154. package/server/controllers/shopee/apis2/echo.ts +14 -0
  155. package/server/controllers/shopee/apis2/get-logistics-param.ts +66 -0
  156. package/server/controllers/shopee/apis2/get-shipping-document-result.ts +21 -0
  157. package/server/controllers/shopee/apis2/get-store-logistics.ts +23 -0
  158. package/server/controllers/shopee/apis2/get-store-order-by-batch.ts +97 -0
  159. package/server/controllers/shopee/apis2/get-store-order-document.ts +39 -0
  160. package/server/controllers/shopee/apis2/get-store-order-payout-dates.ts +33 -0
  161. package/server/controllers/shopee/apis2/get-store-order-transaction-details.ts +28 -0
  162. package/server/controllers/shopee/apis2/get-store-order.ts +93 -0
  163. package/server/controllers/shopee/apis2/get-store-orders.ts +40 -0
  164. package/server/controllers/shopee/apis2/get-store-product-variations.ts +17 -0
  165. package/server/controllers/shopee/apis2/get-store-product.ts +105 -0
  166. package/server/controllers/shopee/apis2/get-store-products.ts +28 -0
  167. package/server/controllers/shopee/apis2/get-store-refund-order-details.ts +39 -0
  168. package/server/controllers/shopee/apis2/get-store-refund-orders.ts +37 -0
  169. package/server/controllers/shopee/apis2/get-tracking-number.ts +17 -0
  170. package/server/controllers/shopee/apis2/index.ts +20 -0
  171. package/server/controllers/shopee/apis2/init-logistics.ts +39 -0
  172. package/server/controllers/shopee/apis2/update-store-product-stock.ts +26 -0
  173. package/server/controllers/shopee/apis2/update-store-product-variation-stock.ts +28 -0
  174. package/server/controllers/shopee/index.ts +11 -2
  175. package/server/controllers/shopee/platform-action.ts +36 -0
  176. package/server/controllers/shopee/refresh-access-token.ts +78 -0
  177. package/server/controllers/shopee/shopee.ts +95 -0
  178. package/server/controllers/shopify/apis/get-store-orders.ts +46 -30
  179. package/server/controllers/shopify/apis/get-store-products.ts +3 -8
  180. package/server/controllers/shopify/shopify.ts +15 -15
  181. package/server/controllers/store-api/index.ts +14 -2
  182. package/server/controllers/tiktok/apis/get-store-order.ts +26 -24
  183. package/server/controllers/tiktok/apis/get-store-orders.ts +1 -1
  184. package/server/controllers/tiktok/apis/update-order-status.ts +4 -4
  185. package/server/controllers/tiktok/platform-action.ts +14 -14
  186. package/server/engine/connector/lazada-connector.ts +5 -4
  187. package/server/engine/task/marketplace-api.ts +4 -3
  188. package/server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.ts +2 -2
  189. package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.ts +4 -3
  190. package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.ts +6 -3
  191. package/server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.ts +13 -9
  192. package/server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.ts +5 -5
  193. package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts +7 -3
  194. package/server/graphql/resolvers/marketplace-setting/create-marketplace-setting.ts +3 -3
  195. package/server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.ts +4 -4
  196. package/server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.ts +9 -7
  197. package/server/graphql/resolvers/marketplace-setting/marketplace-setting-query.ts +11 -8
  198. package/server/graphql/resolvers/marketplace-setting/update-marketplace-setting.ts +9 -3
  199. package/server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.ts +32 -29
  200. package/server/graphql/resolvers/marketplace-store/create-marketplace-store.ts +3 -2
  201. package/server/graphql/resolvers/marketplace-store/delete-marketplace-store.ts +4 -3
  202. package/server/graphql/resolvers/marketplace-store/delete-marketplace-stores.ts +6 -3
  203. package/server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.ts +4 -3
  204. package/server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.ts +2 -2
  205. package/server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.ts +1 -1
  206. package/server/graphql/resolvers/marketplace-store/magento/activate-magento-store.ts +5 -3
  207. package/server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.ts +4 -4
  208. package/server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.ts +4 -3
  209. package/server/graphql/resolvers/marketplace-store/marketplace-store.ts +4 -3
  210. package/server/graphql/resolvers/marketplace-store/marketplace-stores.ts +3 -3
  211. package/server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.ts +4 -3
  212. package/server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.ts +3 -3
  213. package/server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.ts +1 -1
  214. package/server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.ts +4 -3
  215. package/server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.ts +4 -4
  216. package/server/graphql/resolvers/marketplace-store/update-marketplace-store.ts +4 -3
  217. package/server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.ts +4 -3
  218. package/server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.ts +5 -5
  219. package/server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.ts +4 -3
  220. package/server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.ts +4 -3
  221. package/server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.ts +2 -2
  222. package/server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.ts +7 -5
  223. package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.ts +4 -4
  224. package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.ts +9 -7
  225. package/server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.ts +17 -12
  226. package/server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.ts +8 -5
  227. package/server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.ts +32 -29
  228. package/server/graphql/resolvers/store-order/accept-store-order-cancellation.ts +1 -1
  229. package/server/graphql/resolvers/store-order/cancel-store-order.ts +1 -1
  230. package/server/graphql/resolvers/store-order/get-store-order-document.ts +1 -1
  231. package/server/graphql/resolvers/store-order/get-store-order-items.ts +1 -1
  232. package/server/graphql/resolvers/store-order/get-store-order.ts +1 -1
  233. package/server/graphql/resolvers/store-order/get-store-orders.ts +1 -1
  234. package/server/graphql/resolvers/store-order/reject-store-order-cancellation.ts +1 -1
  235. package/server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.ts +1 -1
  236. package/server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.ts +1 -1
  237. package/server/graphql/resolvers/store-product/create-store-product-variations.ts +1 -1
  238. package/server/graphql/resolvers/store-product/create-store-product.ts +1 -1
  239. package/server/graphql/resolvers/store-product/delete-store-product.ts +1 -1
  240. package/server/graphql/resolvers/store-product/get-store-product-brands.ts +1 -1
  241. package/server/graphql/resolvers/store-product/get-store-product-categories.ts +1 -1
  242. package/server/graphql/resolvers/store-product/get-store-product-category-attributes.ts +1 -1
  243. package/server/graphql/resolvers/store-product/get-store-product.ts +1 -1
  244. package/server/graphql/resolvers/store-product/get-store-products.ts +1 -1
  245. package/server/graphql/resolvers/store-product/update-store-product.ts +1 -1
  246. package/server/routers/magento-private-router.ts +3 -4
  247. package/server/routers/shopify-install-private-router.ts +4 -5
  248. package/server/routers/shopify-install-public-router.ts +1 -2
  249. package/server/routers/shopify-private-router.ts +6 -6
  250. package/server/routers/shopify-public-router.ts +6 -5
  251. package/server/routers/woocommerce-router.ts +4 -3
@@ -4,7 +4,7 @@ exports.Lazada = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const form_data_1 = tslib_1.__importDefault(require("form-data"));
6
6
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
- const typeorm_1 = require("typeorm");
7
+ const shell_1 = require("@things-factory/shell");
8
8
  const entities_1 = require("../../../entities");
9
9
  const signature_1 = require("./signature");
10
10
  const types_1 = require("./types");
@@ -38,7 +38,7 @@ class Lazada {
38
38
  },
39
39
  body: JSON.stringify(body)
40
40
  });
41
- const repository = (0, typeorm_1.getRepository)(entities_1.MarketplaceStore);
41
+ const repository = (0, shell_1.getRepository)(entities_1.MarketplaceStore);
42
42
  const store = await repository.findOne({
43
43
  where: { id: storeId }
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lazada.js","sourceRoot":"","sources":["../../../../server/controllers/lazada/client/lazada.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport fetch from 'node-fetch'\nimport { getRepository } from 'typeorm'\n\nimport { MarketplaceStore } from '../../../entities'\nimport { makeSystemParameters } from './signature'\nimport { Endpoint, Parameter } from './types'\nimport { xmlize } from './xml'\n\nexport class Lazada {\n endpoint: string\n appKey: string\n appSecret: string\n accessToken: string\n\n constructor(countryCode: string, appKey: string, appSecret: string) {\n this.endpoint = Endpoint[countryCode]\n this.appKey = appKey\n this.appSecret = appSecret\n }\n\n async generateAccessToken(payload: {\n code: string // oauth code, get from app callback URL\n uuid?: string // unique identifier, anti-replay\n }) {\n const apiPath = '/auth/token/create'\n\n const body = {\n ...payload,\n ...makeSystemParameters(this.appKey, this.appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n return await response.json()\n }\n\n public static async refreshAccessToken(payload: { refresh_token: string }, appKey, appSecret, storeId) {\n /* CONFIRM-ME not qualified */\n const apiPath = '/auth/token/refresh'\n\n const body = {\n ...payload,\n ...makeSystemParameters(appKey, appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n const repository = getRepository(MarketplaceStore)\n const store: MarketplaceStore = await repository.findOne({\n where: { id: storeId }\n })\n\n const refreshTokenInfo = await response.json()\n const { access_token, refresh_token } = refreshTokenInfo\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(refreshTokenInfo, null, 2)\n }\n\n await repository.save({\n ...store,\n ...patch\n })\n\n return await response.json()\n }\n\n async get(path: string, params: Parameter, accessToken?: string) {\n const qs = Object.entries({\n ...params,\n ...makeSystemParameters(this.appKey, this.appSecret, path, accessToken || this.accessToken, params)\n })\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(this.endpoint + path + '?' + qs, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n\n async post(path: string, params: Parameter, accessToken?: string) {\n if ('payload' in params) {\n params.payload = xmlize(params.payload)\n }\n\n const { app_key, timestamp, access_token, sign_method, sign } = makeSystemParameters(\n this.appKey,\n this.appSecret,\n path,\n accessToken || this.accessToken,\n params\n )\n\n const body = new FormData()\n\n body.append('app_key', app_key)\n body.append('timestamp', timestamp)\n body.append('access_token', access_token)\n body.append('sign_method', sign_method)\n body.append('sign', sign)\n\n for (let key in params) {\n body.append(key, params[key])\n }\n\n const response = await fetch(this.endpoint + path, {\n method: 'post',\n headers: body.getHeaders(),\n body\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n}\n"]}
1
+ {"version":3,"file":"lazada.js","sourceRoot":"","sources":["../../../../server/controllers/lazada/client/lazada.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport fetch from 'node-fetch'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceStore } from '../../../entities'\nimport { makeSystemParameters } from './signature'\nimport { Endpoint, Parameter } from './types'\nimport { xmlize } from './xml'\n\nexport class Lazada {\n endpoint: string\n appKey: string\n appSecret: string\n accessToken: string\n\n constructor(countryCode: string, appKey: string, appSecret: string) {\n this.endpoint = Endpoint[countryCode]\n this.appKey = appKey\n this.appSecret = appSecret\n }\n\n async generateAccessToken(payload: {\n code: string // oauth code, get from app callback URL\n uuid?: string // unique identifier, anti-replay\n }) {\n const apiPath = '/auth/token/create'\n\n const body = {\n ...payload,\n ...makeSystemParameters(this.appKey, this.appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n return await response.json()\n }\n\n public static async refreshAccessToken(payload: { refresh_token: string }, appKey, appSecret, storeId) {\n /* CONFIRM-ME not qualified */\n const apiPath = '/auth/token/refresh'\n\n const body = {\n ...payload,\n ...makeSystemParameters(appKey, appSecret, apiPath, undefined, payload)\n }\n\n const response = await fetch(Endpoint.auth + apiPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n\n const repository = getRepository(MarketplaceStore)\n const store: MarketplaceStore = await repository.findOne({\n where: { id: storeId }\n })\n\n const refreshTokenInfo = await response.json()\n const { access_token, refresh_token } = refreshTokenInfo\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(refreshTokenInfo, null, 2)\n }\n\n await repository.save({\n ...store,\n ...patch\n })\n\n return await response.json()\n }\n\n async get(path: string, params: Parameter, accessToken?: string) {\n const qs = Object.entries({\n ...params,\n ...makeSystemParameters(this.appKey, this.appSecret, path, accessToken || this.accessToken, params)\n })\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(this.endpoint + path + '?' + qs, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n\n async post(path: string, params: Parameter, accessToken?: string) {\n if ('payload' in params) {\n params.payload = xmlize(params.payload)\n }\n\n const { app_key, timestamp, access_token, sign_method, sign } = makeSystemParameters(\n this.appKey,\n this.appSecret,\n path,\n accessToken || this.accessToken,\n params\n )\n\n const body = new FormData()\n\n body.append('app_key', app_key)\n body.append('timestamp', timestamp)\n body.append('access_token', access_token)\n body.append('sign_method', sign_method)\n body.append('sign', sign)\n\n for (let key in params) {\n body.append(key, params[key])\n }\n\n const response = await fetch(this.endpoint + path, {\n method: 'post',\n headers: body.getHeaders(),\n body\n })\n\n if (!response.ok) {\n throw response\n }\n\n return await response.json()\n }\n}\n"]}
@@ -12,7 +12,7 @@ function createOrderShip() {
12
12
  const items = orderItems.map(orderItem => {
13
13
  return {
14
14
  extension_attributes: {},
15
- order_item_id: orderItem.name,
15
+ order_item_id: parseInt(orderItem.name),
16
16
  qty: orderItem.qty
17
17
  };
18
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-order-ship.js","sourceRoot":"","sources":["../../../../server/controllers/magento/apis/create-order-ship.ts"],"names":[],"mappings":";AAAA,qGAAqG;AACrG,4BAA4B;;;AAE5B,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAE/D,MAAM,KAAK,GAAU,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,aAAa,EAAE,SAAS,CAAC,IAAI;oBAC7B,GAAG,EAAE,SAAS,CAAC,GAAG;iBACnB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAU,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,YAAY,EAAE,QAAQ,CAAC,WAAW;oBAClC,YAAY,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,iBAAiB,GAAU,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC5D,OAAO;oBACL,oBAAoB,EAAE;wBACpB,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,EAAE,OAAO,EAAE;gBACrB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE;aAC5D,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAxCD,0CAwCC","sourcesContent":["/* https://magento.redoc.ly/2.4.2-admin/tag/orderorderIdship#operation/salesShipOrderV1ExecutePost */\n/* /orders/{orderId}/ship */\n\nexport function createOrderShip() {\n return {\n method: 'post',\n path: '/order/{orderId}/ship',\n denormalize(req) {\n var { orderId, orderItems, shippings, sourceCodes } = req || {}\n\n const items: any[] = orderItems.map(orderItem => {\n return {\n extension_attributes: {},\n order_item_id: orderItem.name,\n qty: orderItem.qty\n }\n })\n\n const tracks: any[] = shippings.map(shipping => {\n return {\n extension_attributes: {},\n carrier_code: shipping.carrierCode,\n track_number: shipping.trackingNo\n }\n })\n\n const shipmentArguments: any[] = sourceCodes.map(sourceCode => {\n return {\n extension_attributes: {\n source_code: sourceCode\n }\n }\n })\n\n return {\n resource: { orderId },\n payload: { items, tracks, arguments: shipmentArguments[0] }\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
1
+ {"version":3,"file":"create-order-ship.js","sourceRoot":"","sources":["../../../../server/controllers/magento/apis/create-order-ship.ts"],"names":[],"mappings":";AAAA,qGAAqG;AACrG,4BAA4B;;;AAE5B,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAE/D,MAAM,KAAK,GAAU,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC9C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;oBACvC,GAAG,EAAE,SAAS,CAAC,GAAG;iBACnB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAU,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7C,OAAO;oBACL,oBAAoB,EAAE,EAAE;oBACxB,YAAY,EAAE,QAAQ,CAAC,WAAW;oBAClC,YAAY,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,iBAAiB,GAAU,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC5D,OAAO;oBACL,oBAAoB,EAAE;wBACpB,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,EAAE,OAAO,EAAE;gBACrB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE;aAC5D,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC;AAxCD,0CAwCC","sourcesContent":["/* https://magento.redoc.ly/2.4.2-admin/tag/orderorderIdship#operation/salesShipOrderV1ExecutePost */\n/* /orders/{orderId}/ship */\n\nexport function createOrderShip() {\n return {\n method: 'post',\n path: '/order/{orderId}/ship',\n denormalize(req) {\n var { orderId, orderItems, shippings, sourceCodes } = req || {}\n\n const items: any[] = orderItems.map(orderItem => {\n return {\n extension_attributes: {},\n order_item_id: parseInt(orderItem.name),\n qty: orderItem.qty\n }\n })\n\n const tracks: any[] = shippings.map(shipping => {\n return {\n extension_attributes: {},\n carrier_code: shipping.carrierCode,\n track_number: shipping.trackingNo\n }\n })\n\n const shipmentArguments: any[] = sourceCodes.map(sourceCode => {\n return {\n extension_attributes: {\n source_code: sourceCode\n }\n }\n })\n\n return {\n resource: { orderId },\n payload: { items, tracks, arguments: shipmentArguments[0] }\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
@@ -2,8 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./shopee"), exports);
5
+ const env_1 = require("@things-factory/env");
5
6
  const store_api_1 = require("../store-api");
6
7
  const platform_action_1 = require("./platform-action");
7
8
  const APIS = tslib_1.__importStar(require("./apis"));
8
- store_api_1.StoreAPI.registerPlatform('shopee', platform_action_1.action, APIS);
9
+ const APISV2 = tslib_1.__importStar(require("./apis2"));
10
+ const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
11
+ const { v2 } = shopeeConfig;
12
+ if (v2) {
13
+ store_api_1.StoreAPI.registerPlatform('shopee', platform_action_1.actionV2, APISV2);
14
+ }
15
+ else {
16
+ store_api_1.StoreAPI.registerPlatform('shopee', platform_action_1.action, APIS);
17
+ }
9
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/shopee/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AAExB,4CAAuC;AACvC,uDAA0C;AAC1C,qDAA8B;AAE9B,oBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAM,EAAE,IAAI,CAAC,CAAA","sourcesContent":["export * from './shopee'\n\nimport { StoreAPI } from '../store-api'\nimport { action } from './platform-action'\nimport * as APIS from './apis'\n\nStoreAPI.registerPlatform('shopee', action, APIS)\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/shopee/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AAExB,6CAA4C;AAC5C,4CAAuC;AACvC,uDAAoD;AACpD,qDAA8B;AAC9B,wDAAiC;AAEjC,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,CAAA;AAE3B,IAAI,EAAE,EAAE;IACJ,oBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,0BAAQ,EAAE,MAAM,CAAC,CAAA;CACxD;KAAM;IACH,oBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAM,EAAE,IAAI,CAAC,CAAA;CACpD","sourcesContent":["export * from './shopee'\n\nimport { config } from '@things-factory/env'\nimport { StoreAPI } from '../store-api'\nimport { action, actionV2 } from './platform-action'\nimport * as APIS from './apis'\nimport * as APISV2 from './apis2'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { v2 } = shopeeConfig\n\nif (v2) {\n StoreAPI.registerPlatform('shopee', actionV2, APISV2)\n} else {\n StoreAPI.registerPlatform('shopee', action, APIS)\n}\n"]}
@@ -1,10 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.action = void 0;
3
+ exports.action = exports.actionV2 = void 0;
4
4
  const shopee_1 = require("./shopee");
5
5
  const env_1 = require("@things-factory/env");
6
+ const refresh_access_token_1 = require("./refresh-access-token");
6
7
  const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
7
8
  const { partnerId, partnerKey, isUAT } = shopeeConfig;
9
+ const actionV2 = async ({ store, path, request, method = 'post' }) => {
10
+ let response = await _action({ store, path, request, method });
11
+ if (response.error) {
12
+ if (response.error == 'error_auth') {
13
+ try {
14
+ const { accessToken } = await (0, refresh_access_token_1.refreshAccessToken)(store.id, store.storeId, store.refreshToken, store.accessToken);
15
+ store = Object.assign(Object.assign({}, store), { accessToken });
16
+ response = await _action({ store, path, request, method });
17
+ }
18
+ catch (e) {
19
+ throw e;
20
+ }
21
+ }
22
+ else {
23
+ throw response;
24
+ }
25
+ }
26
+ return response.response || response;
27
+ };
28
+ exports.actionV2 = actionV2;
29
+ const _action = async ({ store, path, request, method = 'post' }) => {
30
+ const client = new shopee_1.Shopee({
31
+ isUAT: isUAT,
32
+ shopid: Number(store.storeId),
33
+ partner_id: partnerId,
34
+ partner_key: partnerKey,
35
+ access_token: store.accessToken
36
+ });
37
+ var response = await client[method](path, request);
38
+ return response;
39
+ };
8
40
  const action = async ({ store, path, request }) => {
9
41
  const client = new shopee_1.Shopee({
10
42
  isUAT: isUAT,
@@ -1 +1 @@
1
- {"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/shopee/platform-action.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,6CAA4C;AAC5C,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;AAE9C,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,MAAM,QAAQ,CAAA;KACf;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,MAAM,UAelB","sourcesContent":["import { Shopee } from './shopee'\n\nimport { config } from '@things-factory/env'\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\n\nexport const action = async ({ store, path, request }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client.post(path, request)\n if (response.error) {\n throw response\n }\n\n return response\n}\n"]}
1
+ {"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/shopee/platform-action.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,6CAA4C;AAC5C,iEAA2D;AAC3D,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;AAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE;IAC1E,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,IAAI,QAAQ,CAAC,KAAK,IAAI,YAAY,EAAE;YAClC,IAAI;gBACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,yCAAkB,EAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;gBAChH,KAAK,mCACA,KAAK,KACR,WAAW,GACZ,CAAA;gBACD,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;aAC3D;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAA;aACR;SACF;aAAM;YACL,MAAM,QAAQ,CAAA;SACf;KACF;IACD,OAAO,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAA;AACtC,CAAC,CAAA;AAnBY,QAAA,QAAQ,YAmBpB;AAED,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAElD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;KAChC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,MAAM,QAAQ,CAAA;KACf;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAfY,QAAA,MAAM,UAelB","sourcesContent":["import { Shopee } from './shopee'\n\nimport { config } from '@things-factory/env'\nimport { refreshAccessToken } from './refresh-access-token'\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\n\nexport const actionV2 = async ({ store, path, request, method = 'post' }) => {\n let response = await _action({ store, path, request, method })\n if (response.error) {\n if (response.error == 'error_auth') {\n try {\n const { accessToken } = await refreshAccessToken(store.id, store.storeId, store.refreshToken, store.accessToken)\n store = {\n ...store,\n accessToken\n }\n response = await _action({ store, path, request, method })\n } catch (e) {\n throw e\n }\n } else {\n throw response\n }\n }\n return response.response || response\n}\n\nconst _action = async ({ store, path, request, method = 'post' }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client[method](path, request)\n\n return response\n}\n\nexport const action = async ({ store, path, request }) => {\n const client = new Shopee({\n isUAT: isUAT,\n shopid: Number(store.storeId),\n partner_id: partnerId,\n partner_key: partnerKey,\n access_token: store.accessToken\n })\n\n var response = await client.post(path, request)\n if (response.error) {\n throw response\n }\n\n return response\n}\n"]}
@@ -6,12 +6,13 @@ const crypto_1 = tslib_1.__importDefault(require("crypto"));
6
6
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
7
  const typeorm_1 = require("typeorm");
8
8
  const env_1 = require("@things-factory/env");
9
+ const shell_1 = require("@things-factory/shell");
9
10
  const entities_1 = require("../../entities");
10
11
  const shopeeConfig = env_1.config.get('marketplaceIntegrationShopee', {});
11
12
  const { partnerId, partnerKey, isUAT } = shopeeConfig;
12
13
  const refreshPath = '/auth/access_token/get';
13
14
  const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {
14
- let marketplaceStore = await (0, typeorm_1.getRepository)(entities_1.MarketplaceStore)
15
+ let marketplaceStore = await (0, shell_1.getRepository)(entities_1.MarketplaceStore)
15
16
  .createQueryBuilder('ms')
16
17
  .where('ms.id = :id', { id: store_uuid })
17
18
  .getOne();
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-access-token.js","sourceRoot":"","sources":["../../../server/controllers/shopee/refresh-access-token.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createQueryBuilder, getRepository } from 'typeorm'\nimport { config, logger } from '@things-factory/env'\nimport { MarketplaceStore } from '../../entities'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\nconst refreshPath = '/auth/access_token/get'\n\nexport const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {\n let marketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore)\n .createQueryBuilder('ms')\n .where('ms.id = :id', { id: store_uuid })\n .getOne()\n\n if (old_access_token != marketplaceStore.accessToken) {\n return {\n accessToken: marketplaceStore.accessToken\n }\n }\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partnerKey)\n .update(partnerId + '/api/v2' + refreshPath + timestamp)\n .digest('hex')\n\n const auth = {\n partner_id: partnerId,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const data = {\n refresh_token: refresh_token,\n partner_id: partnerId,\n shop_id: parseInt(shop_id)\n }\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${getAuthUrl()}?${qs}`, {\n method: 'post',\n body: jsondata\n })\n\n if (!response.ok) {\n throw 'Failed to get response to refresh Shopee access token'\n }\n\n const result = await response.json()\n\n if (result.error) {\n logger.error(`Failed to refresh Shopee token: ${result.error} - shop ID (${shop_id})`)\n throw result.error\n }\n\n const tokens = {\n accessToken: result.access_token, // expires in 4 hours\n refreshToken: result.refresh_token // expires in 30 days\n }\n\n await createQueryBuilder().update(MarketplaceStore).set(tokens).where('id = :id', { id: store_uuid }).execute()\n\n return tokens\n}\n\nfunction getAuthUrl() {\n return `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com/api/v2${refreshPath}`\n}\n"]}
1
+ {"version":3,"file":"refresh-access-token.js","sourceRoot":"","sources":["../../../server/controllers/shopee/refresh-access-token.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oEAA8B;AAC9B,qCAA4C;AAE5C,6CAAoD;AACpD,iDAAqD;AAErD,6CAAiD;AAEjD,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACnE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;AACrD,MAAM,WAAW,GAAG,wBAAwB,CAAA;AAErC,MAAM,kBAAkB,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE;IAC/F,IAAI,gBAAgB,GAAqB,MAAM,IAAA,qBAAa,EAAC,2BAAgB,CAAC;SAC3E,kBAAkB,CAAC,IAAI,CAAC;SACxB,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;SACxC,MAAM,EAAE,CAAA;IAEX,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,EAAE;QACpD,OAAO;YACL,WAAW,EAAE,gBAAgB,CAAC,WAAW;SAC1C,CAAA;KACF;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,gBAAM;SAChB,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;SAChC,MAAM,CAAC,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;SACvD,MAAM,CAAC,KAAK,CAAC,CAAA;IAEhB,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,SAAS;KACrB,CAAA;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,IAAI,CAAC,GAAG,CAAC,CAAA;IAEZ,MAAM,IAAI,GAAG;QACX,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC3B,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;QACpD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,uDAAuD,CAAA;KAC9D;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEpC,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,YAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,eAAe,OAAO,GAAG,CAAC,CAAA;QACtF,MAAM,MAAM,CAAC,KAAK,CAAA;KACnB;IAED,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB;KACzD,CAAA;IAED,MAAM,IAAA,4BAAkB,GAAE,CAAC,MAAM,CAAC,2BAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;IAE/G,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA5DY,QAAA,kBAAkB,sBA4D9B;AAED,SAAS,UAAU;IACjB,OAAO,kBAAkB,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,2BAA2B,WAAW,EAAE,CAAA;AAC9F,CAAC","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createQueryBuilder } from 'typeorm'\n\nimport { config, logger } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\n\nimport { MarketplaceStore } from '../../entities'\n\nconst shopeeConfig = config.get('marketplaceIntegrationShopee', {})\nconst { partnerId, partnerKey, isUAT } = shopeeConfig\nconst refreshPath = '/auth/access_token/get'\n\nexport const refreshAccessToken = async (store_uuid, shop_id, refresh_token, old_access_token) => {\n let marketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore)\n .createQueryBuilder('ms')\n .where('ms.id = :id', { id: store_uuid })\n .getOne()\n\n if (old_access_token != marketplaceStore.accessToken) {\n return {\n accessToken: marketplaceStore.accessToken\n }\n }\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partnerKey)\n .update(partnerId + '/api/v2' + refreshPath + timestamp)\n .digest('hex')\n\n const auth = {\n partner_id: partnerId,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const data = {\n refresh_token: refresh_token,\n partner_id: partnerId,\n shop_id: parseInt(shop_id)\n }\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${getAuthUrl()}?${qs}`, {\n method: 'post',\n body: jsondata\n })\n\n if (!response.ok) {\n throw 'Failed to get response to refresh Shopee access token'\n }\n\n const result = await response.json()\n\n if (result.error) {\n logger.error(`Failed to refresh Shopee token: ${result.error} - shop ID (${shop_id})`)\n throw result.error\n }\n\n const tokens = {\n accessToken: result.access_token, // expires in 4 hours\n refreshToken: result.refresh_token // expires in 30 days\n }\n\n await createQueryBuilder().update(MarketplaceStore).set(tokens).where('id = :id', { id: store_uuid }).execute()\n\n return tokens\n}\n\nfunction getAuthUrl() {\n return `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com/api/v2${refreshPath}`\n}\n"]}
@@ -4,6 +4,7 @@ exports.Shopee = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const crypto_1 = tslib_1.__importDefault(require("crypto"));
6
6
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
+ const integration_base_1 = require("@things-factory/integration-base");
7
8
  const debug = require('debug')('things-factory:integration-marketplace:shopee');
8
9
  class Shopee {
9
10
  constructor(config) {
@@ -62,6 +63,86 @@ class Shopee {
62
63
  debug('response result', result);
63
64
  return result;
64
65
  }
66
+ async getV2(endpoint, data = {}) {
67
+ const { partner_id, shopid, access_token, partner_key } = this.config;
68
+ const timestamp = Math.floor(Date.now() / 1000);
69
+ const sign = crypto_1.default
70
+ .createHmac('sha256', partner_key)
71
+ .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
72
+ .digest('hex');
73
+ data.partner_id = partner_id;
74
+ data.timestamp = timestamp;
75
+ data.access_token = access_token;
76
+ data.shop_id = shopid;
77
+ data.sign = sign;
78
+ debug('data', data);
79
+ const qs = Object.entries(data)
80
+ .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
81
+ .join('&');
82
+ const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
83
+ method: 'get'
84
+ });
85
+ const result = await response.json();
86
+ try {
87
+ (0, integration_base_1.createPayloadLog)(shopid, endpoint, qs, result, {
88
+ state: { domain: null }
89
+ });
90
+ }
91
+ catch (e) { }
92
+ debug('response result', result);
93
+ return result;
94
+ }
95
+ async postV2(endpoint, data = {}) {
96
+ const { partner_id, shopid, access_token, partner_key } = this.config;
97
+ const timestamp = Math.floor(Date.now() / 1000);
98
+ const sign = crypto_1.default
99
+ .createHmac('sha256', partner_key)
100
+ .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)
101
+ .digest('hex');
102
+ let auth = {
103
+ partner_id: partner_id,
104
+ access_token: access_token,
105
+ shop_id: shopid,
106
+ sign: sign,
107
+ timestamp: timestamp
108
+ };
109
+ const qs = Object.entries(auth)
110
+ .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)
111
+ .join('&');
112
+ const jsondata = JSON.stringify(data);
113
+ debug('data', data);
114
+ const response = await (0, node_fetch_1.default)(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {
115
+ method: 'post',
116
+ body: jsondata,
117
+ headers: {
118
+ 'Content-Type': 'application/json'
119
+ }
120
+ });
121
+ let result;
122
+ if (endpoint == '/logistics/download_shipping_document') {
123
+ try {
124
+ let awb = await response.buffer();
125
+ result = {
126
+ awb,
127
+ data
128
+ };
129
+ }
130
+ catch (_a) {
131
+ result = await response.json();
132
+ }
133
+ }
134
+ else {
135
+ result = await response.json();
136
+ try {
137
+ (0, integration_base_1.createPayloadLog)(shopid, endpoint, jsondata, result, {
138
+ state: { domain: null }
139
+ });
140
+ }
141
+ catch (e) { }
142
+ }
143
+ debug('response result', result);
144
+ return result;
145
+ }
65
146
  }
66
147
  exports.Shopee = Shopee;
67
148
  //# sourceMappingURL=shopee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `&timestamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"shopee.js","sourceRoot":"","sources":["../../../server/controllers/shopee/shopee.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'crypto'\nimport fetch from 'node-fetch'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:integration-marketplace:shopee')\n\nexport type ShopeeConfig = {\n partner_id: number\n partner_key: string\n shopid?: number\n code?: string\n redirect_uri?: string\n webhook_url?: string\n isUAT?: boolean\n access_token?: string\n}\n\nexport class Shopee {\n private config: ShopeeConfig\n\n constructor(config: ShopeeConfig) {\n this.config = {\n ...config\n }\n\n this.config.partner_id = Number(this.config.partner_id)\n }\n\n getBaseUrl() {\n return `https://partner${this.config.isUAT ? '.test-stable' : ''}.shopeemobile.com`\n }\n\n buildAuthURL(isCancel = false) {\n const { partner_key, partner_id, redirect_uri } = this.config\n\n const timestamp = Math.round(new Date().getTime() / 1000)\n\n const authPath = `/api/v2/shop/${isCancel ? 'cancel_auth_partner' : 'auth_partner'}`\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + authPath + timestamp)\n .digest('hex')\n\n let authUrl = `${this.getBaseUrl()}${authPath}`\n authUrl += `?partner_id=${partner_id}`\n authUrl += `&redirect=${redirect_uri}`\n authUrl += `&timestamp=${timestamp}`\n authUrl += `&sign=${sign}`\n\n debug('auth-url', authUrl)\n return authUrl\n }\n\n buildCancelAuthUrl() {\n return this.buildAuthURL(true)\n }\n\n generateAuthorization(path, data) {\n const message = `${this.getBaseUrl() + path}|${data}`\n return crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n }\n\n isValidSignature(params, signature) {\n const message = `${this.config.webhook_url}|${params}`\n const digest = crypto.createHmac('sha256', this.config.partner_key).update(message).digest('hex')\n\n return digest === signature\n }\n\n async post(endpoint, data: any = {}) {\n const { partner_id, shopid } = this.config\n\n data.partner_id = partner_id\n data.timestamp = Math.floor(Date.now() / 1000)\n if (shopid) {\n data.shopid = shopid\n }\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v1/${endpoint}`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: this.generateAuthorization(`/api/v1${endpoint}`, jsondata)\n },\n body: jsondata\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n\n async getV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n data.partner_id = partner_id\n data.timestamp = timestamp\n data.access_token = access_token\n data.shop_id = shopid\n data.sign = sign\n\n debug('data', data)\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'get'\n })\n\n const result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, qs, result, {\n state: { domain: null }\n })\n } catch (e) {}\n debug('response result', result)\n\n return result\n }\n\n async postV2(endpoint, data: any = {}) {\n const { partner_id, shopid, access_token, partner_key } = this.config\n\n const timestamp = Math.floor(Date.now() / 1000)\n const sign = crypto\n .createHmac('sha256', partner_key)\n .update(partner_id + '/api/v2' + endpoint + timestamp + access_token + shopid)\n .digest('hex')\n\n let auth = {\n partner_id: partner_id,\n access_token: access_token,\n shop_id: shopid,\n sign: sign,\n timestamp: timestamp\n }\n\n const qs = Object.entries(auth)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const jsondata = JSON.stringify(data)\n\n debug('data', data)\n\n const response = await fetch(`${this.getBaseUrl()}/api/v2/${endpoint}${qs ? '?' + qs : ''}`, {\n method: 'post',\n body: jsondata,\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n let result\n if (endpoint == '/logistics/download_shipping_document') {\n try {\n let awb = await response.buffer()\n result = {\n awb,\n data\n }\n } catch {\n result = await response.json()\n }\n } else {\n result = await response.json()\n try {\n createPayloadLog(shopid, endpoint, jsondata, result, {\n state: { domain: null }\n })\n } catch (e) {}\n }\n\n debug('response result', result)\n\n return result\n }\n}\n"]}
@@ -7,23 +7,27 @@ function getStoreOrders() {
7
7
  method: 'get',
8
8
  path: '/orders.json',
9
9
  denormalize(req) {
10
- var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {};
10
+ var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {};
11
11
  var { page = 0, limit = 100 } = pagination || {};
12
12
  var payload = {
13
- limit,
14
- status: 'any'
13
+ limit
15
14
  };
16
- if (fromCreatedDate && toCreatedDate) {
15
+ if (nextCursor) {
16
+ payload.page_info = nextCursor;
17
+ }
18
+ if (fromCreatedDate && toCreatedDate && !nextCursor) {
17
19
  var created_at_min = new Date(fromCreatedDate).toISOString();
18
20
  var created_at_max = new Date(toCreatedDate).toISOString();
19
21
  payload.created_at_min = created_at_min;
20
22
  payload.created_at_max = created_at_max;
23
+ payload.status = 'any';
21
24
  }
22
- if (fromUpdatedDate && toUpdatedDate) {
25
+ if (fromUpdatedDate && toUpdatedDate && !nextCursor) {
23
26
  var updated_at_min = new Date(fromUpdatedDate).toISOString();
24
27
  var updated_at_max = new Date(toUpdatedDate).toISOString();
25
28
  payload.updated_at_min = updated_at_min;
26
29
  payload.updated_at_max = updated_at_max;
30
+ payload.status = 'any';
27
31
  }
28
32
  if (lastOrderId)
29
33
  payload.since_id = Number(lastOrderId);
@@ -34,8 +38,10 @@ function getStoreOrders() {
34
38
  // removed item -> fulfillable_quantity = 0
35
39
  const linkParams = res.link;
36
40
  var more = false;
41
+ let nextCursor = null;
37
42
  if (linkParams) {
38
- more = checkNextPage(linkParams);
43
+ more = checkNextPage(linkParams).nextPage;
44
+ nextCursor = checkNextPage(linkParams).nextCursor;
39
45
  }
40
46
  const orderSourceNames = ['pos'];
41
47
  var { orders } = res;
@@ -122,7 +128,9 @@ function getStoreOrders() {
122
128
  variationSku: lineItem.sku,
123
129
  channelSku: lineItem.sku,
124
130
  variationName: lineItem.name,
125
- originalPrice: lineItem.price
131
+ originalPrice: lineItem.price,
132
+ total: lineItem.price,
133
+ subtotal: lineItem.price
126
134
  };
127
135
  lineItems.push(lineItem);
128
136
  }
@@ -136,7 +144,9 @@ function getStoreOrders() {
136
144
  variationSku: lineItem.sku,
137
145
  channelSku: lineItem.sku,
138
146
  variationName: lineItem.name,
139
- originalPrice: lineItem.price
147
+ originalPrice: lineItem.price,
148
+ total: lineItem.price,
149
+ subtotal: lineItem.price
140
150
  };
141
151
  if (lineItem.qty >= 0)
142
152
  lineItems.push(lineItem);
@@ -180,49 +190,54 @@ function getStoreOrders() {
180
190
  let shippingAddress = order === null || order === void 0 ? void 0 : order.shipping_address;
181
191
  let billingAddress = (order === null || order === void 0 ? void 0 : order.billing_address) || shippingAddress;
182
192
  result.shipping = {
183
- address_1: shippingAddress.address1,
184
- address_2: shippingAddress.address2,
185
- address_3: shippingAddress.province,
186
- postcode: shippingAddress.zip,
187
- country: shippingAddress.country_code,
188
- city: shippingAddress.city,
189
- first_name: shippingAddress.first_name,
190
- last_name: shippingAddress.last_name,
191
- phone: shippingAddress.phone,
192
- email: order.email
193
+ address_1: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address1,
194
+ address_2: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.address2,
195
+ address_3: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.province,
196
+ postcode: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.zip,
197
+ country: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country_code,
198
+ city: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city,
199
+ first_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.first_name,
200
+ last_name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.last_name,
201
+ phone: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.phone,
202
+ email: order === null || order === void 0 ? void 0 : order.email
193
203
  };
194
204
  result.billing = {
195
- address_1: billingAddress.address1,
196
- address_2: billingAddress.address2,
197
- address_3: billingAddress.province,
198
- postcode: billingAddress.zip,
199
- country: billingAddress.country_code,
200
- city: billingAddress.city,
201
- first_name: billingAddress.first_name,
202
- last_name: billingAddress.last_name,
203
- phone: billingAddress.phone,
204
- email: order.email
205
+ address_1: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address1,
206
+ address_2: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.address2,
207
+ address_3: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.province,
208
+ postcode: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.zip,
209
+ country: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.country_code,
210
+ city: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.city,
211
+ first_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.first_name,
212
+ last_name: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.last_name,
213
+ phone: billingAddress === null || billingAddress === void 0 ? void 0 : billingAddress.phone,
214
+ email: order === null || order === void 0 ? void 0 : order.email
205
215
  };
206
216
  result.isSOF = true;
207
217
  result.firstName = ((_a = order === null || order === void 0 ? void 0 : order.customer) === null || _a === void 0 ? void 0 : _a.first_name) || '';
208
218
  result.lastName = ((_b = order === null || order === void 0 ? void 0 : order.customer) === null || _b === void 0 ? void 0 : _b.last_name) || '';
219
+ result.sellercraftDisplayOrderNo = order.name;
209
220
  }
210
221
  itemCount = result.orderItems.length;
211
222
  result.itemCount = itemCount;
212
223
  return result;
213
224
  });
214
- return { results, more };
225
+ return { results, more, nextCursor };
215
226
  }
216
227
  };
217
228
  }
218
229
  exports.getStoreOrders = getStoreOrders;
219
230
  function checkNextPage(link) {
220
231
  let nextPage = false;
232
+ let nextCursor = null;
221
233
  // If there's a previous link, remove the first part of the string entirely
222
234
  if (link.indexOf(`rel="next"`) > -1) {
235
+ let nextLink = link.split(' ');
236
+ nextLink = nextLink[nextLink.indexOf(`rel="next"`) - 1];
237
+ nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info');
223
238
  nextPage = true;
224
239
  }
225
- return nextPage;
240
+ return { nextPage, nextCursor };
226
241
  }
227
242
  function getSellercraftStatus(fulfillmentStatus, paymentStatus) {
228
243
  if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&
@@ -1 +1 @@
1
- {"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAE9D,SAAgB,cAAc;IAC5B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YAC3G,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;YAEhD,IAAI,OAAO,GAAQ;gBACjB,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAA;YAED,IAAI,eAAe,IAAI,aAAa,EAAE;gBACpC,IAAI,cAAc,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC5D,IAAI,cAAc,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC1D,OAAO,CAAC,cAAc,GAAG,cAAc,CAAA;gBACvC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAA;aACxC;YAED,IAAI,eAAe,IAAI,aAAa,EAAE;gBACpC,IAAI,cAAc,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC5D,IAAI,cAAc,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC1D,OAAO,CAAC,cAAc,GAAG,cAAc,CAAA;gBACvC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAA;aACxC;YAED,IAAI,WAAW;gBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;YAEvD,OAAO,EAAE,OAAO,EAAE,CAAA;QACpB,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE;YAC5B,oBAAoB;YAEpB,2CAA2C;YAE3C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAA;YAC3B,IAAI,IAAI,GAAY,KAAK,CAAA;YAEzB,IAAI,UAAU,EAAE;gBACd,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;aACjC;YAED,MAAM,gBAAgB,GAAQ,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;YAEpB,MAAM,OAAO,GAAU,MAAM;iBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC5D,GAAG,CAAC,KAAK,CAAC,EAAE;;gBACX,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAA;gBACxB,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAA;gBAClD,MAAM,aAAa,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,KAAI,EAAE,CAAA;gBACnD,IAAI,WAAW,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAA;gBAC3G,IAAI,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;gBAE9E,IAAI,SAAS,GAAW,CAAC,CAAA;gBACzB,IAAI,MAAW,CAAA;gBAEf,IAAI,iBAAiB,IAAI,IAAI,EAAE;oBAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;oBAEzC,MAAM,GAAG;wBACP,IAAI,EAAE,WAAW,CAAC,QAAQ;wBAC1B,OAAO,EAAE,KAAK,CAAC,IAAI;wBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,WAAW,EAAE,KAAK,CAAC,mBAAmB;wBACtC,MAAM,EAAE,KAAK,CAAC,IAAI;wBAClB,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;wBACxD,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;wBACxD,aAAa,EAAE,KAAK,CAAC,eAAe;wBACpC,MAAM,EAAE,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;wBACpE,iBAAiB;wBACjB,UAAU,EAAE,WAAW,CAAC,eAAe;wBACvC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;wBAC9C,gBAAgB,EACd,WAAW,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe;wBAClG,MAAM,EAAE,KAAK,CAAC,aAAa;wBAC3B,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;4BAChD,OAAO;gCACL,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5B,GAAG,EAAE,QAAQ,CAAC,QAAQ;gCACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,SAAS,EAAE,QAAQ,CAAC,KAAK;gCACzB,QAAQ,EAAE,QAAQ,CAAC,EAAE;gCACrB,WAAW,EAAE,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG;gCAC1B,UAAU,EAAE,QAAQ,CAAC,GAAG;gCACxB,aAAa,EAAE,QAAQ,CAAC,IAAI;gCAC5B,aAAa,EAAE,QAAQ,CAAC,KAAK;gCAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;gCACrB,QAAQ,EAAE,QAAQ,CAAC,KAAK;6BACzB,CAAA;wBACH,CAAC,CAAC;qBACH,CAAA;iBACF;qBAAM;oBACL,IAAI,SAAS,GAAG,EAAE,CAAA;oBAElB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO;yBAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBACpB,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAA;wBAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAA;wBAE5B,OAAO,GAAG,CAAA;oBACZ,CAAC,EAAE,EAAE,CAAC;yBACL,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBACpB,IAAI,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC,CAAA;wBAClE,IAAI,GAAG,IAAI,CAAC,EAAE;4BACZ,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAA;yBACnC;6BAAM;4BACL,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;yBACf;wBAED,OAAO,GAAG,CAAA;oBACZ,CAAC,EAAE,EAAE,CAAC,CAAA;oBAER,IAAI,iBAAiB,GAAG,EAAE,CAAA;oBAC1B,IAAI,WAAW,IAAI,WAAW,EAAE;wBAC9B,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAA;qBACrC;yBAAM;wBACL,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA;qBACnF;oBAED,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC/B,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;wBAElF,IAAI,CAAC,eAAe,EAAE;4BACpB,QAAQ,GAAG;gCACT,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5B,GAAG,EAAE,QAAQ,CAAC,QAAQ;gCACtB,SAAS,EAAE,QAAQ,CAAC,KAAK;gCACzB,QAAQ,EAAE,QAAQ,CAAC,EAAE;gCACrB,WAAW,EAAE,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG;gCAC1B,UAAU,EAAE,QAAQ,CAAC,GAAG;gCACxB,aAAa,EAAE,QAAQ,CAAC,IAAI;gCAC5B,aAAa,EAAE,QAAQ,CAAC,KAAK;6BAC9B,CAAA;4BAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;yBACzB;6BAAM;4BACL,QAAQ,GAAG;gCACT,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5B,GAAG,EAAE,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ;gCAClG,SAAS,EAAE,QAAQ,CAAC,KAAK;gCACzB,QAAQ,EAAE,QAAQ,CAAC,EAAE;gCACrB,WAAW,EAAE,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;gCAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG;gCAC1B,UAAU,EAAE,QAAQ,CAAC,GAAG;gCACxB,aAAa,EAAE,QAAQ,CAAC,IAAI;gCAC5B,aAAa,EAAE,QAAQ,CAAC,KAAK;6BAC9B,CAAA;4BAED,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC;gCAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;yBAChD;oBACH,CAAC,CAAC,CAAA;oBAEF,MAAM,GAAG;wBACP,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,KAAK,CAAC,IAAI;wBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,WAAW,EAAE,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB;wBACvF,MAAM,EAAE,KAAK,CAAC,IAAI;wBAClB,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;wBACxD,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;wBACxD,aAAa,EAAE,KAAK,CAAC,eAAe;wBACpC,gBAAgB,EAAE,KAAK,CAAC,eAAe;wBACvC,MAAM,EAAE,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;wBACpE,iBAAiB;wBACjB,MAAM,EAAE,KAAK,CAAC,aAAa;wBAC3B,UAAU,EAAE,SAAS;qBACtB,CAAA;iBACF;gBAED,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAA,EAAE;oBACrD,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,GAAG,EAAE,QAAQ,EACb,IAAI,EACJ,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EAAE,KAAK,EAChB,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAA;oBAE5E,IAAI,aAAa,GAAG;wBAClB,QAAQ;wBACR,QAAQ;wBACR,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,IAAI;wBACZ,QAAQ;wBACR,IAAI;wBACJ,KAAK;wBACL,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;wBAChD,kBAAkB,EAAE,KAAK,CAAC,QAAQ;wBAClC,WAAW,EAAE,GAAG,UAAU,IAAI,SAAS,EAAE;qBAC1C,CAAA;oBAED,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;oBAEpC,iBAAiB;oBAEjB,IAAI,eAAe,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,CAAA;oBAC7C,IAAI,cAAc,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,KAAI,eAAe,CAAA;oBAE9D,MAAM,CAAC,QAAQ,GAAG;wBAChB,SAAS,EAAE,eAAe,CAAC,QAAQ;wBACnC,SAAS,EAAE,eAAe,CAAC,QAAQ;wBACnC,SAAS,EAAE,eAAe,CAAC,QAAQ;wBACnC,QAAQ,EAAE,eAAe,CAAC,GAAG;wBAC7B,OAAO,EAAE,eAAe,CAAC,YAAY;wBACrC,IAAI,EAAE,eAAe,CAAC,IAAI;wBAC1B,UAAU,EAAE,eAAe,CAAC,UAAU;wBACtC,SAAS,EAAE,eAAe,CAAC,SAAS;wBACpC,KAAK,EAAE,eAAe,CAAC,KAAK;wBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAA;oBACD,MAAM,CAAC,OAAO,GAAG;wBACf,SAAS,EAAE,cAAc,CAAC,QAAQ;wBAClC,SAAS,EAAE,cAAc,CAAC,QAAQ;wBAClC,SAAS,EAAE,cAAc,CAAC,QAAQ;wBAClC,QAAQ,EAAE,cAAc,CAAC,GAAG;wBAC5B,OAAO,EAAE,cAAc,CAAC,YAAY;wBACpC,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,UAAU,EAAE,cAAc,CAAC,UAAU;wBACrC,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAA;oBACD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;oBACnB,MAAM,CAAC,SAAS,GAAG,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,UAAU,KAAI,EAAE,CAAA;oBACpD,MAAM,CAAC,QAAQ,GAAG,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,SAAS,KAAI,EAAE,CAAA;iBACnD;gBAED,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;gBACpC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;gBAE5B,OAAO,MAAM,CAAA;YACf,CAAC,CAAC,CAAA;YAEJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC;AAvPD,wCAuPC;AAED,SAAS,aAAa,CAAC,IAAI;IACzB,IAAI,QAAQ,GAAY,KAAK,CAAA;IAE7B,2EAA2E;IAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;QACnC,QAAQ,GAAG,IAAI,CAAA;KAChB;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,iBAAiB,EAAE,aAAa;IAC5D,IACE,CAAC,iBAAiB,IAAI,aAAa,IAAI,CAAC,iBAAiB,CAAC;QAC1D,CAAC,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,QAAQ,CAAC;QAEzD,OAAO,iBAAiB,CAAA;IAC1B,IAAI,CAAC,iBAAiB,IAAI,aAAa,IAAI,CAAC,iBAAiB,CAAC,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,YAAY,CAAA;IAC9G,IAAI,iBAAiB,IAAI,WAAW,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,SAAS,CAAA;IACjF,IAAI,aAAa,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IAClD,IAAI,aAAa,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAA;IACjD,IAAI,aAAa,IAAI,SAAS;QAAE,OAAO,WAAW,CAAA;AACpD,CAAC","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit,\n status: 'any'\n }\n\n if (fromCreatedDate && toCreatedDate) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n }\n\n if (fromUpdatedDate && toUpdatedDate) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n\n if (linkParams) {\n more = checkNextPage(linkParams)\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress.address1,\n address_2: shippingAddress.address2,\n address_3: shippingAddress.province,\n postcode: shippingAddress.zip,\n country: shippingAddress.country_code,\n city: shippingAddress.city,\n first_name: shippingAddress.first_name,\n last_name: shippingAddress.last_name,\n phone: shippingAddress.phone,\n email: order.email\n }\n result.billing = {\n address_1: billingAddress.address1,\n address_2: billingAddress.address2,\n address_3: billingAddress.province,\n postcode: billingAddress.zip,\n country: billingAddress.country_code,\n city: billingAddress.city,\n first_name: billingAddress.first_name,\n last_name: billingAddress.last_name,\n phone: billingAddress.phone,\n email: order.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n nextPage = true\n }\n\n return nextPage\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}
1
+ {"version":3,"file":"get-store-orders.js","sourceRoot":"","sources":["../../../../server/controllers/shopify/apis/get-store-orders.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://open.shopee.com/documents?module=4&type=1&id=399 */\n\nexport function getStoreOrders() {\n return {\n method: 'get',\n path: '/orders.json',\n denormalize(req) {\n var { pagination, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, lastOrderId, nextCursor } = req || {}\n var { page = 0, limit = 100 } = pagination || {}\n\n var payload: any = {\n limit\n }\n\n if (nextCursor) {\n payload.page_info = nextCursor\n }\n\n if (fromCreatedDate && toCreatedDate && !nextCursor) {\n var created_at_min = new Date(fromCreatedDate).toISOString()\n var created_at_max = new Date(toCreatedDate).toISOString()\n payload.created_at_min = created_at_min\n payload.created_at_max = created_at_max\n payload.status = 'any'\n }\n\n if (fromUpdatedDate && toUpdatedDate && !nextCursor) {\n var updated_at_min = new Date(fromUpdatedDate).toISOString()\n var updated_at_max = new Date(toUpdatedDate).toISOString()\n payload.updated_at_min = updated_at_min\n payload.updated_at_max = updated_at_max\n payload.status = 'any'\n }\n\n if (lastOrderId) payload.since_id = Number(lastOrderId)\n\n return { payload }\n },\n async normalize(res, { store }) {\n // return res.orders\n\n // removed item -> fulfillable_quantity = 0\n\n const linkParams = res.link\n var more: boolean = false\n let nextCursor: any = null\n\n if (linkParams) {\n more = checkNextPage(linkParams).nextPage\n nextCursor = checkNextPage(linkParams).nextCursor\n }\n\n const orderSourceNames: any = ['pos']\n var { orders } = res\n\n const results: any[] = orders\n .filter(item => !orderSourceNames.includes(item.source_name))\n .map(order => {\n const orderId = order.id\n const fulfillmentStatus = order.fulfillment_status\n const paymentStatus = order?.financial_status || ''\n let orderStatus = order?.cancelled_at ? 'cancelled' : fulfillmentStatus ? fulfillmentStatus : 'unfulfilled'\n let sellercraftStatus = getSellercraftStatus(fulfillmentStatus, paymentStatus)\n\n let itemCount: Number = 0\n let result: any\n\n if (fulfillmentStatus != null) {\n const fulfillment = order.fulfillments[0]\n\n result = {\n name: fulfillment.order_id,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n trackingNo: fulfillment.tracking_number,\n shippingProvider: fulfillment.tracking_company,\n recipientAddress:\n fulfillment.billing_address == null ? fulfillment.shipping_address : fulfillment.billing_address,\n reason: order.cancel_reason,\n orderItems: fulfillment.line_items.map(lineItem => {\n return {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n status: lineItem.status,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n })\n }\n } else {\n let lineItems = []\n\n const refundItems = order.refunds\n .reduce((acc, curr) => {\n const refundLineItems = curr.refund_line_items\n acc.push(...refundLineItems)\n\n return acc\n }, [])\n .reduce((acc, curr) => {\n let sum = acc.findIndex(x => x.line_item_id === curr.line_item_id)\n if (sum >= 0) {\n acc[sum].quantity += curr.quantity\n } else {\n acc.push(curr)\n }\n\n return acc\n }, [])\n\n let filteredLineItems = []\n if (orderStatus == 'cancelled') {\n filteredLineItems = order.line_items\n } else {\n filteredLineItems = order.line_items.filter(item => item.fulfillable_quantity > 0)\n }\n\n filteredLineItems.map(lineItem => {\n const matchedLineItem = refundItems.find(item => item.line_item_id == lineItem.id)\n\n if (!matchedLineItem) {\n lineItem = {\n name: lineItem.id.toString(),\n qty: lineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n lineItems.push(lineItem)\n } else {\n lineItem = {\n name: lineItem.id.toString(),\n qty: orderStatus == 'cancelled' ? lineItem.quantity : lineItem.quantity - matchedLineItem.quantity,\n paidPrice: lineItem.price,\n docRefNo: lineItem.id,\n variationId: lineItem.product_exists === true ? lineItem.variant_id : lineItem.id.toString(),\n variationSku: lineItem.sku,\n channelSku: lineItem.sku,\n variationName: lineItem.name,\n originalPrice: lineItem.price,\n total: lineItem.price,\n subtotal: lineItem.price\n }\n\n if (lineItem.qty >= 0) lineItems.push(lineItem)\n }\n })\n\n result = {\n name: orderId,\n orderNo: order.name,\n currency: order.currency,\n totalAmount: orderStatus == 'cancelled' ? order.total_price : order.current_total_price,\n remark: order.note,\n orderCreatedAt: new Date(order.created_at).toUTCString(),\n orderUpdatedAt: new Date(order.updated_at).toUTCString(),\n discountValue: order.total_discounts,\n recipientAddress: order.billing_address,\n status: order.financial_status == 'pending' ? 'unpaid' : orderStatus,\n sellercraftStatus,\n reason: order.cancel_reason,\n orderItems: lineItems\n }\n }\n\n if (order?.shipping_address || order?.billing_address) {\n const {\n address1,\n address2,\n phone,\n zip: postCode,\n city,\n country,\n first_name,\n last_name,\n province: state\n } = order?.shipping_address ? order.shipping_address : order.billing_address\n\n var orderShipping = {\n address1,\n address2,\n address3: null,\n address4: null,\n address5: null,\n phone1: phone,\n phone2: null,\n postCode,\n city,\n state,\n country: country === 'MY' ? 'Malaysia' : country,\n collectionCurrency: order.currency,\n attentionTo: `${first_name} ${last_name}`\n }\n\n result.orderShipping = orderShipping\n\n // For SC mapping\n\n let shippingAddress = order?.shipping_address\n let billingAddress = order?.billing_address || shippingAddress\n\n result.shipping = {\n address_1: shippingAddress?.address1,\n address_2: shippingAddress?.address2,\n address_3: shippingAddress?.province,\n postcode: shippingAddress?.zip,\n country: shippingAddress?.country_code,\n city: shippingAddress?.city,\n first_name: shippingAddress?.first_name,\n last_name: shippingAddress?.last_name,\n phone: shippingAddress?.phone,\n email: order?.email\n }\n result.billing = {\n address_1: billingAddress?.address1,\n address_2: billingAddress?.address2,\n address_3: billingAddress?.province,\n postcode: billingAddress?.zip,\n country: billingAddress?.country_code,\n city: billingAddress?.city,\n first_name: billingAddress?.first_name,\n last_name: billingAddress?.last_name,\n phone: billingAddress?.phone,\n email: order?.email\n }\n result.isSOF = true\n result.firstName = order?.customer?.first_name || ''\n result.lastName = order?.customer?.last_name || ''\n result.sellercraftDisplayOrderNo = order.name\n }\n\n itemCount = result.orderItems.length\n result.itemCount = itemCount\n\n return result\n })\n\n return { results, more, nextCursor }\n }\n }\n}\n\nfunction checkNextPage(link) {\n let nextPage: boolean = false\n let nextCursor = null\n\n // If there's a previous link, remove the first part of the string entirely\n if (link.indexOf(`rel=\"next\"`) > -1) {\n let nextLink = link.split(' ')\n nextLink = nextLink[nextLink.indexOf(`rel=\"next\"`)-1]\n nextCursor = new URLSearchParams(nextLink.substring(nextLink.indexOf('<') + 1, nextLink.lastIndexOf('>'))).get('page_info')\n nextPage = true\n }\n\n return { nextPage, nextCursor }\n}\n\nfunction getSellercraftStatus(fulfillmentStatus, paymentStatus) {\n if (\n (fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) &&\n (paymentStatus == 'pending' || paymentStatus == 'unpaid')\n )\n return 'payment_pending'\n if ((fulfillmentStatus == 'unfulfilled' || !fulfillmentStatus) && paymentStatus == 'paid') return 'processing'\n if (fulfillmentStatus == 'fulfilled' && paymentStatus == 'paid') return 'shipped'\n if (paymentStatus == 'refunded') return 'refunded'\n if (paymentStatus == 'voided') return 'cancelled'\n if (paymentStatus == 'overdue') return 'cancelled'\n}\n"]}