@things-factory/operato-hub 4.3.78 → 4.3.79-alpha.0

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 (168) hide show
  1. package/dist-server/middlewares/business-middleware.js +4 -1
  2. package/dist-server/middlewares/business-middleware.js.map +1 -1
  3. package/dist-server/middlewares/store-middleware.js.map +1 -1
  4. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +3 -2
  5. package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
  6. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -2
  7. package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
  8. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +4 -2
  9. package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
  10. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +94 -0
  11. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
  12. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +208 -0
  13. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +1 -0
  14. package/dist-server/routers/api/restful-apis/v1/company/add-product.js +65 -0
  15. package/dist-server/routers/api/restful-apis/v1/company/add-product.js.map +1 -0
  16. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +97 -0
  17. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +1 -0
  18. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +50 -0
  19. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
  20. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +63 -0
  21. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
  22. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +110 -0
  23. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +1 -0
  24. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +52 -0
  25. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +1 -0
  26. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +90 -0
  27. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
  28. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +99 -0
  29. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
  30. package/dist-server/routers/api/restful-apis/v1/company/index.js +14 -0
  31. package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
  32. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +65 -0
  33. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +1 -0
  34. package/dist-server/routers/api/restful-apis/v1/index.js +2 -31
  35. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  36. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +29 -0
  37. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
  38. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
  39. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
  40. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +23 -0
  41. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
  42. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
  43. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
  44. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +53 -0
  45. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
  46. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
  47. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
  48. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
  49. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
  50. package/dist-server/routers/api/restful-apis/v1/utils/expected-parameters.js +201 -0
  51. package/dist-server/routers/api/restful-apis/v1/utils/expected-parameters.js.map +1 -0
  52. package/dist-server/routers/api/restful-apis/v1/utils/params.js +293 -0
  53. package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
  54. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +90 -0
  55. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
  56. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +277 -0
  57. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
  58. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +810 -0
  59. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
  60. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +116 -0
  61. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
  62. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +140 -0
  63. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
  64. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +100 -0
  65. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
  66. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +78 -0
  67. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
  68. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +96 -0
  69. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
  70. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +244 -0
  71. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
  72. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +96 -0
  73. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
  74. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +94 -0
  75. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
  76. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +112 -0
  77. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
  78. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +13 -0
  79. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
  80. package/package.json +54 -54
  81. package/server/middlewares/business-middleware.ts +5 -1
  82. package/server/middlewares/store-middleware.ts +1 -0
  83. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +3 -2
  84. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +5 -2
  85. package/server/routers/api/restful-apis/unstable/add-release-order.ts +4 -2
  86. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +94 -0
  87. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +242 -0
  88. package/server/routers/api/restful-apis/v1/company/add-product.ts +78 -0
  89. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +102 -0
  90. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +56 -0
  91. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +69 -0
  92. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +118 -0
  93. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +58 -0
  94. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +97 -0
  95. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +105 -0
  96. package/server/routers/api/restful-apis/v1/company/index.ts +11 -0
  97. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +70 -0
  98. package/server/routers/api/restful-apis/v1/index.ts +2 -31
  99. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +31 -0
  100. package/server/routers/api/restful-apis/v1/middlewares/index.ts +26 -0
  101. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +24 -0
  102. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +34 -0
  103. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +50 -0
  104. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +31 -0
  105. package/server/routers/api/restful-apis/v1/utils/error-util.ts +70 -0
  106. package/server/routers/api/restful-apis/v1/utils/expected-parameters.ts +199 -0
  107. package/server/routers/api/restful-apis/v1/utils/params.ts +291 -0
  108. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +74 -0
  109. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +361 -0
  110. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +1000 -0
  111. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +139 -0
  112. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +144 -0
  113. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +109 -0
  114. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +74 -0
  115. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +99 -0
  116. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +295 -0
  117. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +99 -0
  118. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +97 -0
  119. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +116 -0
  120. package/server/routers/api/restful-apis/v1/warehouse/index.ts +10 -0
  121. package/dist-server/routers/api/restful-apis/v1/bizplace.js +0 -45
  122. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +0 -1
  123. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +0 -103
  124. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +0 -1
  125. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +0 -47
  126. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +0 -1
  127. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +0 -124
  128. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +0 -1
  129. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +0 -164
  130. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +0 -1
  131. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +0 -120
  132. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +0 -1
  133. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +0 -115
  134. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +0 -1
  135. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +0 -125
  136. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +0 -1
  137. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +0 -88
  138. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +0 -1
  139. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +0 -79
  140. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +0 -1
  141. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +0 -110
  142. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +0 -1
  143. package/dist-server/routers/api/restful-apis/v1/get-partners.js +0 -23
  144. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +0 -1
  145. package/dist-server/routers/api/restful-apis/v1/get-products.js +0 -210
  146. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +0 -1
  147. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +0 -122
  148. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +0 -1
  149. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +0 -191
  150. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +0 -1
  151. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +0 -20
  152. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +0 -1
  153. package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
  154. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
  155. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
  156. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
  157. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
  158. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
  159. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
  160. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
  161. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
  162. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
  163. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
  164. package/server/routers/api/restful-apis/v1/get-partners.ts +0 -24
  165. package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
  166. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
  167. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
  168. package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -18
