@things-factory/operato-hub 4.3.89 → 4.3.94-alpha.1

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 (340) hide show
  1. package/config.development.js +139 -0
  2. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +10 -8
  3. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
  4. package/dist-server/middlewares/business-middleware.js +4 -1
  5. package/dist-server/middlewares/business-middleware.js.map +1 -1
  6. package/dist-server/middlewares/store-middleware.js.map +1 -1
  7. package/dist-server/routers/api/index.js +0 -1
  8. package/dist-server/routers/api/index.js.map +1 -1
  9. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +3 -2
  10. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
  11. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -2
  12. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
  13. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +12 -10
  14. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
  15. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +105 -0
  16. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
  17. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +197 -0
  18. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +1 -0
  19. package/dist-server/routers/api/restful-apis/v1/company/add-products.js +69 -0
  20. package/dist-server/routers/api/restful-apis/v1/company/add-products.js.map +1 -0
  21. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +90 -0
  22. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +1 -0
  23. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +49 -0
  24. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
  25. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +62 -0
  26. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
  27. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +108 -0
  28. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +1 -0
  29. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +51 -0
  30. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +1 -0
  31. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +88 -0
  32. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
  33. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +98 -0
  34. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
  35. package/dist-server/routers/api/restful-apis/v1/company/index.js +15 -0
  36. package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
  37. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +62 -0
  38. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +1 -0
  39. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js +44 -0
  40. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.js.map +1 -0
  41. package/dist-server/routers/api/restful-apis/v1/index.js +2 -31
  42. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  43. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +66 -0
  44. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
  45. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
  46. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
  47. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +23 -0
  48. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
  49. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
  50. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
  51. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +118 -0
  52. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
  53. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
  54. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
  55. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
  56. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
  57. package/dist-server/routers/api/restful-apis/v1/utils/params.js +555 -0
  58. package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
  59. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +60 -0
  60. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
  61. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +236 -0
  62. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
  63. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +762 -0
  64. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
  65. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +197 -0
  66. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
  67. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +177 -0
  68. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +1 -0
  69. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +138 -0
  70. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
  71. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +97 -0
  72. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
  73. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +81 -0
  74. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
  75. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +94 -0
  76. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
  77. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +87 -0
  78. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
  79. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +84 -0
  80. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
  81. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +96 -0
  82. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
  83. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +110 -0
  84. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
  85. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +16 -0
  86. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
  87. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +71 -0
  88. package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +1 -0
  89. package/openapi/v1/Inventory.yaml +263 -0
  90. package/openapi/v1/authetication.yaml +108 -0
  91. package/openapi/v1/bizplace.yaml +74 -0
  92. package/openapi/v1/contact-point.yaml +258 -89
  93. package/openapi/v1/inbound.yaml +626 -304
  94. package/openapi/v1/marketplace.yaml +843 -0
  95. package/openapi/v1/outbound.yaml +1311 -569
  96. package/openapi/v1/partner.yaml +80 -0
  97. package/openapi/v1/product.yaml +507 -175
  98. package/openapi/v1.yaml +39 -7
  99. package/package.json +54 -54
  100. package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +25 -16
  101. package/server/middlewares/business-middleware.ts +5 -1
  102. package/server/middlewares/store-middleware.ts +1 -0
  103. package/server/routers/api/index.ts +0 -1
  104. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +3 -2
  105. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +5 -2
  106. package/server/routers/api/restful-apis/unstable/add-release-order.ts +12 -10
  107. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +111 -0
  108. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +234 -0
  109. package/server/routers/api/restful-apis/v1/company/add-products.ts +96 -0
  110. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +94 -0
  111. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +55 -0
  112. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +67 -0
  113. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +115 -0
  114. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +57 -0
  115. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +95 -0
  116. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +103 -0
  117. package/server/routers/api/restful-apis/v1/company/index.ts +12 -0
  118. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +66 -0
  119. package/server/routers/api/restful-apis/v1/company/update-marketplace-shipping-order.ts +55 -0
  120. package/server/routers/api/restful-apis/v1/index.ts +2 -31
  121. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +68 -0
  122. package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
  123. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
  124. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
  125. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +116 -0
  126. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
  127. package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
  128. package/server/routers/api/restful-apis/v1/utils/params.ts +555 -0
  129. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +53 -0
  130. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +324 -0
  131. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +941 -0
  132. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +261 -0
  133. package/server/routers/api/restful-apis/v1/warehouse/cancel-release-order.ts +258 -0
  134. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +141 -0
  135. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +105 -0
  136. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +83 -0
  137. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +96 -0
  138. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +112 -0
  139. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +89 -0
  140. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +99 -0
  141. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +113 -0
  142. package/server/routers/api/restful-apis/v1/warehouse/index.ts +13 -0
  143. package/server/routers/api/restful-apis/v1/warehouse/update-release-order-details.ts +96 -0
  144. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +0 -64
  145. package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +0 -1
  146. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +0 -171
  147. package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +0 -1
  148. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +0 -213
  149. package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +0 -1
  150. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +0 -144
  151. package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +0 -1
  152. package/dist-server/routers/api/restful-apis/v1/add-products.js +0 -88
  153. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +0 -1
  154. package/dist-server/routers/api/restful-apis/v1/add-release-order.js +0 -774
  155. package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +0 -1
  156. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
  157. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  158. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +0 -63
  159. package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +0 -1
  160. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +0 -66
  161. package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +0 -1
  162. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
  163. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  164. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
  165. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  166. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
  167. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  168. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
  169. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  170. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
  171. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  172. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
  173. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  174. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
  175. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  176. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
  177. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  178. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +0 -101
  179. package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +0 -1
  180. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +0 -146
  181. package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +0 -1
  182. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
  183. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  184. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
  185. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  186. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
  187. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  188. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
  189. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  190. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
  191. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  192. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
  193. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  194. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  195. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  196. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +0 -35
  197. package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +0 -1
  198. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +0 -45
  199. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +0 -1
  200. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +0 -45
  201. package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +0 -1
  202. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +0 -93
  203. package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +0 -1
  204. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +0 -85
  205. package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +0 -1
  206. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +0 -82
  207. package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +0 -1
  208. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +0 -64
  209. package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +0 -1
  210. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +0 -171
  211. package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +0 -1
  212. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +0 -213
  213. package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +0 -1
  214. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +0 -144
  215. package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +0 -1
  216. package/dist-server/routers/api/restful-apis/v2/add-products.js +0 -88
  217. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +0 -1
  218. package/dist-server/routers/api/restful-apis/v2/add-release-order.js +0 -774
  219. package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +0 -1
  220. package/dist-server/routers/api/restful-apis/v2/bizplace.js +0 -45
  221. package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +0 -1
  222. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +0 -63
  223. package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +0 -1
  224. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +0 -66
  225. package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +0 -1
  226. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +0 -103
  227. package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +0 -1
  228. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +0 -47
  229. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +0 -1
  230. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +0 -124
  231. package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +0 -1
  232. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +0 -164
  233. package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +0 -1
  234. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +0 -120
  235. package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +0 -1
  236. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +0 -115
  237. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +0 -1
  238. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +0 -125
  239. package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +0 -1
  240. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +0 -88
  241. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +0 -1
  242. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +0 -101
  243. package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +0 -1
  244. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +0 -146
  245. package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +0 -1
  246. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +0 -79
  247. package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +0 -1
  248. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +0 -110
  249. package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +0 -1
  250. package/dist-server/routers/api/restful-apis/v2/get-partners.js +0 -23
  251. package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +0 -1
  252. package/dist-server/routers/api/restful-apis/v2/get-products.js +0 -210
  253. package/dist-server/routers/api/restful-apis/v2/get-products.js.map +0 -1
  254. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +0 -122
  255. package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +0 -1
  256. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +0 -191
  257. package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +0 -1
  258. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +0 -20
  259. package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +0 -1
  260. package/dist-server/routers/api/restful-apis/v2/index.js +0 -34
  261. package/dist-server/routers/api/restful-apis/v2/index.js.map +0 -1
  262. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +0 -35
  263. package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +0 -1
  264. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +0 -45
  265. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +0 -1
  266. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +0 -45
  267. package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +0 -1
  268. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +0 -93
  269. package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +0 -1
  270. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +0 -85
  271. package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +0 -1
  272. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +0 -82
  273. package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +0 -1
  274. package/openapi/v1/ecommerce.yaml +0 -549
  275. package/openapi/v1/inventory.yaml +0 -231
  276. package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
  277. package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
  278. package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -242
  279. package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
  280. package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
  281. package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
  282. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  283. package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
  284. package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
  285. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  286. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  287. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  288. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  289. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  290. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  291. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  292. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  293. package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
  294. package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
  295. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  296. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  297. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
  298. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  299. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  300. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  301. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
  302. package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
  303. package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
  304. package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
  305. package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
  306. package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
  307. package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
  308. package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
  309. package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
  310. package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -242
  311. package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
  312. package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
  313. package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
  314. package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
  315. package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
  316. package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
  317. package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
  318. package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
  319. package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
  320. package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
  321. package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
  322. package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
  323. package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
  324. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
  325. package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
  326. package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
  327. package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
  328. package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
  329. package/server/routers/api/restful-apis/v2/get-partners.ts +0 -24
  330. package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
  331. package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
  332. package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
  333. package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -18
  334. package/server/routers/api/restful-apis/v2/index.ts +0 -31
  335. package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
  336. package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
  337. package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
  338. package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
  339. package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
  340. package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
