@things-factory/integration-marketplace 8.0.0-beta.9 → 8.0.2

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 (318) hide show
  1. package/dist-server/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +14 -14
  3. package/server/controllers/index.ts +9 -0
  4. package/server/controllers/lazada/apis/cancel-store-order.ts +19 -0
  5. package/server/controllers/lazada/apis/create-store-product.ts +55 -0
  6. package/server/controllers/lazada/apis/delete-store-product.ts +16 -0
  7. package/server/controllers/lazada/apis/echo.ts +14 -0
  8. package/server/controllers/lazada/apis/get-store-logistics.ts +21 -0
  9. package/server/controllers/lazada/apis/get-store-order-document.ts +25 -0
  10. package/server/controllers/lazada/apis/get-store-order-item-transaction-details.ts +65 -0
  11. package/server/controllers/lazada/apis/get-store-order-items.ts +179 -0
  12. package/server/controllers/lazada/apis/get-store-order.ts +87 -0
  13. package/server/controllers/lazada/apis/get-store-orders.ts +127 -0
  14. package/server/controllers/lazada/apis/get-store-product-brands.ts +27 -0
  15. package/server/controllers/lazada/apis/get-store-product-categories.ts +14 -0
  16. package/server/controllers/lazada/apis/get-store-product-category-attributes.ts +16 -0
  17. package/server/controllers/lazada/apis/get-store-product.ts +42 -0
  18. package/server/controllers/lazada/apis/get-store-products.ts +84 -0
  19. package/server/controllers/lazada/apis/get-store-refund-orders.ts +52 -0
  20. package/server/controllers/lazada/apis/index.ts +24 -0
  21. package/server/controllers/lazada/apis/set-order-invoice-no.ts +24 -0
  22. package/server/controllers/lazada/apis/set-store-order-status-delivered.ts +17 -0
  23. package/server/controllers/lazada/apis/set-store-order-status-failed-delivery.ts +17 -0
  24. package/server/controllers/lazada/apis/set-store-order-status-packed-by-marketplace.ts +46 -0
  25. package/server/controllers/lazada/apis/set-store-order-status-ready-to-ship.ts +28 -0
  26. package/server/controllers/lazada/apis/update-store-product-stock.ts +29 -0
  27. package/server/controllers/lazada/apis/update-store-product-variation-stock.ts +29 -0
  28. package/server/controllers/lazada/apis/update-store-product.ts +51 -0
  29. package/server/controllers/lazada/client/index.ts +3 -0
  30. package/server/controllers/lazada/client/lazada.ts +142 -0
  31. package/server/controllers/lazada/client/signature.ts +67 -0
  32. package/server/controllers/lazada/client/types.ts +30 -0
  33. package/server/controllers/lazada/client/xml.ts +24 -0
  34. package/server/controllers/lazada/index.ts +8 -0
  35. package/server/controllers/lazada/platform-action.ts +35 -0
  36. package/server/controllers/magento/apis/create-order-comment.ts +32 -0
  37. package/server/controllers/magento/apis/create-order-refund.ts +20 -0
  38. package/server/controllers/magento/apis/create-order-ship.ts +43 -0
  39. package/server/controllers/magento/apis/echo.ts +14 -0
  40. package/server/controllers/magento/apis/get-store-order.ts +15 -0
  41. package/server/controllers/magento/apis/get-store-orders.ts +159 -0
  42. package/server/controllers/magento/apis/get-store-product-categories.ts +43 -0
  43. package/server/controllers/magento/apis/get-store-product-variations.ts +17 -0
  44. package/server/controllers/magento/apis/get-store-product.ts +44 -0
  45. package/server/controllers/magento/apis/get-store-products.ts +120 -0
  46. package/server/controllers/magento/apis/get-store-stock-item.ts +66 -0
  47. package/server/controllers/magento/apis/index.ts +16 -0
  48. package/server/controllers/magento/apis/update-order-status.ts +56 -0
  49. package/server/controllers/magento/apis/update-store-product-price.ts +24 -0
  50. package/server/controllers/magento/apis/update-store-product-stock.ts +42 -0
  51. package/server/controllers/magento/apis/update-store-product-variation-price.ts +24 -0
  52. package/server/controllers/magento/apis/update-store-product-variation-stock.ts +42 -0
  53. package/server/controllers/magento/index.ts +8 -0
  54. package/server/controllers/magento/magento.ts +202 -0
  55. package/server/controllers/magento/platform-action.ts +44 -0
  56. package/server/controllers/shopee/apis/accept-store-order-cancellation.ts +22 -0
  57. package/server/controllers/shopee/apis/cancel-store-order.ts +25 -0
  58. package/server/controllers/shopee/apis/create-store-product-variations.ts +33 -0
  59. package/server/controllers/shopee/apis/create-store-product.ts +57 -0
  60. package/server/controllers/shopee/apis/delete-store-product.ts +19 -0
  61. package/server/controllers/shopee/apis/echo.ts +14 -0
  62. package/server/controllers/shopee/apis/get-address.ts +32 -0
  63. package/server/controllers/shopee/apis/get-branch-list.ts +30 -0
  64. package/server/controllers/shopee/apis/get-logistics-param.ts +71 -0
  65. package/server/controllers/shopee/apis/get-store-logistics.ts +21 -0
  66. package/server/controllers/shopee/apis/get-store-order-document.ts +27 -0
  67. package/server/controllers/shopee/apis/get-store-order-items.ts +47 -0
  68. package/server/controllers/shopee/apis/get-store-order-payout-dates.ts +29 -0
  69. package/server/controllers/shopee/apis/get-store-order-transaction-details.ts +29 -0
  70. package/server/controllers/shopee/apis/get-store-order.ts +136 -0
  71. package/server/controllers/shopee/apis/get-store-orders.ts +39 -0
  72. package/server/controllers/shopee/apis/get-store-product-categories.ts +19 -0
  73. package/server/controllers/shopee/apis/get-store-product-category-attributes.ts +18 -0
  74. package/server/controllers/shopee/apis/get-store-product.ts +84 -0
  75. package/server/controllers/shopee/apis/get-store-products.ts +30 -0
  76. package/server/controllers/shopee/apis/get-store-refund-order-details.ts +41 -0
  77. package/server/controllers/shopee/apis/get-store-refund-orders.ts +47 -0
  78. package/server/controllers/shopee/apis/get-time-slot.ts +25 -0
  79. package/server/controllers/shopee/apis/index.ts +30 -0
  80. package/server/controllers/shopee/apis/init-logistics.ts +39 -0
  81. package/server/controllers/shopee/apis/reject-store-order-cancellation.ts +22 -0
  82. package/server/controllers/shopee/apis/split-order.ts +44 -0
  83. package/server/controllers/shopee/apis/update-store-product-stock.ts +24 -0
  84. package/server/controllers/shopee/apis/update-store-product-variation-stock.ts +21 -0
  85. package/server/controllers/shopee/apis/update-store-product.ts +85 -0
  86. package/server/controllers/shopee/apis2/create-shipping-document.ts +27 -0
  87. package/server/controllers/shopee/apis2/echo.ts +14 -0
  88. package/server/controllers/shopee/apis2/get-logistics-param.ts +66 -0
  89. package/server/controllers/shopee/apis2/get-shipping-document-result.ts +21 -0
  90. package/server/controllers/shopee/apis2/get-store-logistics.ts +23 -0
  91. package/server/controllers/shopee/apis2/get-store-order-by-batch.ts +97 -0
  92. package/server/controllers/shopee/apis2/get-store-order-document.ts +39 -0
  93. package/server/controllers/shopee/apis2/get-store-order-payout-dates.ts +33 -0
  94. package/server/controllers/shopee/apis2/get-store-order-transaction-details.ts +28 -0
  95. package/server/controllers/shopee/apis2/get-store-order.ts +93 -0
  96. package/server/controllers/shopee/apis2/get-store-orders.ts +40 -0
  97. package/server/controllers/shopee/apis2/get-store-product-variations.ts +17 -0
  98. package/server/controllers/shopee/apis2/get-store-product.ts +105 -0
  99. package/server/controllers/shopee/apis2/get-store-products.ts +28 -0
  100. package/server/controllers/shopee/apis2/get-store-refund-order-details.ts +39 -0
  101. package/server/controllers/shopee/apis2/get-store-refund-orders.ts +37 -0
  102. package/server/controllers/shopee/apis2/get-tracking-number.ts +17 -0
  103. package/server/controllers/shopee/apis2/index.ts +20 -0
  104. package/server/controllers/shopee/apis2/init-logistics.ts +39 -0
  105. package/server/controllers/shopee/apis2/update-store-product-stock.ts +26 -0
  106. package/server/controllers/shopee/apis2/update-store-product-variation-stock.ts +28 -0
  107. package/server/controllers/shopee/index.ts +16 -0
  108. package/server/controllers/shopee/platform-action.ts +58 -0
  109. package/server/controllers/shopee/refresh-access-token.ts +78 -0
  110. package/server/controllers/shopee/shopee.ts +191 -0
  111. package/server/controllers/shopify/apis/echo.ts +14 -0
  112. package/server/controllers/shopify/apis/get-airway-bill.ts +17 -0
  113. package/server/controllers/shopify/apis/get-inventory-level.ts +17 -0
  114. package/server/controllers/shopify/apis/get-store-order.ts +172 -0
  115. package/server/controllers/shopify/apis/get-store-orders.ts +290 -0
  116. package/server/controllers/shopify/apis/get-store-product-categories.ts +19 -0
  117. package/server/controllers/shopify/apis/get-store-product-category-attributes.ts +18 -0
  118. package/server/controllers/shopify/apis/get-store-product-variation-stock.ts +17 -0
  119. package/server/controllers/shopify/apis/get-store-products-count.ts +14 -0
  120. package/server/controllers/shopify/apis/get-store-products.ts +177 -0
  121. package/server/controllers/shopify/apis/index.ts +13 -0
  122. package/server/controllers/shopify/apis/set-store-order-status-ready-to-ship.ts +31 -0
  123. package/server/controllers/shopify/apis/update-order-status.ts +32 -0
  124. package/server/controllers/shopify/apis/update-store-product-price.ts +26 -0
  125. package/server/controllers/shopify/apis/update-store-product-stock.ts +20 -0
  126. package/server/controllers/shopify/apis/update-store-product-variation-price.ts +26 -0
  127. package/server/controllers/shopify/apis/update-store-product-variation-stock.ts +20 -0
  128. package/server/controllers/shopify/index.ts +8 -0
  129. package/server/controllers/shopify/platform-action.ts +43 -0
  130. package/server/controllers/shopify/shopify.ts +148 -0
  131. package/server/controllers/store-api/decorators.ts +44 -0
  132. package/server/controllers/store-api/index.ts +209 -0
  133. package/server/controllers/store-api/types.ts +0 -0
  134. package/server/controllers/tiktok/apis/echo.ts +14 -0
  135. package/server/controllers/tiktok/apis/get-store-order-document.ts +26 -0
  136. package/server/controllers/tiktok/apis/get-store-order-package.ts +46 -0
  137. package/server/controllers/tiktok/apis/get-store-order-packages.ts +43 -0
  138. package/server/controllers/tiktok/apis/get-store-order.ts +176 -0
  139. package/server/controllers/tiktok/apis/get-store-orders.ts +55 -0
  140. package/server/controllers/tiktok/apis/get-store-product-attributes.ts +29 -0
  141. package/server/controllers/tiktok/apis/get-store-product-categories.ts +27 -0
  142. package/server/controllers/tiktok/apis/get-store-product.ts +95 -0
  143. package/server/controllers/tiktok/apis/get-store-products.ts +45 -0
  144. package/server/controllers/tiktok/apis/index.ts +13 -0
  145. package/server/controllers/tiktok/apis/update-order-status.ts +24 -0
  146. package/server/controllers/tiktok/apis/update-store-product-variation-price.ts +24 -0
  147. package/server/controllers/tiktok/apis/update-store-product-variation-stock.ts +28 -0
  148. package/server/controllers/tiktok/client/index.ts +2 -0
  149. package/server/controllers/tiktok/client/signature.ts +78 -0
  150. package/server/controllers/tiktok/client/tiktok.ts +150 -0
  151. package/server/controllers/tiktok/client/types.ts +20 -0
  152. package/server/controllers/tiktok/index.ts +8 -0
  153. package/server/controllers/tiktok/platform-action.ts +72 -0
  154. package/server/controllers/woocommerce/apis/create-order-note.ts +17 -0
  155. package/server/controllers/woocommerce/apis/echo.ts +14 -0
  156. package/server/controllers/woocommerce/apis/get-customer-info.ts +18 -0
  157. package/server/controllers/woocommerce/apis/get-store-order.ts +116 -0
  158. package/server/controllers/woocommerce/apis/get-store-orders.ts +190 -0
  159. package/server/controllers/woocommerce/apis/get-store-product-categories.ts +18 -0
  160. package/server/controllers/woocommerce/apis/get-store-product-variations.ts +16 -0
  161. package/server/controllers/woocommerce/apis/get-store-products.ts +135 -0
  162. package/server/controllers/woocommerce/apis/index.ts +19 -0
  163. package/server/controllers/woocommerce/apis/set-store-order-status-ready-to-ship.ts +17 -0
  164. package/server/controllers/woocommerce/apis/update-order-status.ts +40 -0
  165. package/server/controllers/woocommerce/apis/update-product-attribute.ts +20 -0
  166. package/server/controllers/woocommerce/apis/update-store-product-price.ts +20 -0
  167. package/server/controllers/woocommerce/apis/update-store-product-stock.ts +17 -0
  168. package/server/controllers/woocommerce/apis/update-store-product-variant-price.ts +17 -0
  169. package/server/controllers/woocommerce/apis/update-store-product-variant-stock.ts +18 -0
  170. package/server/controllers/woocommerce/apis/update-store-product-variation-price.ts +20 -0
  171. package/server/controllers/woocommerce/apis/update-store-product-variation-stock.ts +20 -0
  172. package/server/controllers/woocommerce/index.ts +8 -0
  173. package/server/controllers/woocommerce/platform-action.ts +48 -0
  174. package/server/controllers/woocommerce/woocommerce.ts +104 -0
  175. package/server/controllers/zalora/apis/echo.ts +14 -0
  176. package/server/controllers/zalora/apis/get-airway-bill.ts +17 -0
  177. package/server/controllers/zalora/apis/get-store-order-items.ts +17 -0
  178. package/server/controllers/zalora/apis/get-store-order.ts +17 -0
  179. package/server/controllers/zalora/apis/get-store-orders.ts +21 -0
  180. package/server/controllers/zalora/apis/get-store-product-categories.ts +20 -0
  181. package/server/controllers/zalora/apis/get-store-product-category-attributes.ts +18 -0
  182. package/server/controllers/zalora/apis/get-store-products.ts +20 -0
  183. package/server/controllers/zalora/apis/index.ts +8 -0
  184. package/server/controllers/zalora/index.ts +8 -0
  185. package/server/controllers/zalora/platform-action.ts +18 -0
  186. package/server/controllers/zalora/zalora/index.ts +70 -0
  187. package/server/controllers/zalora/zalora/signature.ts +37 -0
  188. package/server/controllers/zalora/zalora/xml.ts +24 -0
  189. package/server/engine/connector/index.ts +3 -0
  190. package/server/engine/connector/lazada-connector.ts +49 -0
  191. package/server/engine/connector/marketplace-connector.ts +33 -0
  192. package/server/engine/connector/shopee-connector.ts +46 -0
  193. package/server/engine/index.ts +2 -0
  194. package/server/engine/task/index.ts +4 -0
  195. package/server/engine/task/lazada-get.ts +48 -0
  196. package/server/engine/task/lazada-post.ts +46 -0
  197. package/server/engine/task/marketplace-api.ts +72 -0
  198. package/server/engine/task/shopee-post.ts +51 -0
  199. package/server/entities/index.ts +8 -0
  200. package/server/entities/marketplace-distributor.ts +42 -0
  201. package/server/entities/marketplace-setting.ts +49 -0
  202. package/server/entities/marketplace-store.ts +100 -0
  203. package/server/entities/marketplace-transporter.ts +46 -0
  204. package/server/graphql/constants/index.ts +1 -0
  205. package/server/graphql/constants/store.ts +5 -0
  206. package/server/graphql/index.ts +9 -0
  207. package/server/graphql/resolvers/index.ts +6 -0
  208. package/server/graphql/resolvers/marketplace-distributor/create-marketplace-distributor.ts +15 -0
  209. package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributor.ts +13 -0
  210. package/server/graphql/resolvers/marketplace-distributor/delete-marketplace-distributors.ts +18 -0
  211. package/server/graphql/resolvers/marketplace-distributor/index.ts +19 -0
  212. package/server/graphql/resolvers/marketplace-distributor/marketplace-distributor-query.ts +57 -0
  213. package/server/graphql/resolvers/marketplace-distributor/update-marketplace-distributor.ts +22 -0
  214. package/server/graphql/resolvers/marketplace-distributor/update-multiple-marketplace-distributor.ts +49 -0
  215. package/server/graphql/resolvers/marketplace-setting/create-marketplace-setting.ts +16 -0
  216. package/server/graphql/resolvers/marketplace-setting/delete-marketplace-setting.ts +13 -0
  217. package/server/graphql/resolvers/marketplace-setting/delete-marketplace-settings.ts +18 -0
  218. package/server/graphql/resolvers/marketplace-setting/index.ts +19 -0
  219. package/server/graphql/resolvers/marketplace-setting/marketplace-setting-query.ts +56 -0
  220. package/server/graphql/resolvers/marketplace-setting/update-marketplace-setting.ts +32 -0
  221. package/server/graphql/resolvers/marketplace-setting/update-multiple-marketplace-setting.ts +49 -0
  222. package/server/graphql/resolvers/marketplace-store/create-marketplace-store.ts +20 -0
  223. package/server/graphql/resolvers/marketplace-store/delete-marketplace-store.ts +21 -0
  224. package/server/graphql/resolvers/marketplace-store/delete-marketplace-stores.ts +26 -0
  225. package/server/graphql/resolvers/marketplace-store/index.ts +40 -0
  226. package/server/graphql/resolvers/marketplace-store/lazada/deactivate-lazada-store.ts +28 -0
  227. package/server/graphql/resolvers/marketplace-store/lazada/generate-lazada-access-token.ts +61 -0
  228. package/server/graphql/resolvers/marketplace-store/lazada/get-lazada-auth-url.ts +9 -0
  229. package/server/graphql/resolvers/marketplace-store/lazada/index.ts +12 -0
  230. package/server/graphql/resolvers/marketplace-store/magento/activate-magento-store.ts +82 -0
  231. package/server/graphql/resolvers/marketplace-store/magento/deactivate-magento-store.ts +27 -0
  232. package/server/graphql/resolvers/marketplace-store/magento/get-magento-auth-url.ts +12 -0
  233. package/server/graphql/resolvers/marketplace-store/magento/index.ts +12 -0
  234. package/server/graphql/resolvers/marketplace-store/marketplace-store.ts +14 -0
  235. package/server/graphql/resolvers/marketplace-store/marketplace-stores.ts +18 -0
  236. package/server/graphql/resolvers/marketplace-store/shopee/deactivate-shopee-store.ts +28 -0
  237. package/server/graphql/resolvers/marketplace-store/shopee/generate-shopee-access-token.ts +96 -0
  238. package/server/graphql/resolvers/marketplace-store/shopee/get-shopee-auth-url.ts +18 -0
  239. package/server/graphql/resolvers/marketplace-store/shopee/index.ts +13 -0
  240. package/server/graphql/resolvers/marketplace-store/shopify/deactivate-shopify-store.ts +29 -0
  241. package/server/graphql/resolvers/marketplace-store/shopify/get-shopify-auth-url.ts +26 -0
  242. package/server/graphql/resolvers/marketplace-store/shopify/index.ts +11 -0
  243. package/server/graphql/resolvers/marketplace-store/update-marketplace-store.ts +19 -0
  244. package/server/graphql/resolvers/marketplace-store/update-multiple-marketplace-store.ts +46 -0
  245. package/server/graphql/resolvers/marketplace-store/woocommerce/deactivate-woocommerce-store.ts +20 -0
  246. package/server/graphql/resolvers/marketplace-store/woocommerce/get-woocommerce-auth-url.ts +14 -0
  247. package/server/graphql/resolvers/marketplace-store/woocommerce/index.ts +10 -0
  248. package/server/graphql/resolvers/marketplace-store/zalora/deactivate-zalora-store.ts +28 -0
  249. package/server/graphql/resolvers/marketplace-store/zalora/generate-zalora-access-token.ts +55 -0
  250. package/server/graphql/resolvers/marketplace-store/zalora/index.ts +9 -0
  251. package/server/graphql/resolvers/marketplace-transporter/create-marketplace-transporter.ts +21 -0
  252. package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporter.ts +13 -0
  253. package/server/graphql/resolvers/marketplace-transporter/delete-marketplace-transporters.ts +18 -0
  254. package/server/graphql/resolvers/marketplace-transporter/index.ts +19 -0
  255. package/server/graphql/resolvers/marketplace-transporter/marketplace-transporter-query.ts +60 -0
  256. package/server/graphql/resolvers/marketplace-transporter/update-marketplace-transporter.ts +25 -0
  257. package/server/graphql/resolvers/marketplace-transporter/update-multiple-marketplace-transporter.ts +49 -0
  258. package/server/graphql/resolvers/store-order/accept-store-order-cancellation.ts +9 -0
  259. package/server/graphql/resolvers/store-order/cancel-store-order.ts +8 -0
  260. package/server/graphql/resolvers/store-order/get-store-order-document.ts +8 -0
  261. package/server/graphql/resolvers/store-order/get-store-order-items.ts +8 -0
  262. package/server/graphql/resolvers/store-order/get-store-order.ts +8 -0
  263. package/server/graphql/resolvers/store-order/get-store-orders.ts +13 -0
  264. package/server/graphql/resolvers/store-order/index.ts +23 -0
  265. package/server/graphql/resolvers/store-order/reject-store-order-cancellation.ts +9 -0
  266. package/server/graphql/resolvers/store-order/set-store-order-status-packed-by-marketplace.ts +9 -0
  267. package/server/graphql/resolvers/store-order/set-store-order-status-ready-to-ship.ts +10 -0
  268. package/server/graphql/resolvers/store-product/create-store-product-variations.ts +9 -0
  269. package/server/graphql/resolvers/store-product/create-store-product.ts +8 -0
  270. package/server/graphql/resolvers/store-product/delete-store-product.ts +8 -0
  271. package/server/graphql/resolvers/store-product/get-store-product-brands.ts +14 -0
  272. package/server/graphql/resolvers/store-product/get-store-product-categories.ts +8 -0
  273. package/server/graphql/resolvers/store-product/get-store-product-category-attributes.ts +11 -0
  274. package/server/graphql/resolvers/store-product/get-store-product.ts +8 -0
  275. package/server/graphql/resolvers/store-product/get-store-products.ts +13 -0
  276. package/server/graphql/resolvers/store-product/index.ts +25 -0
  277. package/server/graphql/resolvers/store-product/update-store-product.ts +8 -0
  278. package/server/graphql/types/index.ts +6 -0
  279. package/server/graphql/types/marketplace-distributor/index.ts +26 -0
  280. package/server/graphql/types/marketplace-distributor/marketplace-distributor-list.ts +8 -0
  281. package/server/graphql/types/marketplace-distributor/marketplace-distributor-patch.ts +11 -0
  282. package/server/graphql/types/marketplace-distributor/marketplace-distributor.ts +16 -0
  283. package/server/graphql/types/marketplace-distributor/new-marketplace-distributor.ts +9 -0
  284. package/server/graphql/types/marketplace-setting/index.ts +22 -0
  285. package/server/graphql/types/marketplace-setting/marketplace-setting-list.ts +8 -0
  286. package/server/graphql/types/marketplace-setting/marketplace-setting-patch.ts +12 -0
  287. package/server/graphql/types/marketplace-setting/marketplace-setting.ts +17 -0
  288. package/server/graphql/types/marketplace-setting/new-marketplace-setting.ts +11 -0
  289. package/server/graphql/types/marketplace-store/index.ts +38 -0
  290. package/server/graphql/types/marketplace-store/marketplace-store-list.ts +8 -0
  291. package/server/graphql/types/marketplace-store/marketplace-store-patch.ts +21 -0
  292. package/server/graphql/types/marketplace-store/marketplace-store.ts +28 -0
  293. package/server/graphql/types/marketplace-store/new-marketplace-store.ts +19 -0
  294. package/server/graphql/types/marketplace-transporter/index.ts +24 -0
  295. package/server/graphql/types/marketplace-transporter/marketplace-transporter-list.ts +8 -0
  296. package/server/graphql/types/marketplace-transporter/marketplace-transporter-patch.ts +13 -0
  297. package/server/graphql/types/marketplace-transporter/marketplace-transporter.ts +17 -0
  298. package/server/graphql/types/marketplace-transporter/new-marketplace-transporter.ts +11 -0
  299. package/server/graphql/types/store-order/index.ts +23 -0
  300. package/server/graphql/types/store-order/new-store-order.ts +8 -0
  301. package/server/graphql/types/store-order/store-order-list.ts +8 -0
  302. package/server/graphql/types/store-order/store-order-patch.ts +10 -0
  303. package/server/graphql/types/store-order/store-order.ts +14 -0
  304. package/server/graphql/types/store-product/index.ts +23 -0
  305. package/server/graphql/types/store-product/new-store-product.ts +8 -0
  306. package/server/graphql/types/store-product/store-product-list.ts +8 -0
  307. package/server/graphql/types/store-product/store-product-patch.ts +10 -0
  308. package/server/graphql/types/store-product/store-product.ts +14 -0
  309. package/server/index.ts +9 -0
  310. package/server/migrations/index.ts +9 -0
  311. package/server/routers/magento-private-router.ts +192 -0
  312. package/server/routers/magento-public-router.ts +38 -0
  313. package/server/routers/shopify-install-private-router.ts +95 -0
  314. package/server/routers/shopify-install-public-router.ts +241 -0
  315. package/server/routers/shopify-private-router.ts +78 -0
  316. package/server/routers/shopify-public-router.ts +182 -0
  317. package/server/routers/woocommerce-router.ts +70 -0
  318. package/server/routes.ts +21 -0