@@ -0,0 +1,199 @@
1
+ const limitOffset = ['limit', 'offset']
2
+ const fromToDate = ['fromDate', 'toDate']
3
+
4
+ // all possible fields in objects
5
+ // endpoint will only accept objects with these fields
6
+ // used for throwing E02 error
7
+ export const expectedParams = {
8
+ getBizplaceList: [...limitOffset],
9
+ getContactPointList: ['bizplaceId', 'companyName', 'email', ...limitOffset],
10
+ getProductList: ['bizplaceId', 'skuId', ...limitOffset],
11
+ getMarketplaceStoreList: [...limitOffset],
12
+ getMarketplaceOrderShippingList: ['storeId', 'shippingNo', 'orderNo', 'status', ...fromToDate, ...limitOffset],
13
+ getPartnerList: ['bizplaceId', ...limitOffset],
14
+ getInboundOrderList: ['bizplaceId', 'ganNo', 'status', ...fromToDate, ...limitOffset],
15
+ getInboundOrderDetails: ['bizplaceId', 'ganNo'],
16
+ getGoodsReceivedNoteList: ['bizplaceId', ...fromToDate, ...limitOffset],
17
+ getReleaseOrderList: ['bizplaceId', 'roNo', 'status', ...fromToDate, ...limitOffset],
18
+ getReleaseOrderDetails: ['bizplaceId', 'roNo'],
19
+ getDeliveryOrderList: ['bizplaceId', ...fromToDate, ...limitOffset],
20
+ getOnhandInventoryList: ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
21
+ getInventoryProductGroupList: ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
22
+ addContactPoints: ['bizplaceId', 'data'],
23
+ addContactPointsData: [
24
+ 'name',
25
+ 'companyName',
26
+ 'description',
27
+ 'email',
28
+ 'fax',
29
+ 'phone',
30
+ 'billingAddress',
31
+ 'accountNo',
32
+ 'address',
33
+ 'address2',
34
+ 'city',
35
+ 'state',
36
+ 'postCode',
37
+ 'type'
38
+ ],
39
+ cancelMarketplaceOrder: ['storeId', 'orderNo', 'remark', 'cancelBy'],
40
+ requireDataKey: ['data'],
41
+ addProductsData: [
42
+ 'sku',
43
+ 'brandSku',
44
+ 'name',
45
+ 'description',
46
+ 'type',
47
+ 'brand',
48
+ 'subBrand',
49
+ 'isRequiredCheckExpiry',
50
+ 'isRequireSerialNumberScanning',
51
+ 'isRequireSerialNumberScanningInbound',
52
+ 'isRequireSerialNumberScanningOutbound',
53
+ 'pickingStrategy',
54
+ 'expirationPeriod',
55
+ 'productDetails'
56
+ ],
57
+ addProductsDataProductDetails: [
58
+ 'isDefault',
59
+ 'gtin',
60
+ 'refCode',
61
+ 'packingType',
62
+ 'packingSize',
63
+ 'uom',
64
+ 'uomValue',
65
+ 'costPrice',
66
+ 'minQty',
67
+ 'maxQty',
68
+ 'bufferQty',
69
+ 'movement',
70
+ 'weightUnit',
71
+ 'nettWeight',
72
+ 'grossWeight',
73
+ 'lengthUnit',
74
+ 'width',
75
+ 'depth',
76
+ 'height',
77
+ 'volume',
78
+ 'auxUnit1',
79
+ 'auxValue1',
80
+ 'auxUnit2',
81
+ 'auxValue2',
82
+ 'auxUnit3',
83
+ 'auxValue3',
84
+ 'auxUnit4',
85
+ 'auxValue4',
86
+ 'auxUnit5',
87
+ 'auxValue5',
88
+ 'childProductDetail'
89
+ ],
90
+ updateMarketplaceOrderDelivered: ['storeId', 'orderNo'],
91
+ cancelInboundOrder: ['bizplaceId', 'data'],
92
+ cancelInboundOrderData: ['ganNo', 'remark'],
93
+ addMplaceOrder: ['storeId', 'data'],
94
+ addMplaceData: [
95
+ 'orderNo',
96
+ 'status',
97
+ 'itemCount',
98
+ 'paymentMethod',
99
+ 'remark',
100
+ 'giftOption',
101
+ 'orderCreatedAt',
102
+ 'orderUpdatedAt',
103
+ 'marketplaceOrderItems'
104
+ ],
105
+ addMplaceDataMplaceOrderItems: [
106
+ 'orderItemId',
107
+ 'qty',
108
+ 'cancelBy',
109
+ 'returnStatus',
110
+ 'packageId',
111
+ 'status',
112
+ 'marketplaceProductVariation',
113
+ 'marketplaceOrderShipping'
114
+ ],
115
+ addMplaceDataMplaceProductVar: ['variationId', 'sku', 'variationSku', 'variationName'],
116
+ addMplaceDataMplaceOrderShipping: [
117
+ 'attentionTo',
118
+ 'address1',
119
+ 'address2',
120
+ 'address3',
121
+ 'address4',
122
+ 'address5',
123
+ 'state',
124
+ 'city',
125
+ 'postCode',
126
+ 'country',
127
+ 'phone1',
128
+ 'phone2',
129
+ 'email',
130
+ 'freightType',
131
+ 'parcelType',
132
+ 'deliveryMethod',
133
+ 'totalWeight',
134
+ 'totalVolume',
135
+ 'transporter'
136
+ ],
137
+ addInboundOrderData: [
138
+ 'bizplaceId',
139
+ 'refNo',
140
+ 'refNo2',
141
+ 'refNo3',
142
+ 'etaDate',
143
+ 'ownTransport',
144
+ 'importCargo',
145
+ 'container',
146
+ 'containerNo',
147
+ 'containerSize',
148
+ 'truckNo',
149
+ 'deliveryOrderNo',
150
+ 'orderProducts',
151
+ 'supplier'
152
+ ],
153
+ addInboundOrderDataOrderProducts: ['product', 'batchId', 'packingType', 'packingSize', 'packQty', 'palletQty'],
154
+ addInboundOrderDataOrderProductsProduct: ['sku', 'uom', 'uomValue'],
155
+ addInboundOrderDataSupplier: ['name', 'companyName', 'email', 'accountNo']
156
+ }
157
+
158
+ // used for throwing E03 error
159
+ // endpoint will only accept requests that have objects with these fields
160
+ export const reqParams = {
161
+ getContactPointList: ['bizplaceId'],
162
+ getProductList: ['bizplaceId'],
163
+ getMarketplaceOrderShippingList: ['storeId'],
164
+ getInboundOrderList: ['bizplaceId'],
165
+ getInboundOrderDetails: ['bizplaceId', 'ganNo'],
166
+ getGoodsReceivedNoteList: ['bizplaceId'],
167
+ getReleaseOrderList: ['bizplaceId'],
168
+ getReleaseOrderDetails: ['bizplaceId', 'roNo'],
169
+ getDeliveryOrderList: ['bizplaceId'],
170
+ getOnhandInventoryList: ['bizplaceId'],
171
+ getInventoryProductGroupList: ['bizplaceId'],
172
+ requireDataKey: ['data'],
173
+ addContactPoints: ['bizplaceId', 'data'],
174
+ addContactPointsData: ['name', 'email', 'phone', 'address', 'type'],
175
+ cancelMarketplaceOrder: ['storeId', 'orderNo', 'remark'],
176
+ addProductsData: ['sku', 'name', 'type', 'productDetails'],
177
+ addProductsDataProductDetails: ['isDefault', 'gtin', 'packingType', 'packingSize', 'uom', 'uomValue'],
178
+ updateMarketplaceOrderDelivered: ['storeId', 'orderNo'],
179
+ cancelInboundOrder: ['bizplaceId', 'data'],
180
+ cancelInboundOrderData: ['ganNo', 'remark'],
181
+ addMplaceOrder: ['storeId', 'data'],
182
+ addMplaceData: ['orderNo', 'status', 'marketplaceOrderItems'],
183
+ addMplaceOrderDataMplaceOrderItems: ['orderItemId', 'qty', 'marketplaceProductVariation', 'marketplaceOrderShipping'],
184
+ addMplaceDataMplaceProductVar: ['variationId', 'variationSku', 'variationName'],
185
+ addMplaceDataMplaceOrderShipping: [
186
+ 'attentionTo',
187
+ 'address1',
188
+ 'state',
189
+ 'city',
190
+ 'postCode',
191
+ 'country',
192
+ 'phone1',
193
+ 'email'
194
+ ],
195
+ addInboundOrderData: ['bizplaceId', 'etaDate', 'ownTransport', 'orderProducts'],
196
+ addInboundOrderDataOrderProducts: ['product', 'batchId', 'packQty'],
197
+ addInboundOrderDataOrderProductsProduct: ['sku'],
198
+ addInboundOrderDataSupplier: ['name', 'companyName', 'email', 'accountNo']
199
+ }
@@ -0,0 +1,291 @@
1
+ const limitOffset = ['limit', 'offset']
2
+ const fromToDate = ['fromDate', 'toDate']
3
+
4
+ export const params = {
5
+ 'get-bizplace-list': [...limitOffset],
6
+ 'get-contact-point-list': ['bizplaceId', 'companyName', 'email', ...limitOffset],
7
+ 'get-product-list': ['bizplaceId', 'skuId', ...limitOffset],
8
+ 'get-marketplace-store-list': [...limitOffset],
9
+ 'get-marketplace-order-shipping-list': ['storeId', 'shippingNo', 'orderNo', 'status', ...fromToDate, ...limitOffset],
10
+ 'get-partner-list': ['bizplaceId', ...limitOffset],
11
+ 'get-inbound-order-list': ['bizplaceId', 'ganNo', 'status', ...fromToDate, ...limitOffset],
12
+ 'get-inbound-order-details': ['bizplaceId', 'ganNo'],
13
+ 'get-goods-received-note-list': ['bizplaceId', ...fromToDate, ...limitOffset],
14
+ 'get-release-order-list': ['bizplaceId', 'roNo', 'status', ...fromToDate, ...limitOffset],
15
+ 'get-release-order-details': ['bizplaceId', 'roNo'],
16
+ 'get-delivery-order-list': ['bizplaceId', ...fromToDate, ...limitOffset],
17
+ 'get-onhand-inventory-list': ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
18
+ 'get-inventory-product-group-list': ['bizplaceId', 'sku', 'batchId', ...fromToDate, ...limitOffset],
19
+ 'add-contact-points': [
20
+ 'bizplaceId',
21
+ 'name',
22
+ 'companyName',
23
+ 'description',
24
+ 'email',
25
+ 'fax',
26
+ 'phone',
27
+ 'billingAddress',
28
+ 'accountNo',
29
+ 'address',
30
+ 'address2',
31
+ 'city',
32
+ 'state',
33
+ 'postCode',
34
+ 'type'
35
+ ],
36
+ 'add-marketplace-order': [
37
+ 'storeId',
38
+ 'orderNo',
39
+ 'status',
40
+ 'itemCount',
41
+ 'paymentMethod',
42
+ 'remark',
43
+ 'giftOption',
44
+ 'orderCreatedAt',
45
+ 'orderUpdatedAt',
46
+ 'marketplaceOrderItems',
47
+ 'marketplaceOrderItems.orderItemId',
48
+ 'marketplaceOrderItems.qty',
49
+ 'marketplaceOrderItems.cancelBy',
50
+ 'marketplaceOrderItems.returnStatus',
51
+ 'marketplaceOrderItems.packageId',
52
+ 'marketplaceOrderItems.status',
53
+ 'marketplaceOrderItems.marketplaceProductVariation',
54
+ 'marketplaceOrderItems.marketplaceProductVariation.sku',
55
+ 'marketplaceOrderItems.marketplaceProductVariation.variationSku',
56
+ 'marketplaceOrderItems.marketplaceProductVariation.variationName',
57
+ 'marketplaceOrderItems.marketplaceProductVariation.variationId',
58
+ 'marketplaceOrderItems.marketplaceOrderShipping',
59
+ 'marketplaceOrderItems.marketplaceOrderShipping.attentionTo',
60
+ 'marketplaceOrderItems.marketplaceOrderShipping.address1',
61
+ 'marketplaceOrderItems.marketplaceOrderShipping.address2',
62
+ 'marketplaceOrderItems.marketplaceOrderShipping.address3',
63
+ 'marketplaceOrderItems.marketplaceOrderShipping.address4',
64
+ 'marketplaceOrderItems.marketplaceOrderShipping.address5',
65
+ 'marketplaceOrderItems.marketplaceOrderShipping.state',
66
+ 'marketplaceOrderItems.marketplaceOrderShipping.city',
67
+ 'marketplaceOrderItems.marketplaceOrderShipping.postCode',
68
+ 'marketplaceOrderItems.marketplaceOrderShipping.country',
69
+ 'marketplaceOrderItems.marketplaceOrderShipping.phone1',
70
+ 'marketplaceOrderItems.marketplaceOrderShipping.phone2',
71
+ 'marketplaceOrderItems.marketplaceOrderShipping.email',
72
+ 'marketplaceOrderItems.marketplaceOrderShipping.freightType',
73
+ 'marketplaceOrderItems.marketplaceOrderShipping.parcelType',
74
+ 'marketplaceOrderItems.marketplaceOrderShipping.deliveryMethod',
75
+ 'marketplaceOrderItems.marketplaceOrderShipping.totalWeight',
76
+ 'marketplaceOrderItems.marketplaceOrderShipping.totalVolume',
77
+ 'marketplaceOrderItems.marketplaceOrderShipping.transporter'
78
+ ],
79
+ 'cancel-marketplace-order': ['storeId', 'orderNo', 'remark', 'cancelBy'],
80
+ 'update-marketplace-order-delivered': ['storeId', 'orderNo'],
81
+ 'add-products': [
82
+ 'sku',
83
+ 'brandSku',
84
+ 'name',
85
+ 'description',
86
+ 'type',
87
+ 'brand',
88
+ 'subBrand',
89
+ 'isRequiredCheckExpiry',
90
+ 'isRequireSerialNumberScanning',
91
+ 'isRequireSerialNumberScanningInbound',
92
+ 'isRequireSerialNumberScanningOutbound',
93
+ 'pickingStrategy',
94
+ 'expirationPeriod',
95
+ 'productDetails',
96
+ 'productDetails.isDefault',
97
+ 'productDetails.gtin',
98
+ 'productDetails.refCode',
99
+ 'productDetails.packingType',
100
+ 'productDetails.packingSize',
101
+ 'productDetails.uom',
102
+ 'productDetails.uomValue',
103
+ 'productDetails.costPrice',
104
+ 'productDetails.minQty',
105
+ 'productDetails.maxQty',
106
+ 'productDetails.bufferQty',
107
+ 'productDetails.movement',
108
+ 'productDetails.weightUnit',
109
+ 'productDetails.nettWeight',
110
+ 'productDetails.grossWeight',
111
+ 'productDetails.lengthUnit',
112
+ 'productDetails.width',
113
+ 'productDetails.depth',
114
+ 'productDetails.height',
115
+ 'productDetails.volume',
116
+ 'productDetails.auxUnit1',
117
+ 'productDetails.auxValue1',
118
+ 'productDetails.auxUnit2',
119
+ 'productDetails.auxValue2',
120
+ 'productDetails.auxUnit3',
121
+ 'productDetails.auxValue3',
122
+ 'productDetails.auxUnit4',
123
+ 'productDetails.auxValue4',
124
+ 'productDetails.auxUnit5',
125
+ 'productDetails.auxValue5',
126
+ 'productDetails.childProductDetail'
127
+ ],
128
+ 'add-inbound-order': [
129
+ 'bizplaceId',
130
+ 'refNo',
131
+ 'refNo2',
132
+ 'refNo3',
133
+ 'etaDate',
134
+ 'ownTransport',
135
+ 'importCargo',
136
+ 'container',
137
+ 'containerNo',
138
+ 'containerSize',
139
+ 'truckNo',
140
+ 'deliveryOrderNo',
141
+ 'orderProducts',
142
+ 'orderProducts.batchId',
143
+ 'orderProducts.packingType',
144
+ 'orderProducts.packingSize',
145
+ 'orderProducts.packQty',
146
+ 'orderProducts.palletQty',
147
+ 'orderProducts.product',
148
+ 'orderProducts.product.sku',
149
+ 'orderProducts.product.uom',
150
+ 'orderProducts.product.uomValue',
151
+ 'supplier',
152
+ 'supplier.name',
153
+ 'supplier.companyName',
154
+ 'supplier.email',
155
+ 'supplier.accountNo'
156
+ ],
157
+ 'cancel-inbound-order': ['bizplaceId', 'ganNo', 'remark'],
158
+ 'add-release-order': [
159
+ 'bizplaceId',
160
+ 'releaseDate',
161
+ 'refNo',
162
+ 'refNo2',
163
+ 'refNo3',
164
+ 'type',
165
+ 'transporter',
166
+ 'trackingNo',
167
+ 'packingOption',
168
+ 'exportOption',
169
+ 'ownTransport',
170
+ 'courierOption',
171
+ 'collectionOrderNo',
172
+ 'shippingOrder',
173
+ 'shippingOrder.shipName',
174
+ 'shippingOrder.containerNo',
175
+ 'shippingOrder.loadType',
176
+ 'shippingOrder.from',
177
+ 'shippingOrder.to',
178
+ 'shippingOrder.containerArrivalDate',
179
+ 'shippingOrder.containerLeavingDate',
180
+ 'deliverTo',
181
+ 'deliverTo.deliveryAddress1',
182
+ 'deliverTo.deliveryAddress2',
183
+ 'deliverTo.deliveryAddress3',
184
+ 'deliverTo.deliveryAddress4',
185
+ 'deliverTo.deliveryAddress5',
186
+ 'deliverTo.attentionTo',
187
+ 'deliverTo.city',
188
+ 'deliverTo.postalCode',
189
+ 'deliverTo.country',
190
+ 'deliverTo.state',
191
+ 'deliverTo.phone1',
192
+ 'deliverTo.phone2',
193
+ 'marketplaceOrderStatus',
194
+ 'airwayBill',
195
+ 'invoice',
196
+ 'attentionCompany',
197
+ 'email',
198
+ 'packageId',
199
+ 'storeName',
200
+ 'storeId',
201
+ 'routeId',
202
+ 'stopId',
203
+ 'source',
204
+ 'orderInventories:',
205
+ 'orderInventories.product',
206
+ 'orderInventories.product.sku',
207
+ 'orderInventories.product.refCode',
208
+ 'orderInventories.product.packingType',
209
+ 'orderInventories.product.packingSize',
210
+ 'orderInventories.releaseQty'
211
+ ]
212
+ }
213
+
214
+ export const reqParams = {
215
+ 'get-contact-point-list': ['bizplaceId'],
216
+ 'get-product-list': ['bizplaceId'],
217
+ 'get-marketplace-order-shipping-list': ['storeId'],
218
+ 'get-inbound-order-list': ['bizplaceId'],
219
+ 'get-inbound-order-details': ['bizplaceId', 'ganNo'],
220
+ 'get-goods-received-note-list': ['bizplaceId'],
221
+ 'get-release-order-list': ['bizplaceId'],
222
+ 'get-release-order-details': ['bizplaceId', 'roNo'],
223
+ 'get-delivery-order-list': ['bizplaceId'],
224
+ 'get-onhand-inventory-list': ['bizplaceId'],
225
+ 'get-inventory-product-group-list': ['bizplaceId'],
226
+ 'add-contact-points': ['bizplaceId', 'name', 'email', 'phone', 'address', 'type'],
227
+ 'add-marketplace-order': [
228
+ 'storeId',
229
+ 'orderNo',
230
+ 'status',
231
+ 'marketplaceOrderItems',
232
+ 'marketplaceOrderItems.orderItemId',
233
+ 'marketplaceOrderItems.qty',
234
+ 'marketplaceOrderItems.marketplaceProductVariation',
235
+ 'marketplaceOrderItems.marketplaceProductVariation.variationId',
236
+ 'marketplaceOrderItems.marketplaceProductVariation.variationSku',
237
+ 'marketplaceOrderItems.marketplaceProductVariation.variationName',
238
+ 'marketplaceOrderItems.marketplaceOrderShipping',
239
+ 'marketplaceOrderItems.marketplaceOrderShipping.attentionTo',
240
+ 'marketplaceOrderItems.marketplaceOrderShipping.address1',
241
+ 'marketplaceOrderItems.marketplaceOrderShipping.state',
242
+ 'marketplaceOrderItems.marketplaceOrderShipping.city',
243
+ 'marketplaceOrderItems.marketplaceOrderShipping.postCode',
244
+ 'marketplaceOrderItems.marketplaceOrderShipping.country',
245
+ 'marketplaceOrderItems.marketplaceOrderShipping.phone1',
246
+ 'marketplaceOrderItems.marketplaceOrderShipping.email'
247
+ ],
248
+ 'cancel-marketplace-order': ['storeId', 'orderNo', 'remark'],
249
+ 'update-marketplace-order-delivered': ['storeId', 'orderNo'],
250
+ 'add-products': [
251
+ 'sku',
252
+ 'name',
253
+ 'type',
254
+ 'productDetails',
255
+ 'productDetails.isDefault',
256
+ 'productDetails.gtin',
257
+ 'productDetails.packingType',
258
+ 'productDetails.packingSize',
259
+ 'productDetails.uom',
260
+ 'productDetails.uomValue'
261
+ ],
262
+ 'add-release-order': [
263
+ 'bizplaceId',
264
+ 'releaseDate',
265
+ 'exportOption',
266
+ 'ownTransport',
267
+ 'shippingOrder.shipName',
268
+ 'shippingOrder.containerNo',
269
+ 'shippingOrder.containerArrivalDate',
270
+ 'shippingOrder.containerLeavingDate',
271
+ 'orderInventories',
272
+ 'orderInventories.product',
273
+ 'orderInventories.product.sku',
274
+ 'orderInventories.releaseQty'
275
+ ],
276
+ 'add-inbound-order': [
277
+ 'bizplaceId',
278
+ 'etaDate',
279
+ 'ownTransport',
280
+ 'orderProducts',
281
+ 'orderProducts.batchId',
282
+ 'orderProducts.packQty',
283
+ 'orderProducts.product',
284
+ 'orderProducts.product.sku',
285
+ 'supplier.name',
286
+ 'supplier.companyName',
287
+ 'supplier.email',
288
+ 'supplier.accountNo'
289
+ ],
290
+ 'cancel-inbound-order': ['bizplaceId', 'ganNo', 'remark']
291
+ }
@@ -0,0 +1,74 @@
1
+ import _ from 'lodash'
2
+ import { getRepository } from 'typeorm'
3
+
4
+ import { Bizplace } from '@things-factory/biz-base'
5
+
6
+ import { ApiError } from './error-util'
7
+
8
+ // validates limit and offset are passed in as integers within accepted range
9
+ // values are floored
10
+ export function validateLimitOffset(limit, offset) {
11
+ if (!limit) limit = 100
12
+ limit = parseInt(limit)
13
+ if (isNaN(limit)) throw new ApiError('E01', 'limit')
14
+ if (limit > 100 || limit < 1) throw new ApiError('E01', 'limit')
15
+
16
+ if (!offset) offset = 0
17
+ offset = parseInt(offset)
18
+ if (isNaN(offset)) throw new ApiError('E01', 'offset')
19
+ if (offset < 0) throw new ApiError('E01', 'offset')
20
+
21
+ return { limit, offset }
22
+ }
23
+
24
+ // loops through query parameters to ensure only expected parameters are passed to logic
25
+ export function validateFilter(queryObj: Object, expectedParams: string[]) {
26
+ for (const key in queryObj) {
27
+ if (!expectedParams.includes(key)) throw new ApiError('E02', key)
28
+ }
29
+ }
30
+
31
+ // checks if object has required parameter property
32
+ export function validateReqParams(queryObj: Object, reqParams: string[]) {
33
+ let noparams = []
34
+ for (const reqParam of reqParams) {
35
+ if (!_.has(queryObj, reqParam)) noparams.push(reqParam)
36
+ }
37
+ if (noparams.length > 0) throw new ApiError('E03', noparams.join(', '))
38
+ }
39
+
40
+ // assigns default values if undefined
41
+ // validates passed in dates are ISO format
42
+ // converts ISO format dates to UTC format dates for database query
43
+ export function validateFromToDate(fromDate, toDate) {
44
+ const now = new Date()
45
+ const ago = new Date(now.getTime())
46
+ const sevenDaysAgo = ago.setDate(ago.getDate() - 7)
47
+ const nowUtc = now.toUTCString()
48
+ const sevenDaysAgoUtc = new Date(sevenDaysAgo).toUTCString()
49
+
50
+ if (!fromDate) fromDate = sevenDaysAgoUtc
51
+ else fromDate = new Date(fromDate).toUTCString()
52
+ if (!toDate) toDate = nowUtc
53
+ else toDate = new Date(toDate).toUTCString()
54
+
55
+ if (isNaN(Date.parse(fromDate))) throw new ApiError('E01', 'fromDate')
56
+ if (isNaN(Date.parse(toDate))) throw new ApiError('E01', 'toDate')
57
+
58
+ return { fromDate, toDate }
59
+ }
60
+
61
+ // validates if bizplace belongs to company
62
+ export async function validateBizplaceOfCompany(companyId, bizplaceId) {
63
+ if (!isValidUUID(bizplaceId)) throw new ApiError('E01', 'bizplaceId')
64
+ const bizplace: Bizplace = await getRepository(Bizplace).findOne({
65
+ where: { id: bizplaceId }
66
+ })
67
+ if (!bizplace) throw new ApiError('E01', 'bizplaceId')
68
+ }
69
+
70
+ // Regular expression to check if string is a valid UUID
71
+ function isValidUUID(str) {
72
+ const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi
73
+ return regexExp.test(str)
74
+ }