@@ -0,0 +1,234 @@
1
+ import { getConnection, EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
5
+ import { v4 as uuidv4 } from 'uuid'
6
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
7
+ import { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'
8
+ import {
9
+ MarketplaceOrder as MarketplaceOrderEntity,
10
+ MarketplaceOrderItem as MarketplaceOrderItemEntity,
11
+ MarketplaceOrderShipping as MarketplaceOrderShippingEntity,
12
+ MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,
13
+ MarketplaceProductVariation as MarketplaceProductVariationEntity,
14
+ NoGenerator
15
+ } from '@things-factory/marketplace-base'
16
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
17
+
18
+ router.post(
19
+ '/v1/company/add-marketplace-order',
20
+ businessMiddleware,
21
+ validationMiddleware,
22
+ loggingMiddleware,
23
+ async (context, next) => {
24
+ try {
25
+ await getConnection().transaction(async (tx: EntityManager) => {
26
+ const { user, domain } = context.state
27
+ const marketplaceOrder = context.request.body.data
28
+
29
+ const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
30
+ where: { name: marketplaceOrder.storeId, domain }
31
+ })
32
+ if (!marketplaceStore) throw new ApiError('E04', 'storeId')
33
+
34
+ let invalidQty = marketplaceOrder.marketplaceOrderItems.find(itm => itm.qty <= 0)
35
+ if (invalidQty) {
36
+ throw new ApiError('E01', 'qty')
37
+ }
38
+
39
+ let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []
40
+
41
+ let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)
42
+ const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length
43
+
44
+ const currentDate = new Date()
45
+ newMarketplaceOrder.name = `MO-${currentDate.getFullYear()}${
46
+ currentDate.getMonth() + 1
47
+ }${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`
48
+ newMarketplaceOrder.itemCount = itemCount
49
+ newMarketplaceOrder.marketplaceStore = marketplaceStore
50
+ newMarketplaceOrder.domain = domain
51
+ newMarketplaceOrder.creator = user
52
+ newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)
53
+
54
+ let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity
55
+ if (marketplaceOrder?.marketplaceOrderShipping) {
56
+ const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping
57
+ newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)
58
+ newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId
59
+ ? marketplaceOrderShipping.shippingId
60
+ : NoGenerator.orderShipping()
61
+ newMarketplaceOrderShipping.transporter =
62
+ marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
63
+ newMarketplaceOrderShipping.ownTransporter =
64
+ marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
65
+ newMarketplaceOrderShipping.marketplaceStore = marketplaceStore
66
+ newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo
67
+ newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo
68
+ newMarketplaceOrderShipping.domain = domain
69
+ newMarketplaceOrderShipping.creator = user
70
+ newMarketplaceOrderShipping = await tx
71
+ .getRepository(MarketplaceOrderShippingEntity)
72
+ .save(newMarketplaceOrderShipping)
73
+ }
74
+
75
+ marketplaceOrderItems = await Promise.all(
76
+ marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {
77
+ let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)
78
+
79
+ const marketplaceProductVariation = orderItem.marketplaceProductVariation
80
+ const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx
81
+ .getRepository(MarketplaceProductVariationEntity)
82
+ .createQueryBuilder('mpv')
83
+ .leftJoin('mpv.marketplaceProduct', 'mp')
84
+ .leftJoin('mp.marketplaceStore', 'ms')
85
+ .where('mpv.domain_id = :domainId')
86
+ .andWhere('mpv.variation_id = :variationId')
87
+ .andWhere('ms.id = :marketplaceStoreId')
88
+ .setParameters({
89
+ domainId: domain.id,
90
+ variationId: marketplaceProductVariation.variationId,
91
+ marketplaceStoreId: marketplaceStore.id
92
+ })
93
+
94
+ let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()
95
+
96
+ if (!foundVariation) {
97
+ let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)
98
+ newVariation.status = 'ACTIVE'
99
+ newVariation.domain = domain
100
+
101
+ await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)
102
+ foundVariation = newVariation
103
+ }
104
+
105
+ marketplaceOrderItem.marketplaceProductVariation = foundVariation
106
+ marketplaceOrderItem.name = orderItem.orderItemId
107
+ marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder
108
+ marketplaceOrderItem.domain = domain
109
+ marketplaceOrderItem.creator = user
110
+
111
+ return marketplaceOrderItem
112
+ })
113
+ )
114
+
115
+ marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)
116
+
117
+ await Promise.all(
118
+ marketplaceOrderItems.map(async marketplaceOrderItem => {
119
+ const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation
120
+
121
+ let product: Product = await tx.getRepository(Product).findOne({
122
+ where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },
123
+ relations: ['productDetails']
124
+ })
125
+
126
+ let productBundle: ProductBundle
127
+ if (!product) {
128
+ productBundle = await tx.getRepository(ProductBundle).findOne({
129
+ where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
130
+ relations: ['productBundleSettings', 'productBundleSettings.product']
131
+ })
132
+ }
133
+
134
+ let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx
135
+ .getRepository(MarketplaceOrderShippingItemEntity)
136
+ .find({
137
+ where: { domain: marketplaceStore.domain, marketplaceOrderItem }
138
+ })
139
+
140
+ if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
141
+ } else {
142
+ if (productBundle) {
143
+ const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
144
+ let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
145
+ productBundleSettings.map(productBundleSetting => {
146
+ let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
147
+ new MarketplaceOrderShippingItemEntity()
148
+ marketplaceOrderShippingItem.name = uuidv4()
149
+ marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
150
+ marketplaceOrderShippingItem.domain = marketplaceStore.domain
151
+ marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
152
+ marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
153
+ marketplaceOrderShippingItem.product = productBundleSetting.product
154
+
155
+ marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
156
+ })
157
+
158
+ await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)
159
+ } else {
160
+ let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
161
+ new MarketplaceOrderShippingItemEntity()
162
+ marketplaceOrderShippingItem.name = uuidv4()
163
+ marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
164
+ marketplaceOrderShippingItem.domain = marketplaceStore.domain
165
+ marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
166
+ marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
167
+ marketplaceOrderShippingItem.product = product ? product : null
168
+
169
+ await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)
170
+ }
171
+ }
172
+ })
173
+ )
174
+
175
+ let marketplaceOrderItemsData = []
176
+ for (const item of marketplaceOrderItems) {
177
+ const datapoint = {
178
+ marketplaceOrderVariation: {
179
+ variationId: item.marketplaceProductVariation.variationId,
180
+ sku: item.marketplaceProductVariation.sku,
181
+ variationSku: item.marketplaceProductVariation.variationSku,
182
+ variationName: item.marketplaceProductVariation.variationName
183
+ },
184
+ marketplaceOrderShipping: {
185
+ attentionTo: item.marketplaceOrderShipping.attentionTo,
186
+ address1: item.marketplaceOrderShipping.address1,
187
+ address2: item.marketplaceOrderShipping.address2,
188
+ address3: item.marketplaceOrderShipping.address3,
189
+ address4: item.marketplaceOrderShipping.address4,
190
+ address5: item.marketplaceOrderShipping.address5,
191
+ state: item.marketplaceOrderShipping.state,
192
+ city: item.marketplaceOrderShipping.city,
193
+ postCode: item.marketplaceOrderShipping.postCode,
194
+ country: item.marketplaceOrderShipping.country,
195
+ phone1: item.marketplaceOrderShipping.phone1,
196
+ phone2: item.marketplaceOrderShipping.phone2,
197
+ email: item.marketplaceOrderShipping.email,
198
+ freightType: item.marketplaceOrderShipping.freightType,
199
+ parcelType: item.marketplaceOrderShipping.parcelType,
200
+ deliveryMethod: item.marketplaceOrderShipping.deliveryMethod,
201
+ totalWeight: item.marketplaceOrderShipping.totalWeight,
202
+ totalVolume: item.marketplaceOrderShipping.totalVolume,
203
+ transporter: item.marketplaceOrderShipping.transporter
204
+ }
205
+ }
206
+ marketplaceOrderItemsData.push(datapoint)
207
+ }
208
+ const data = {
209
+ orderNo: newMarketplaceOrder.orderNo,
210
+ itemCount,
211
+ paymentMethod: newMarketplaceOrder.paymentMethod,
212
+ remark: newMarketplaceOrder.remark,
213
+ giftOption: newMarketplaceOrder.giftOption,
214
+ orderCreatedAt: newMarketplaceOrder.orderCreatedAt,
215
+ orderUpdatedAt: newMarketplaceOrder.orderUpdatedAt,
216
+ marketplaceOrderItems: marketplaceOrderItemsData,
217
+ orderItemId: newMarketplaceOrder.orderItemId,
218
+ qty: newMarketplaceOrder.qty,
219
+ cancelBy: newMarketplaceOrder.cancelBy,
220
+ returnStatus: newMarketplaceOrder.returnStatus,
221
+ packageId: newMarketplaceOrder.packageId,
222
+ status: newMarketplaceOrder.status
223
+ }
224
+
225
+ context.body = {
226
+ data
227
+ }
228
+ })
229
+ } catch (e) {
230
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
231
+ else throwInternalServerError(context, e)
232
+ }
233
+ }
234
+ )
@@ -0,0 +1,96 @@
1
+ import { getRepository, In, getConnection, EntityManager } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { Bizplace } from '@things-factory/biz-base'
5
+ import { Product, ProductDetail } from '@things-factory/product-base'
6
+
7
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
8
+ import _ from 'lodash'
9
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
10
+
11
+ router.post(
12
+ '/v1/company/add-products',
13
+ businessMiddleware,
14
+ validationMiddleware,
15
+ loggingMiddleware,
16
+ async (context, next) => {
17
+ try {
18
+ await getConnection().transaction(async (tx: EntityManager) => {
19
+ if (!Array.isArray(context.request.body.data)) throw new ApiError('E01', 'data field is not an array')
20
+
21
+ const products = context.request.body.data
22
+ const skus = products.map(p => p.sku)
23
+ const { user, domain } = context.state
24
+
25
+ // find bizplace
26
+ const bizplace = await getRepository(Bizplace).findOne({
27
+ where: {
28
+ domain
29
+ }
30
+ })
31
+
32
+ //check duplicate sku from request
33
+ let duplicateSku = skus.filter((item, index) => skus.indexOf(item) != index)
34
+
35
+ if (duplicateSku?.length > 0) {
36
+ throw new ApiError('E05', `duplicated products found: ${[...new Set(duplicateSku)]}`)
37
+ }
38
+
39
+ //check if sku existed in db
40
+ let existedProducts: Product = await getRepository(Product).find({
41
+ where: {
42
+ sku: In(skus),
43
+ bizplace
44
+ }
45
+ })
46
+
47
+ if (existedProducts?.length > 0) {
48
+ throw new ApiError('E05', `existing products found: ${existedProducts.map(ep => ep.sku)}`)
49
+ }
50
+
51
+ // save product
52
+ await Promise.all(
53
+ products.map(async p => {
54
+ const product = p
55
+ const productDetails = p.productDetails
56
+
57
+ product.domain = domain
58
+ product.bizplace = bizplace
59
+ product.creator = user
60
+ product.updater = user
61
+ delete product.productDetails
62
+
63
+ const result = await tx.getRepository(Product).save(products)
64
+
65
+ const newProduct = result[0]
66
+
67
+ // save product details
68
+ await Promise.all(
69
+ productDetails.map(async pd => {
70
+ if (pd.packingSize < 0) throw new ApiError('E01', `${pd.gtin}: packing size cannot be negative`)
71
+ const productDetails = pd
72
+ await tx.getRepository(ProductDetail).save({
73
+ ...productDetails,
74
+ name: productDetails.gtin,
75
+ product: newProduct,
76
+ childProductDetail: null,
77
+ childQty: 0,
78
+ domain: domain,
79
+ creator: user,
80
+ updater: user
81
+ })
82
+ })
83
+ )
84
+ })
85
+ )
86
+
87
+ context.body = {
88
+ data: context.request.body
89
+ }
90
+ })
91
+ } catch (e) {
92
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
93
+ else throwInternalServerError(context, e)
94
+ }
95
+ }
96
+ )
@@ -0,0 +1,94 @@
1
+ import { getConnection, EntityManager } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { Domain } from '@things-factory/shell'
5
+ import { MarketplaceOrder, MarketplaceOrderItem } from '@things-factory/marketplace-base'
6
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
7
+
8
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
9
+ import { User } from '@things-factory/auth-base'
10
+ import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
11
+ import { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'
12
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
13
+
14
+ router.post('/v1/company/cancel-marketplace-order', businessMiddleware, validationMiddleware, loggingMiddleware, async (context, next) => {
15
+ try {
16
+ const { orderNo, remark, cancelBy } = context.request.body.data
17
+ const { domain, user }: { domain: Domain; user: User } = context.state
18
+
19
+ await getConnection().transaction(async (tx: EntityManager) => {
20
+ const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
21
+ where: { name: context.request.body.data.storeId, domain: context.state.domain }
22
+ })
23
+ if (!marketplaceStore) throw new ApiError('E04', 'storeId')
24
+
25
+ let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
26
+ where: { domain, orderNo, marketplaceStore },
27
+ relations: ['fulfillmentCenter', 'marketplaceStore', 'marketplaceOrderItems']
28
+ })
29
+ if (!marketplaceOrder) throw new ApiError('E04', 'orderNo')
30
+
31
+ let marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems.map(orderItem => {
32
+ let marketplaceOrderItem: MarketplaceOrderItem = Object.assign({}, orderItem)
33
+ marketplaceOrderItem.reason = remark
34
+ marketplaceOrderItem.status = 'cancelled'
35
+ marketplaceOrderItem.updater = user
36
+ marketplaceOrderItem.cancelBy = cancelBy
37
+
38
+ return marketplaceOrderItem
39
+ })
40
+ await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
41
+
42
+ marketplaceOrder.status = 'cancelled'
43
+ marketplaceOrder.remark = remark
44
+ marketplaceOrder.updater = user
45
+ marketplaceOrder = await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
46
+
47
+ const cancelStatuses: string[] = ['cancelled', 'canceled']
48
+ if (cancelStatuses.includes(marketplaceOrder.status) && marketplaceOrder?.releaseOrderId) {
49
+ if (marketplaceOrder.isSplitted) {
50
+ const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
51
+ const centerId: string = fulfillmentCenter.centerId
52
+ const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
53
+ const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
54
+ const customerBizplaceId: string = customerBizplaces[0].id
55
+
56
+ const { items: releaseOrders }: any = await FulfillmentAPI.getOutboundOrders(fulfillmentCenter, {
57
+ customerBizplaceId,
58
+ refNo: marketplaceOrder.orderNo
59
+ })
60
+ if (releaseOrders?.length) {
61
+ for (var a = 0; a < releaseOrders.length; a++) {
62
+ const releaseOrderId: string = releaseOrders[a].id
63
+ await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
64
+ }
65
+ }
66
+ } else {
67
+ const releaseOrderId: string = marketplaceOrder.releaseOrderId
68
+ const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
69
+ const centerId: string = fulfillmentCenter.centerId
70
+
71
+ const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
72
+ const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
73
+ const customerBizplaceId: string = customerBizplaces[0].id
74
+ await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
75
+ }
76
+ }
77
+ const data = {
78
+ orderNo: marketplaceOrder.orderNo,
79
+ status: marketplaceOrder.status,
80
+ remark: marketplaceOrder.remark,
81
+ cancelBy: cancelBy || null,
82
+ createdAt: marketplaceOrder.createdAt,
83
+ updatedAt: marketplaceOrder.updatedAt
84
+ }
85
+
86
+ context.body = {
87
+ data
88
+ }
89
+ })
90
+ } catch (e) {
91
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
92
+ else throwInternalServerError(context, e)
93
+ }
94
+ })
@@ -0,0 +1,55 @@
1
+ import { getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { Bizplace } from '@things-factory/biz-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
8
+
9
+ router.get(
10
+ '/v1/company/get-bizplace-list',
11
+ businessMiddleware,
12
+ validationMiddleware,
13
+ loggingMiddleware,
14
+ async (context, next) => {
15
+ try {
16
+ const { limit, offset } = context.query
17
+
18
+ // get bizplaces for that company
19
+ const companyId = context.state.business.id
20
+ const [bizplaces, totalCount]: Bizplace[] = await getRepository(Bizplace).findAndCount({
21
+ where: { company: companyId },
22
+ relations: ['domain'],
23
+ skip: offset,
24
+ take: limit,
25
+ order: { createdAt: 'DESC' }
26
+ })
27
+
28
+ // create and format data response
29
+ let data = []
30
+ for (const bizplace of bizplaces) {
31
+ const datapoint = {
32
+ bizplace: {
33
+ id: bizplace.id,
34
+ name: bizplace.name,
35
+ description: bizplace.description,
36
+ address: bizplace.address,
37
+ postalCode: bizplace.postalCode
38
+ },
39
+ extType: bizplace.domain.extType
40
+ }
41
+ data.push(datapoint)
42
+ }
43
+
44
+ context.body = {
45
+ data,
46
+ totalCount,
47
+ limit,
48
+ offset
49
+ }
50
+ } catch (e) {
51
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
52
+ else throwInternalServerError(context, e)
53
+ }
54
+ }
55
+ )
@@ -0,0 +1,67 @@
1
+ import { getRepository } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { ContactPoint } from '@things-factory/biz-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
8
+
9
+ router.get(
10
+ '/v1/company/get-contact-point-list',
11
+ businessMiddleware,
12
+ validationMiddleware,
13
+ loggingMiddleware,
14
+ async (context, next) => {
15
+ try {
16
+ // get contact points for that bizplace
17
+ // optional query parameter filter
18
+ let filter = { ...context.query }
19
+ const { limit, offset } = filter
20
+ // map query field to database column
21
+ filter['bizplace'] = filter['bizplaceId']
22
+ delete filter['bizplaceId']
23
+ delete filter['limit']
24
+ delete filter['offset']
25
+ const [contactPoints, totalCount]: ContactPoint[] = await getRepository(ContactPoint).findAndCount({
26
+ where: filter,
27
+ relations: ['bizplace'],
28
+ skip: offset,
29
+ take: limit,
30
+ order: { createdAt: 'DESC' }
31
+ })
32
+
33
+ // create and format data response
34
+ let data = []
35
+ for (const contactPoint of contactPoints) {
36
+ const datapoint = {
37
+ bizplace: {
38
+ id: contactPoint.bizplace.id,
39
+ name: contactPoint.bizplace.name
40
+ },
41
+ name: contactPoint.name,
42
+ companyName: contactPoint.companyName,
43
+ email: contactPoint.email,
44
+ fax: contactPoint.fax,
45
+ phone: contactPoint.phone,
46
+ accountNo: contactPoint.accountNo,
47
+ address: contactPoint.address,
48
+ address2: contactPoint.address2,
49
+ city: contactPoint.city,
50
+ postCode: contactPoint.postCode,
51
+ type: contactPoint.type
52
+ }
53
+ data.push(datapoint)
54
+ }
55
+
56
+ context.body = {
57
+ data,
58
+ totalCount,
59
+ limit,
60
+ offset
61
+ }
62
+ } catch (e) {
63
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
64
+ else throwInternalServerError(context, e)
65
+ }
66
+ }
67
+ )
@@ -0,0 +1,115 @@
1
+ import { getRepository, Between } from 'typeorm'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+ import { MarketplaceOrderShipping } from '@things-factory/marketplace-base'
5
+
6
+ import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
+ import _ from 'lodash'
8
+ import { businessMiddleware, validationMiddleware, loggingMiddleware } from '../middlewares'
9
+
10
+ router.get(
11
+ '/v1/company/get-marketplace-order-shipping-list',
12
+ businessMiddleware,
13
+ validationMiddleware,
14
+ loggingMiddleware,
15
+ async (context, next) => {
16
+ try {
17
+ let filter = { ...context.query }
18
+ const { limit, offset, fromDate, toDate } = filter
19
+ const domainId = context.state.domain.id
20
+ filter.marketplaceStore = {}
21
+ filter.marketplaceStore.name = filter.storeId
22
+ filter.domain = domainId
23
+
24
+ // map optional fields to db columns
25
+ if (_.has(filter, 'shippingNo')) {
26
+ filter['name'] = filter['shippingNo']
27
+ delete filter['shippingNo']
28
+ }
29
+ if (_.has(filter, 'orderNo')) {
30
+ filter['orderNoRef'] = filter['orderNo']
31
+ delete filter['orderNo']
32
+ }
33
+
34
+ filter['createdAt'] = Between(fromDate, toDate)
35
+
36
+ delete filter['storeId']
37
+ delete filter['fromDate']
38
+ delete filter['toDate']
39
+ delete filter['limit']
40
+ delete filter['offset']
41
+ // get marketplace order shippings for that domain
42
+ const [marketplaceOrderShippings, totalCount]: MarketplaceOrderShipping[] = await getRepository(
43
+ MarketplaceOrderShipping
44
+ ).findAndCount({
45
+ where: filter,
46
+ relations: [
47
+ 'marketplaceStore',
48
+ 'marketplaceOrderShippingItems',
49
+ 'marketplaceOrderShippingItems.marketplaceOrderItem',
50
+ 'marketplaceOrderShippingItems.marketplaceOrderItem.marketplaceProductVariation'
51
+ ],
52
+ skip: offset,
53
+ take: limit,
54
+ order: { createdAt: 'DESC' }
55
+ })
56
+
57
+ // create and format data response
58
+ let data = []
59
+ for (const marketplaceOrderShipping of marketplaceOrderShippings) {
60
+ const datapoint = {
61
+ attentionTo: marketplaceOrderShipping.attentionTo,
62
+ address1: marketplaceOrderShipping.address1,
63
+ address2: marketplaceOrderShipping.address2,
64
+ address3: marketplaceOrderShipping.address3,
65
+ address4: marketplaceOrderShipping.address4,
66
+ address5: marketplaceOrderShipping.address5,
67
+ state: marketplaceOrderShipping.state,
68
+ city: marketplaceOrderShipping.city,
69
+ postCode: marketplaceOrderShipping.postCode,
70
+ country: marketplaceOrderShipping.country,
71
+ phone1: marketplaceOrderShipping.phone1,
72
+ phone2: marketplaceOrderShipping.phone2,
73
+ email: marketplaceOrderShipping.email,
74
+ freightType: marketplaceOrderShipping.freightType,
75
+ parcelType: marketplaceOrderShipping.parcelType,
76
+ deliveryMethod: marketplaceOrderShipping.deliveryMethod,
77
+ totalWeight: marketplaceOrderShipping.totalWeight,
78
+ totalVolume: marketplaceOrderShipping.totalVolume,
79
+ transporter: marketplaceOrderShipping.transporter,
80
+ marketplaceStore: {
81
+ name: marketplaceOrderShipping.marketplaceStore.name,
82
+ storeId: marketplaceOrderShipping.marketplaceStore.id
83
+ },
84
+ marketplaceOrderItems: marketplaceOrderShipping.marketplaceOrderShippingItems.map(mposi => {
85
+ return {
86
+ marketplaceProductVariation: {
87
+ variationId: mposi.marketplaceOrderItem.marketplaceProductVariation.variationId,
88
+ sku: mposi.marketplaceOrderItem.marketplaceProductVariation.sku,
89
+ variationSku: mposi.marketplaceOrderItem.marketplaceProductVariation.variationSku,
90
+ variationName: mposi.marketplaceOrderItem.marketplaceProductVariation.name
91
+ },
92
+ orderItemId: mposi.marketplaceOrderItem.id,
93
+ qty: mposi.marketplaceOrderItem.qty,
94
+ cancelBy: mposi.marketplaceOrderItem.cancelBy,
95
+ returnStatus: mposi.marketplaceOrderItem.returnStatus,
96
+ packageId: mposi.marketplaceOrderItem.packageId,
97
+ status: mposi.marketplaceOrderItem.status
98
+ }
99
+ })
100
+ }
101
+ data.push(datapoint)
102
+ }
103
+
104
+ context.body = {
105
+ data,
106
+ totalCount,
107
+ limit,
108
+ offset
109
+ }
110
+ } catch (e) {
111
+ if (e instanceof ApiError) ApiErrorHandler(context, e)
112
+ else throwInternalServerError(context, e)
113
+ }
114
+ }
115
+ )