@@ -0,0 +1,28 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../../entities'
4
+ import { STORE_STATUS } from '../../../constants'
5
+
6
+ export const deactivateShopeeStore = {
7
+ async deactivateShopeeStore(_: any, { name }, context: ResolverContext) {
8
+ const repository = getRepository(MarketplaceStore)
9
+ const marketplaceStore: any = await repository.findOne({
10
+ where: { domain: { id: context.state.domain.id }, name }
11
+ })
12
+
13
+ var patch = {
14
+ storeId: '',
15
+ accessToken: '',
16
+ refreshToken: '',
17
+ accessInfo: '',
18
+ countryCode: '',
19
+ status: STORE_STATUS.INACTIVE
20
+ }
21
+
22
+ return await repository.save({
23
+ ...marketplaceStore,
24
+ ...patch,
25
+ updater: context.state.user
26
+ })
27
+ }
28
+ }
@@ -0,0 +1,96 @@
1
+ import crypto from 'crypto'
2
+ import Debug from 'debug'
3
+ import fetch from 'node-fetch'
4
+ import { v4 as uuidv4 } from 'uuid'
5
+
6
+ import { config } from '@things-factory/env'
7
+
8
+ import { MarketplaceSetting, MarketplaceStore } from '../../../../entities'
9
+ import { STORE_STATUS } from '../../../constants'
10
+
11
+ const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
12
+ const { partnerId, partnerKey, isUAT } = shopeeConfig
13
+
14
+ const debug = Debug('things-factory:integration-marketplace:generate-shopee-access-token')
15
+
16
+ export const generateShopeeAccessToken = {
17
+ async generateShopeeAccessToken(_: any, { id, code, shopId }, context: ResolverContext): Promise<MarketplaceStore> {
18
+ const { domain, tx, user } = context.state
19
+ const repository = tx.getRepository(MarketplaceStore)
20
+ const marketplaceStore: MarketplaceStore = await repository.findOne({
21
+ where: { domain: { id: context.state.domain.id }, id }
22
+ })
23
+
24
+ const timestamp = Math.round(new Date().getTime() / 1000)
25
+
26
+ const host = `https://partner${isUAT ? '.test-stable' : ''}.shopeemobile.com`
27
+ const getTokenPath = '/api/v2/auth/token/get'
28
+ const signature = crypto
29
+ .createHmac('sha256', partnerKey)
30
+ .update(partnerId + getTokenPath + timestamp + shopId)
31
+ .digest('hex')
32
+
33
+ let authUrl = `${host}${getTokenPath}`
34
+ authUrl += `?partner_id=${Number(partnerId)}`
35
+ authUrl += `&shop_id=${shopId}`
36
+ authUrl += `&timestamp=${timestamp}`
37
+ authUrl += `&sign=${signature}`
38
+
39
+ const data: any = {
40
+ code,
41
+ shop_id: Number(shopId),
42
+ partner_id: Number(partnerId)
43
+ }
44
+
45
+ const jsondata = JSON.stringify(data)
46
+
47
+ const response = await fetch(`${authUrl}`, {
48
+ method: 'post',
49
+ headers: {
50
+ 'Content-Type': 'application/json'
51
+ },
52
+ body: jsondata
53
+ })
54
+
55
+ if (!response.ok) {
56
+ debug('response result', await response.text())
57
+ throw new Error(`unexpected error with response code - ${response.status}`)
58
+ }
59
+
60
+ const result = await response.json()
61
+ debug('response result', result)
62
+
63
+ var patch = {
64
+ accessToken: result.access_token,
65
+ refreshToken: result.refresh_token,
66
+ accessInfo: JSON.stringify(result, null, 2),
67
+ storeId: String(shopId),
68
+ status: STORE_STATUS.ACTIVE
69
+ }
70
+
71
+ const marketplaceSettingCategories: any[] = ['stock_allocation', 'marketplace_order_max_weight']
72
+
73
+ marketplaceSettingCategories.forEach(async category => {
74
+ const foundMarketplaceSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({
75
+ where: { marketplaceStore: { id: marketplaceStore.id }, domain: { id: domain.id }, category }
76
+ })
77
+
78
+ if (!foundMarketplaceSetting) {
79
+ const marketplaceSetting = new MarketplaceSetting()
80
+ marketplaceSetting.name = uuidv4()
81
+ marketplaceSetting.marketplaceStore = marketplaceStore
82
+ marketplaceSetting.value = '100'
83
+ marketplaceSetting.category = category
84
+ marketplaceSetting.domain = domain
85
+ marketplaceSetting.creator = user
86
+ await tx.getRepository(MarketplaceSetting).save(marketplaceSetting)
87
+ }
88
+ })
89
+
90
+ return await repository.save({
91
+ ...marketplaceStore,
92
+ ...patch,
93
+ updater: context.state.user
94
+ })
95
+ }
96
+ }
@@ -0,0 +1,18 @@
1
+ import { Shopee } from '../../../../controllers/shopee/shopee'
2
+
3
+ import { config } from '@things-factory/env'
4
+ const shopeeConfig = config.get('marketplaceIntegrationShopee', {})
5
+ const { partnerId, partnerKey, isUAT } = shopeeConfig
6
+
7
+ export const getShopeeAuthURL = {
8
+ async getShopeeAuthURL(_: any, { redirectUrl, cancel = false }, context: ResolverContext) {
9
+ const client = new Shopee({
10
+ isUAT,
11
+ partner_id: partnerId,
12
+ partner_key: partnerKey,
13
+ redirect_uri: redirectUrl
14
+ })
15
+
16
+ return client.buildAuthURL(cancel)
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ import { getShopeeAuthURL } from './get-shopee-auth-url'
2
+
3
+ import { deactivateShopeeStore } from './deactivate-shopee-store'
4
+ import { generateShopeeAccessToken } from './generate-shopee-access-token'
5
+
6
+ export const Query = {
7
+ ...getShopeeAuthURL
8
+ }
9
+
10
+ export const Mutation = {
11
+ ...generateShopeeAccessToken,
12
+ ...deactivateShopeeStore
13
+ } as any
@@ -0,0 +1,29 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../../entities'
4
+ import { STORE_STATUS } from '../../../constants'
5
+
6
+ export const deactivateShopifyStore = {
7
+ async deactivateShopifyStore(_: any, { name }, context: ResolverContext) {
8
+ const { domain, user } = context.state
9
+
10
+ const repository = getRepository(MarketplaceStore)
11
+ const marketplaceStore: any = await repository.findOne({
12
+ where: { domain: { id: domain.id }, name }
13
+ })
14
+
15
+ var patch = {
16
+ accessToken: '',
17
+ refreshToken: '',
18
+ accessInfo: '',
19
+ countryCode: '',
20
+ status: STORE_STATUS.INACTIVE
21
+ }
22
+
23
+ return await repository.save({
24
+ ...marketplaceStore,
25
+ ...patch,
26
+ updater: user
27
+ })
28
+ }
29
+ }
@@ -0,0 +1,26 @@
1
+ import { VerificationToken, VerificationTokenType } from '@things-factory/auth-base'
2
+ import { config } from '@things-factory/env'
3
+ import { getRepository } from '@things-factory/shell'
4
+
5
+ import { Shopify } from '../../../../controllers/shopify'
6
+
7
+ const shopifyConfig = config.get('marketplaceIntegrationShopify', {})
8
+ const { apiKey, apiSecret } = shopifyConfig
9
+
10
+ export const getShopifyAuthURL = {
11
+ async getShopifyAuthURL(_: any, { marketplaceStoreId, storeId, redirectUrl }, context: ResolverContext) {
12
+ const { user } = context.state
13
+ const shopify = new Shopify({ apiKey, apiSecret, shop: storeId })
14
+
15
+ /* generate verification-token as a nonce */
16
+ const nonce = shopify.makeVerificationTokenForNonce()
17
+ await getRepository(VerificationToken).save({
18
+ userId: user.id,
19
+ token: nonce,
20
+ type: VerificationTokenType.REQUEST_ACCESS_TOKEN,
21
+ suppliment: marketplaceStoreId
22
+ })
23
+
24
+ return shopify.buildAuthURL(redirectUrl, nonce)
25
+ }
26
+ }
@@ -0,0 +1,11 @@
1
+ import { getShopifyAuthURL } from './get-shopify-auth-url'
2
+
3
+ import { deactivateShopifyStore } from './deactivate-shopify-store'
4
+
5
+ export const Query = {
6
+ ...getShopifyAuthURL
7
+ }
8
+
9
+ export const Mutation = {
10
+ ...deactivateShopifyStore
11
+ }
@@ -0,0 +1,19 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../entities'
4
+
5
+ export const updateMarketplaceStore = {
6
+ async updateMarketplaceStore(_: any, { name, patch }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+ const repository = getRepository(MarketplaceStore)
9
+ const marketplaceStore: any = await repository.findOne({
10
+ where: { domain: { id: domain.id }, name }
11
+ })
12
+
13
+ return await repository.save({
14
+ ...marketplaceStore,
15
+ ...patch,
16
+ updater: user
17
+ })
18
+ }
19
+ }
@@ -0,0 +1,46 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../entities'
4
+
5
+ export const updateMultipleMarketplaceStore = {
6
+ async updateMultipleMarketplaceStore(_: any, { patches }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ let results = []
10
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
11
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
12
+ const marketplaceStoreRepo = getRepository(MarketplaceStore)
13
+
14
+ if (_createRecords.length > 0) {
15
+ for (let i = 0; i < _createRecords.length; i++) {
16
+ const newRecord = _createRecords[i]
17
+
18
+ const result = await marketplaceStoreRepo.save({
19
+ ...newRecord,
20
+ domain,
21
+ creator: user,
22
+ updater: user
23
+ })
24
+
25
+ results.push({ ...result, cuFlag: '+' })
26
+ }
27
+ }
28
+
29
+ if (_updateRecords.length > 0) {
30
+ for (let i = 0; i < _updateRecords.length; i++) {
31
+ const newRecord = _updateRecords[i]
32
+ const marketplaceStore = await marketplaceStoreRepo.findOneBy({ id: newRecord.id })
33
+
34
+ const result = await marketplaceStoreRepo.save({
35
+ ...marketplaceStore,
36
+ ...newRecord,
37
+ updater: user
38
+ })
39
+
40
+ results.push({ ...result, cuFlag: 'M' })
41
+ }
42
+ }
43
+
44
+ return results
45
+ }
46
+ }
@@ -0,0 +1,20 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../../entities'
4
+ import { STORE_STATUS } from '../../../constants'
5
+
6
+ export const deactivateWoocommerceStore = {
7
+ async deactivateWoocommerceStore(_: any, { name }, context: ResolverContext): Promise<MarketplaceStore> {
8
+ const { domain } = context.state
9
+ let marketplaceStore: MarketplaceStore = await getRepository(MarketplaceStore).findOne({
10
+ where: { domain: { id: domain.id }, name }
11
+ })
12
+
13
+ marketplaceStore.storeId = ''
14
+ marketplaceStore.accessKey = ''
15
+ marketplaceStore.accessSecret = ''
16
+ marketplaceStore.accessInfo = ''
17
+ marketplaceStore.status = STORE_STATUS.INACTIVE
18
+ return await getRepository(MarketplaceStore).save(marketplaceStore)
19
+ }
20
+ }
@@ -0,0 +1,14 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../../entities'
4
+
5
+ export const getWoocommerceAuthURL = {
6
+ async getWoocommerceAuthURL(_: any, { marketplaceStoreId, redirectUrl }, context: ResolverContext) {
7
+ const appName: string = context.request.header.origin
8
+ const returnURL: string = context.request.header.referer
9
+ let { storeURL }: MarketplaceStore = await getRepository(MarketplaceStore).findOneBy({ id: marketplaceStoreId })
10
+ storeURL = storeURL.replace(/\/$/, '')
11
+
12
+ return `${storeURL}/wc-auth/v1/authorize?app_name=${appName}&user_id=${marketplaceStoreId}&return_url=${returnURL}&callback_url=${redirectUrl}&scope=read_write`
13
+ }
14
+ }
@@ -0,0 +1,10 @@
1
+ import { deactivateWoocommerceStore } from './deactivate-woocommerce-store'
2
+ import { getWoocommerceAuthURL } from './get-woocommerce-auth-url'
3
+
4
+ export const Query = {
5
+ ...getWoocommerceAuthURL
6
+ }
7
+
8
+ export const Mutation = {
9
+ ...deactivateWoocommerceStore
10
+ }
@@ -0,0 +1,28 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore } from '../../../../entities'
4
+ import { STORE_STATUS } from '../../../constants'
5
+
6
+ export const deactivateZaloraStore = {
7
+ async deactivateZaloraStore(_: any, { name }, context: ResolverContext) {
8
+ const repository = getRepository(MarketplaceStore)
9
+ const marketplaceStore: any = await repository.findOne({
10
+ where: { domain: { id: context.state.domain.id }, name }
11
+ })
12
+
13
+ var patch = {
14
+ storeId: '',
15
+ accessToken: '',
16
+ refreshToken: '',
17
+ accessInfo: '',
18
+ countryCode: '',
19
+ status: STORE_STATUS.INACTIVE
20
+ }
21
+
22
+ return await repository.save({
23
+ ...marketplaceStore,
24
+ ...patch,
25
+ updater: context.state.user
26
+ })
27
+ }
28
+ }
@@ -0,0 +1,55 @@
1
+ import { v4 as uuidv4 } from 'uuid'
2
+
3
+ import { MarketplaceSetting, MarketplaceStore } from '../../../../entities'
4
+ import { STORE_STATUS } from '../../../constants'
5
+
6
+ export const generateZaloraAccessToken = {
7
+ async generateZaloraAccessToken(_: any, { id, apiKey, userId, countryCode }, context: ResolverContext) {
8
+ const { domain, user, tx } = context.state
9
+ const repository = tx.getRepository(MarketplaceStore)
10
+ const marketplaceStore: any = await repository.findOne({
11
+ where: { domain: { id: domain.id }, id }
12
+ })
13
+
14
+ var patch = {
15
+ accessToken: apiKey,
16
+ refreshToken: '',
17
+ accessInfo: JSON.stringify(
18
+ {
19
+ userId: userId,
20
+ apiKey: apiKey
21
+ },
22
+ null,
23
+ 2
24
+ ),
25
+ storeId: userId,
26
+ countryCode,
27
+ status: STORE_STATUS.ACTIVE
28
+ }
29
+
30
+ const marketplaceSettingCategories: any[] = ['stock_allocation', 'marketplace_order_max_weight']
31
+
32
+ marketplaceSettingCategories.forEach(async category => {
33
+ const foundMarketplaceSetting: MarketplaceSetting = await tx.getRepository(MarketplaceSetting).findOne({
34
+ where: { marketplaceStore: { id: marketplaceStore.id }, domain: { id: domain.id }, category }
35
+ })
36
+
37
+ if (!foundMarketplaceSetting) {
38
+ const marketplaceSetting = new MarketplaceSetting()
39
+ marketplaceSetting.name = uuidv4()
40
+ marketplaceSetting.marketplaceStore = marketplaceStore
41
+ marketplaceSetting.value = '100'
42
+ marketplaceSetting.category = category
43
+ marketplaceSetting.domain = domain
44
+ marketplaceSetting.creator = user
45
+ await tx.getRepository(MarketplaceSetting).save(marketplaceSetting)
46
+ }
47
+ })
48
+
49
+ return await repository.save({
50
+ ...marketplaceStore,
51
+ ...patch,
52
+ updater: user
53
+ })
54
+ }
55
+ }
@@ -0,0 +1,9 @@
1
+ import { deactivateZaloraStore } from './deactivate-zalora-store'
2
+ import { generateZaloraAccessToken } from './generate-zalora-access-token'
3
+
4
+ export const Query = {}
5
+
6
+ export const Mutation = {
7
+ ...generateZaloraAccessToken,
8
+ ...deactivateZaloraStore
9
+ }
@@ -0,0 +1,21 @@
1
+ import { v4 as uuidv4 } from 'uuid'
2
+
3
+ import { CourierService } from '@things-factory/integration-lmd'
4
+
5
+ import { MarketplaceStore, MarketplaceTransporter } from '../../../entities'
6
+
7
+ export const createMarketplaceTransporter = {
8
+ async createMarketplaceTransporter(_: any, { marketplaceStoreId, deliveryTransporter }, context: ResolverContext) {
9
+ const { domain, user, tx } = context.state
10
+
11
+ return await tx.getRepository(MarketplaceTransporter).save({
12
+ name: uuidv4().toString(),
13
+ marketplaceStore: await tx.getRepository(MarketplaceStore).findOneBy({ id: marketplaceStoreId }),
14
+ deliveryTransporter: await tx.getRepository(CourierService).findOneBy({ id: deliveryTransporter }),
15
+ pickupTransporter: await tx.getRepository(CourierService).findOneBy({ id: deliveryTransporter }),
16
+ domain,
17
+ creator: user,
18
+ updater: user
19
+ })
20
+ }
21
+ } as any
@@ -0,0 +1,13 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceTransporter } from '../../../entities'
4
+
5
+ export const deleteMarketplaceTransporter = {
6
+ async deleteMarketplaceTransporter(_: any, { name }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ await getRepository(MarketplaceTransporter).delete({ domain: { id: domain.id }, name })
10
+
11
+ return true
12
+ }
13
+ }
@@ -0,0 +1,18 @@
1
+ import { In } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
4
+
5
+ import { MarketplaceTransporter } from '../../../entities'
6
+
7
+ export const deleteMarketplaceTransporters = {
8
+ async deleteMarketplaceTransporters(_: any, { names }, context: ResolverContext) {
9
+ const { domain, user } = context.state
10
+
11
+ await getRepository(MarketplaceTransporter).delete({
12
+ domain: { id: domain.id },
13
+ name: In(names)
14
+ })
15
+
16
+ return true
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ import { Query, MarketplaceTransporter } from './marketplace-transporter-query'
2
+
3
+ import { updateMarketplaceTransporter } from './update-marketplace-transporter'
4
+ import { updateMultipleMarketplaceTransporter } from './update-multiple-marketplace-transporter'
5
+ import { createMarketplaceTransporter } from './create-marketplace-transporter'
6
+ import { deleteMarketplaceTransporter } from './delete-marketplace-transporter'
7
+ import { deleteMarketplaceTransporters } from './delete-marketplace-transporters'
8
+
9
+ export const MarketplaceTransporterResolver = {
10
+ MarketplaceTransporter,
11
+ Query,
12
+ Mutation: {
13
+ ...updateMarketplaceTransporter,
14
+ ...updateMultipleMarketplaceTransporter,
15
+ ...createMarketplaceTransporter,
16
+ ...deleteMarketplaceTransporter,
17
+ ...deleteMarketplaceTransporters
18
+ }
19
+ } as any
@@ -0,0 +1,60 @@
1
+ import { convertListParams, getRepository, ListParam } from '@things-factory/shell'
2
+
3
+ import { MarketplaceStore, MarketplaceTransporter as MarketplaceTransporterEntity } from '../../../entities'
4
+
5
+ export const Query = {
6
+ async marketplaceTransporter(_: any, { marketplaceStoreId }, context: ResolverContext) {
7
+ const { domain, tx } = context.state
8
+ const marketplaceStore: MarketplaceStore = await tx
9
+ .getRepository(MarketplaceStore)
10
+ .findOneBy({ id: marketplaceStoreId })
11
+
12
+ const marketplaceTransporter = await tx.getRepository(MarketplaceTransporterEntity).findOne({
13
+ where: { domain: { id: domain.id }, marketplaceStore: { id: marketplaceStore.id } },
14
+ relations: ['marketplaceStore', 'deliveryTransporter', 'pickupTransporter']
15
+ })
16
+
17
+ return marketplaceTransporter
18
+ },
19
+
20
+ async marketplaceTransporters(_: any, params: ListParam, context: ResolverContext) {
21
+ const { tx } = context.state
22
+
23
+ const convertedParams = convertListParams(params)
24
+ const [items, total] = await tx.getRepository(MarketplaceTransporterEntity).findAndCount({
25
+ ...convertedParams,
26
+ relations: ['domain', 'marketplaceStore', 'pickupTransporter', 'deliveryTransporter']
27
+ })
28
+
29
+ return { items, total }
30
+ }
31
+ }
32
+
33
+ export const MarketplaceTransporter = {
34
+ async domain(marketplaceTransporter) {
35
+ return (
36
+ await getRepository(MarketplaceTransporterEntity).findOne({
37
+ where: { id: marketplaceTransporter.id },
38
+ relations: ['domain']
39
+ })
40
+ )?.domain
41
+ },
42
+
43
+ async creator(marketplaceTransporter) {
44
+ return (
45
+ await getRepository(MarketplaceTransporterEntity).findOne({
46
+ where: { id: marketplaceTransporter.id },
47
+ relations: ['creator']
48
+ })
49
+ )?.creator
50
+ },
51
+
52
+ async updater(marketplaceTransporter) {
53
+ return (
54
+ await getRepository(MarketplaceTransporterEntity).findOne({
55
+ where: { id: marketplaceTransporter.id },
56
+ relations: ['updater']
57
+ })
58
+ )?.updater
59
+ }
60
+ }
@@ -0,0 +1,25 @@
1
+ import { CourierService } from '@things-factory/integration-lmd'
2
+
3
+ import { MarketplaceTransporter } from '../../../entities'
4
+
5
+ export const updateMarketplaceTransporter = {
6
+ async updateMarketplaceTransporter(_: any, { marketplaceStoreId, deliveryTransporter }, context: ResolverContext) {
7
+ const { domain, user, tx } = context.state
8
+ const marketplaceTransporterRepo = tx.getRepository(MarketplaceTransporter)
9
+
10
+ const marketplaceTransporter: MarketplaceTransporter = await marketplaceTransporterRepo.findOne({
11
+ where: {
12
+ domain: { id: domain.id },
13
+ marketplaceStore: { id: marketplaceStoreId }
14
+ },
15
+ relations: ['deliveryTransporter', 'pickupTransporter']
16
+ })
17
+
18
+ return await marketplaceTransporterRepo.save({
19
+ ...marketplaceTransporter,
20
+ deliveryTransporter: await tx.getRepository(CourierService).findOneBy({ id: deliveryTransporter }),
21
+ pickupTransporter: await tx.getRepository(CourierService).findOneBy({ id: deliveryTransporter }),
22
+ updater: user
23
+ })
24
+ }
25
+ } as any
@@ -0,0 +1,49 @@
1
+ import { getRepository } from '@things-factory/shell'
2
+
3
+ import { MarketplaceTransporter } from '../../../entities'
4
+
5
+ export const updateMultipleMarketplaceTransporter = {
6
+ async updateMultipleMarketplaceTransporter(_: any, { patches }, context: ResolverContext) {
7
+ const { domain, user } = context.state
8
+
9
+ let results = []
10
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
11
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
12
+ const marketplaceTransporterRepo = getRepository(MarketplaceTransporter)
13
+
14
+ if (_createRecords.length > 0) {
15
+ for (let i = 0; i < _createRecords.length; i++) {
16
+ const newRecord = _createRecords[i]
17
+
18
+ const result = await marketplaceTransporterRepo.save({
19
+ ...newRecord,
20
+ domain: domain,
21
+ creator: user,
22
+ updater: user
23
+ })
24
+
25
+ results.push({ ...result, cuFlag: '+' })
26
+ }
27
+ }
28
+
29
+ if (_updateRecords.length > 0) {
30
+ for (let i = 0; i < _updateRecords.length; i++) {
31
+ const newRecord = _updateRecords[i]
32
+ const marketplaceTransporter = await marketplaceTransporterRepo.findOneBy({
33
+ domain: { id: domain.id },
34
+ id: newRecord.id
35
+ })
36
+
37
+ const result = await marketplaceTransporterRepo.save({
38
+ ...marketplaceTransporter,
39
+ ...newRecord,
40
+ updater: user
41
+ })
42
+
43
+ results.push({ ...result, cuFlag: 'M' })
44
+ }
45
+ }
46
+
47
+ return results
48
+ }
49
+ }
@@ -0,0 +1,9 @@
1
+ import { StoreAPI } from '../../../controllers/store-api'
2
+
3
+ export const acceptStoreOrderCancellation = {
4
+ async acceptStoreOrderCancellation(_: any, { storeId, orderId }, context: ResolverContext) {
5
+ // only in Shopee, to accept buyer order cancellation
6
+ var store = await StoreAPI.getMarketplaceStore(storeId)
7
+ return await StoreAPI.acceptStoreOrderCancellation(store, orderId)
8
+ }
9
+ }