@things-factory/operato-hub 4.3.79-alpha.1 → 4.3.79

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 +1 -4
  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 +2 -3
  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 +2 -5
  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 +2 -4
  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/bizplace.js +45 -0
  11. package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +1 -0
  12. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +103 -0
  13. package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +1 -0
  14. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +47 -0
  15. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +1 -0
  16. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +124 -0
  17. package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +1 -0
  18. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +164 -0
  19. package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -0
  20. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +120 -0
  21. package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -0
  22. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +115 -0
  23. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +1 -0
  24. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +125 -0
  25. package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +1 -0
  26. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +88 -0
  27. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +1 -0
  28. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +79 -0
  29. package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +1 -0
  30. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +110 -0
  31. package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -0
  32. package/dist-server/routers/api/restful-apis/v1/get-partners.js +23 -0
  33. package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -0
  34. package/dist-server/routers/api/restful-apis/v1/get-products.js +210 -0
  35. package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -0
  36. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +122 -0
  37. package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +1 -0
  38. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +191 -0
  39. package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +1 -0
  40. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +20 -0
  41. package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -0
  42. package/dist-server/routers/api/restful-apis/v1/index.js +31 -2
  43. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  44. package/package.json +54 -54
  45. package/server/middlewares/business-middleware.ts +1 -5
  46. package/server/middlewares/store-middleware.ts +0 -1
  47. package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +2 -3
  48. package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +2 -5
  49. package/server/routers/api/restful-apis/unstable/add-release-order.ts +2 -4
  50. package/server/routers/api/restful-apis/v1/bizplace.ts +45 -0
  51. package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +110 -0
  52. package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +46 -0
  53. package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +121 -0
  54. package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +178 -0
  55. package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +134 -0
  56. package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +128 -0
  57. package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +126 -0
  58. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +99 -0
  59. package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +81 -0
  60. package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +125 -0
  61. package/server/routers/api/restful-apis/v1/get-partners.ts +24 -0
  62. package/server/routers/api/restful-apis/v1/get-products.ts +216 -0
  63. package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +134 -0
  64. package/server/routers/api/restful-apis/v1/get-release-order-list.ts +198 -0
  65. package/server/routers/api/restful-apis/v1/get-warehouses.ts +18 -0
  66. package/server/routers/api/restful-apis/v1/index.ts +31 -2
  67. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +0 -94
  68. package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +0 -1
  69. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js +0 -208
  70. package/dist-server/routers/api/restful-apis/v1/company/add-marketplace-order.js.map +0 -1
  71. package/dist-server/routers/api/restful-apis/v1/company/add-product.js +0 -65
  72. package/dist-server/routers/api/restful-apis/v1/company/add-product.js.map +0 -1
  73. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js +0 -97
  74. package/dist-server/routers/api/restful-apis/v1/company/cancel-marketplace-order.js.map +0 -1
  75. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +0 -50
  76. package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +0 -1
  77. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +0 -63
  78. package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +0 -1
  79. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js +0 -110
  80. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.js.map +0 -1
  81. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js +0 -52
  82. package/dist-server/routers/api/restful-apis/v1/company/get-marketplace-store-list.js.map +0 -1
  83. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +0 -90
  84. package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +0 -1
  85. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +0 -99
  86. package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +0 -1
  87. package/dist-server/routers/api/restful-apis/v1/company/index.js +0 -14
  88. package/dist-server/routers/api/restful-apis/v1/company/index.js.map +0 -1
  89. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js +0 -65
  90. package/dist-server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.js.map +0 -1
  91. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +0 -29
  92. package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +0 -1
  93. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +0 -40
  94. package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +0 -1
  95. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +0 -23
  96. package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +0 -1
  97. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +0 -32
  98. package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +0 -1
  99. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +0 -53
  100. package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +0 -1
  101. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +0 -31
  102. package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +0 -1
  103. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +0 -71
  104. package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +0 -1
  105. package/dist-server/routers/api/restful-apis/v1/utils/expected-parameters.js +0 -201
  106. package/dist-server/routers/api/restful-apis/v1/utils/expected-parameters.js.map +0 -1
  107. package/dist-server/routers/api/restful-apis/v1/utils/params.js +0 -293
  108. package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +0 -1
  109. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +0 -90
  110. package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +0 -1
  111. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +0 -277
  112. package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +0 -1
  113. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +0 -810
  114. package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +0 -1
  115. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +0 -116
  116. package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +0 -1
  117. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +0 -140
  118. package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +0 -1
  119. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +0 -100
  120. package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +0 -1
  121. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +0 -78
  122. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +0 -1
  123. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +0 -96
  124. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +0 -1
  125. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +0 -244
  126. package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +0 -1
  127. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +0 -96
  128. package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +0 -1
  129. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +0 -94
  130. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +0 -1
  131. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +0 -112
  132. package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +0 -1
  133. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +0 -13
  134. package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +0 -1
  135. package/server/routers/api/restful-apis/v1/company/add-contact-points.ts +0 -94
  136. package/server/routers/api/restful-apis/v1/company/add-marketplace-order.ts +0 -242
  137. package/server/routers/api/restful-apis/v1/company/add-product.ts +0 -78
  138. package/server/routers/api/restful-apis/v1/company/cancel-marketplace-order.ts +0 -102
  139. package/server/routers/api/restful-apis/v1/company/get-bizplace-list.ts +0 -56
  140. package/server/routers/api/restful-apis/v1/company/get-contact-point-list.ts +0 -69
  141. package/server/routers/api/restful-apis/v1/company/get-marketplace-order-shipping-list.ts +0 -118
  142. package/server/routers/api/restful-apis/v1/company/get-marketplace-store-list.ts +0 -58
  143. package/server/routers/api/restful-apis/v1/company/get-partner-list.ts +0 -97
  144. package/server/routers/api/restful-apis/v1/company/get-product-list.ts +0 -105
  145. package/server/routers/api/restful-apis/v1/company/index.ts +0 -11
  146. package/server/routers/api/restful-apis/v1/company/update-marketplace-order-delivered.ts +0 -70
  147. package/server/routers/api/restful-apis/v1/middlewares/business-middleware.ts +0 -31
  148. package/server/routers/api/restful-apis/v1/middlewares/index.ts +0 -26
  149. package/server/routers/api/restful-apis/v1/middlewares/logging-middleware.ts +0 -24
  150. package/server/routers/api/restful-apis/v1/middlewares/store-middleware.ts +0 -34
  151. package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +0 -50
  152. package/server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.ts +0 -31
  153. package/server/routers/api/restful-apis/v1/utils/error-util.ts +0 -70
  154. package/server/routers/api/restful-apis/v1/utils/expected-parameters.ts +0 -199
  155. package/server/routers/api/restful-apis/v1/utils/params.ts +0 -291
  156. package/server/routers/api/restful-apis/v1/utils/validate-util.ts +0 -74
  157. package/server/routers/api/restful-apis/v1/warehouse/add-inbound-order.ts +0 -361
  158. package/server/routers/api/restful-apis/v1/warehouse/add-release-order.ts +0 -1000
  159. package/server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.ts +0 -139
  160. package/server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.ts +0 -144
  161. package/server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.ts +0 -109
  162. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.ts +0 -74
  163. package/server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.ts +0 -99
  164. package/server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.ts +0 -295
  165. package/server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.ts +0 -99
  166. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-details.ts +0 -97
  167. package/server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts +0 -116
  168. package/server/routers/api/restful-apis/v1/warehouse/index.ts +0 -10
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const lodash_1 = __importDefault(require("lodash"));
7
- const typeorm_1 = require("typeorm");
8
- const api_1 = require("@things-factory/api");
9
- const sales_base_1 = require("@things-factory/sales-base");
10
- const error_util_1 = require("../utils/error-util");
11
- const validate_util_1 = require("../utils/validate-util");
12
- const middlewares_1 = require("../middlewares");
13
- api_1.restfulApiRouter.get('/v1/warehouse/get-release-order-list', middlewares_1.businessMiddleware, middlewares_1.validationMiddleware, middlewares_1.loggingMiddleware, async (context, next) => {
14
- try {
15
- const { limit, offset } = (0, validate_util_1.validateLimitOffset)(context.query.limit, context.query.offset);
16
- const { fromDate, toDate } = (0, validate_util_1.validateFromToDate)(context.query.fromDate, context.query.toDate);
17
- // get contact points for that bizplace
18
- // optional query parameter filter
19
- let filter = Object.assign({}, context.query);
20
- filter['bizplace'] = filter['bizplaceId'];
21
- delete filter['bizplaceId'];
22
- if (lodash_1.default.has(filter, 'roNo')) {
23
- filter['name'] = filter['roNo'];
24
- delete filter['roNo'];
25
- }
26
- filter['createdAt'] = (0, typeorm_1.Between)(fromDate, toDate);
27
- delete filter['fromDate'];
28
- delete filter['toDate'];
29
- delete filter['limit'];
30
- delete filter['offset'];
31
- const [releaseGoods, totalCount] = await (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).findAndCount({
32
- where: filter,
33
- relations: ['orderInventories', 'orderInventories.product'],
34
- skip: offset,
35
- take: limit,
36
- order: { createdAt: 'DESC' }
37
- });
38
- // create and format data response
39
- let data = [];
40
- for (const releaseGood of releaseGoods) {
41
- let orderInventories = [];
42
- for (const orderInventory of releaseGood.orderInventories) {
43
- const orderInventoriesDataPoint = {
44
- product: {
45
- sku: orderInventory.product.sku,
46
- refCode: orderInventory.product.refCode
47
- },
48
- batchId: orderInventory.batchId,
49
- packingType: orderInventory.packingType,
50
- releaseQty: orderInventory.releaseQty,
51
- packingSize: orderInventory.packingSize
52
- };
53
- orderInventories.push(orderInventoriesDataPoint);
54
- }
55
- const datapoint = {
56
- id: releaseGood.id,
57
- roNo: releaseGood.roNo,
58
- refNo: releaseGood.refNo,
59
- refNo2: releaseGood.refNo2,
60
- refNo3: releaseGood.refNo3,
61
- type: releaseGood.type,
62
- releaseDate: releaseGood.releaseDate,
63
- collectionOrderNo: releaseGood.collectionOrderNo,
64
- ownTransport: releaseGood.ownTransport,
65
- exportOption: releaseGood.exportOption,
66
- transporter: releaseGood.transporter,
67
- trackingNo: releaseGood.trackingNo,
68
- marketplaceOrderStatus: releaseGood.marketplaceOrderStatus,
69
- airwayBill: releaseGood.airwayBill,
70
- invoice: releaseGood.invoice,
71
- storeName: releaseGood.storeName,
72
- storeId: releaseGood.storeId,
73
- routeId: releaseGood.routeId,
74
- stopId: releaseGood.stopId,
75
- billTo: {
76
- billingAddress: releaseGood.billingAddress
77
- },
78
- deliverTo: {
79
- deliveryAddress1: releaseGood.deliveryAddress1,
80
- deliveryAddress2: releaseGood.deliveryAddress2,
81
- deliveryAddress3: releaseGood.deliveryAddress3,
82
- deliveryAddress4: releaseGood.deliveryAddress4,
83
- deliveryAddress5: releaseGood.deliveryAddress5,
84
- attentionTo: releaseGood.attentionTo,
85
- attentionCompany: releaseGood.attentionCompany,
86
- city: releaseGood.city,
87
- state: releaseGood.state,
88
- postalCode: releaseGood.postalCode,
89
- country: releaseGood.country,
90
- phone1: releaseGood.phone1,
91
- phone2: releaseGood.phone2,
92
- email: releaseGood.email
93
- },
94
- orderInventories
95
- };
96
- data.push(datapoint);
97
- }
98
- context.body = {
99
- data,
100
- totalCount,
101
- limit,
102
- offset
103
- };
104
- }
105
- catch (e) {
106
- if (e instanceof error_util_1.ApiError)
107
- (0, error_util_1.ApiErrorHandler)(context, e);
108
- else
109
- (0, error_util_1.throwInternalServerError)(context, e);
110
- }
111
- });
112
- //# sourceMappingURL=get-release-order-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-release-order-list.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/warehouse/get-release-order-list.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("./cancel-inbound-order");
4
- require("./get-delivery-order-list");
5
- require("./get-goods-received-note-list");
6
- require("./get-inbound-order-details");
7
- require("./get-inbound-order-list");
8
- require("./get-inventory-product-group-list");
9
- require("./get-onhand-inventory-list");
10
- require("./get-release-order-details");
11
- require("./get-release-order-list");
12
- require("./add-release-order");
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../server/routers/api/restful-apis/v1/warehouse/index.ts"],"names":[],"mappings":";;AAAA,kCAA+B;AAC/B,qCAAkC;AAClC,0CAAuC;AACvC,uCAAoC;AACpC,oCAAiC;AACjC,8CAA2C;AAC3C,uCAAoC;AACpC,uCAAoC;AACpC,oCAAiC;AACjC,+BAA4B"}
@@ -1,94 +0,0 @@
1
- import { getConnection, EntityManager } from 'typeorm'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
- import { ContactPoint } from '@things-factory/biz-base'
5
- import { Bizplace } from '@things-factory/biz-base'
6
-
7
- import { businessMiddleware } from '../middlewares/business-middleware'
8
- import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
9
- import { expectedParams, reqParams } from '../utils/expected-parameters'
10
- import { validateBizplaceOfCompany, validateFilter, validateReqParams } from '../utils/validate-util'
11
- import { loggingMiddleware } from '../middlewares/logging-middleware'
12
-
13
- router.post('/v1/company/add-contact-points', businessMiddleware, loggingMiddleware, async (context, next) => {
14
- try {
15
- validateReqParams(context.request.body, reqParams.addContactPoints)
16
- validateFilter(context.request.body, expectedParams.addContactPoints)
17
- if (!Array.isArray(context.request.body.data)) throw new ApiError('E01', 'data field is not an array')
18
- await validateBizplaceOfCompany(context.state.business.id, context.request.body.bizplaceId)
19
-
20
- await getConnection().transaction(async (tx: EntityManager) => {
21
- // create and format values to be inserted
22
- const bizplace: Bizplace = await tx.getRepository(Bizplace).findOne({
23
- where: { domain: context.state.domain }
24
- })
25
- let values = []
26
- for (const datapoint of context.request.body.data) {
27
- // validate objects in data array
28
- validateReqParams(datapoint, reqParams.addContactPointsData)
29
- validateFilter(datapoint, expectedParams.addContactPointsData)
30
- const value = {
31
- name: datapoint.name,
32
- description: datapoint.description,
33
- companyName: datapoint.companyName,
34
- email: datapoint.email,
35
- fax: datapoint.fax,
36
- phone: datapoint.phone,
37
- billingAddress: datapoint.billingAddress,
38
- accountNo: datapoint.accountNo,
39
- address: datapoint.address,
40
- address2: datapoint.address2,
41
- city: datapoint.city,
42
- state: datapoint.state,
43
- postCode: datapoint.postCode,
44
- type: datapoint.type,
45
- domain: context.state.domain,
46
- bizplace: bizplace,
47
- creator: context.state.user,
48
- updater: context.state.user
49
- }
50
- values.push(value)
51
- }
52
-
53
- // insert values to DB
54
- const result = await tx
55
- .getRepository(ContactPoint)
56
- .createQueryBuilder()
57
- .insert()
58
- .into(ContactPoint)
59
- .values(values)
60
- .returning('*')
61
- .execute()
62
-
63
- // create and format response
64
- let data = []
65
- for (const contactPoint of result.generatedMaps) {
66
- const datapoint = {
67
- name: contactPoint.name,
68
- description: contactPoint.description,
69
- companyName: contactPoint.companyName,
70
- email: contactPoint.email,
71
- fax: contactPoint.fax,
72
- phone: contactPoint.phone,
73
- billingAddress: contactPoint.billingAddress,
74
- accountNo: contactPoint.accountNo,
75
- address: contactPoint.address,
76
- address2: contactPoint.address2,
77
- city: contactPoint.city,
78
- state: contactPoint.state,
79
- postCode: contactPoint.postCode,
80
- type: contactPoint.type,
81
- createdAt: contactPoint.createdAt
82
- }
83
- data.push(datapoint)
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
- })
@@ -1,242 +0,0 @@
1
- import { getConnection, EntityManager, IsNull, SelectQueryBuilder } from 'typeorm'
2
-
3
- import { restfulApiRouter as router } from '@things-factory/api'
4
-
5
- import { businessMiddleware } from '../middlewares/business-middleware'
6
- import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
7
- import { expectedParams, reqParams } from '../utils/expected-parameters'
8
- import { validateFilter, validateReqParams } from '../utils/validate-util'
9
- import { v4 as uuidv4 } from 'uuid'
10
-
11
- import { MarketplaceStore } from '@things-factory/integration-marketplace'
12
- import { Product, ProductBundle, ProductBundleSetting } from '@things-factory/product-base'
13
-
14
- import {
15
- MarketplaceOrder as MarketplaceOrderEntity,
16
- MarketplaceOrderItem as MarketplaceOrderItemEntity,
17
- MarketplaceOrderShipping as MarketplaceOrderShippingEntity,
18
- MarketplaceOrderShippingItem as MarketplaceOrderShippingItemEntity,
19
- MarketplaceProductVariation as MarketplaceProductVariationEntity,
20
- NoGenerator
21
- } from '@things-factory/marketplace-base'
22
- import { loggingMiddleware } from '../middlewares/logging-middleware'
23
-
24
- router.post('/v1/company/add-marketplace-order', businessMiddleware, loggingMiddleware, async (context, next) => {
25
- try {
26
- validateReqParams(context.request.body, reqParams.addMplaceOrder)
27
- validateFilter(context.request.body, expectedParams.addMplaceOrder)
28
- validateReqParams(context.request.body.data, reqParams.addMplaceData)
29
- validateFilter(context.request.body.data, expectedParams.addMplaceData)
30
- for (const mplaceOrderItem of context.request.body.data.marketplaceOrderItems) {
31
- validateReqParams(mplaceOrderItem, reqParams.addMplaceOrderDataMplaceOrderItems)
32
- validateFilter(mplaceOrderItem, expectedParams.addMplaceDataMplaceOrderItems)
33
- validateReqParams(mplaceOrderItem.marketplaceProductVariation, reqParams.addMplaceDataMplaceProductVar)
34
- validateFilter(mplaceOrderItem.marketplaceProductVariation, expectedParams.addMplaceDataMplaceProductVar)
35
- validateReqParams(mplaceOrderItem.marketplaceOrderShipping, reqParams.addMplaceDataMplaceOrderShipping)
36
- validateFilter(mplaceOrderItem.marketplaceOrderShipping, expectedParams.addMplaceDataMplaceOrderShipping)
37
- }
38
-
39
- await getConnection().transaction(async (tx: EntityManager) => {
40
- const { user, domain } = context.state
41
- const marketplaceOrder = context.request.body.data
42
-
43
- const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
44
- where: { name: context.request.body.storeId, domain }
45
- })
46
- if (!marketplaceStore) throw new ApiError('E01', 'storeId')
47
-
48
- let marketplaceOrderItems: MarketplaceOrderItemEntity[] = []
49
-
50
- let newMarketplaceOrder: MarketplaceOrderEntity = Object.assign({}, marketplaceOrder)
51
- const itemCount: number = marketplaceOrder.marketplaceOrderItems?.length
52
-
53
- const currentDate = new Date()
54
- newMarketplaceOrder.name = `MO-${currentDate.getFullYear()}${
55
- currentDate.getMonth() + 1
56
- }${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`
57
- newMarketplaceOrder.itemCount = itemCount
58
- newMarketplaceOrder.marketplaceStore = marketplaceStore
59
- newMarketplaceOrder.domain = domain
60
- newMarketplaceOrder.creator = user
61
- newMarketplaceOrder = await tx.getRepository(MarketplaceOrderEntity).save(newMarketplaceOrder)
62
-
63
- let newMarketplaceOrderShipping: MarketplaceOrderShippingEntity
64
- if (marketplaceOrder?.marketplaceOrderShipping) {
65
- const marketplaceOrderShipping: any = marketplaceOrder.marketplaceOrderShipping
66
- newMarketplaceOrderShipping = Object.assign({}, marketplaceOrderShipping)
67
- newMarketplaceOrderShipping.name = marketplaceOrderShipping?.shippingId
68
- ? marketplaceOrderShipping.shippingId
69
- : NoGenerator.orderShipping()
70
- newMarketplaceOrderShipping.transporter =
71
- marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
72
- newMarketplaceOrderShipping.ownTransporter =
73
- marketplaceOrderShipping?.transporter === '' ? null : marketplaceOrderShipping.transporter
74
- newMarketplaceOrderShipping.marketplaceStore = marketplaceStore
75
- newMarketplaceOrderShipping.orderNoRef = newMarketplaceOrder.orderNo
76
- newMarketplaceOrderShipping.subOrderNoRef = newMarketplaceOrder.orderNo
77
- newMarketplaceOrderShipping.domain = domain
78
- newMarketplaceOrderShipping.creator = user
79
- newMarketplaceOrderShipping = await tx
80
- .getRepository(MarketplaceOrderShippingEntity)
81
- .save(newMarketplaceOrderShipping)
82
- }
83
-
84
- marketplaceOrderItems = await Promise.all(
85
- marketplaceOrder?.marketplaceOrderItems.map(async orderItem => {
86
- let marketplaceOrderItem: MarketplaceOrderItemEntity = Object.assign({}, orderItem)
87
-
88
- const marketplaceProductVariation = orderItem.marketplaceProductVariation
89
- const qb: SelectQueryBuilder<MarketplaceProductVariationEntity> = await tx
90
- .getRepository(MarketplaceProductVariationEntity)
91
- .createQueryBuilder('mpv')
92
- .leftJoin('mpv.marketplaceProduct', 'mp')
93
- .leftJoin('mp.marketplaceStore', 'ms')
94
- .where('mpv.domain_id = :domainId')
95
- .andWhere('mpv.variation_id = :variationId')
96
- .andWhere('ms.id = :marketplaceStoreId')
97
- .setParameters({
98
- domainId: domain.id,
99
- variationId: marketplaceProductVariation.variationId,
100
- marketplaceStoreId: marketplaceStore.id
101
- })
102
-
103
- let foundVariation: MarketplaceProductVariationEntity = await qb.getOne()
104
-
105
- if (!foundVariation) {
106
- let newVariation: MarketplaceProductVariationEntity = Object.assign({}, marketplaceProductVariation)
107
- newVariation.status = 'ACTIVE'
108
- newVariation.domain = domain
109
-
110
- await tx.getRepository(MarketplaceProductVariationEntity).save(newVariation)
111
- foundVariation = newVariation
112
- }
113
-
114
- marketplaceOrderItem.marketplaceProductVariation = foundVariation
115
- marketplaceOrderItem.name = orderItem.orderItemId
116
- marketplaceOrderItem.marketplaceOrder = newMarketplaceOrder
117
- marketplaceOrderItem.domain = domain
118
- marketplaceOrderItem.creator = user
119
-
120
- return marketplaceOrderItem
121
- })
122
- )
123
-
124
- marketplaceOrderItems = await tx.getRepository(MarketplaceOrderItemEntity).save(marketplaceOrderItems)
125
-
126
- await Promise.all(
127
- marketplaceOrderItems.map(async marketplaceOrderItem => {
128
- const marketplaceProductVariation = marketplaceOrderItem.marketplaceProductVariation
129
-
130
- let product: Product = await tx.getRepository(Product).findOne({
131
- where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku, deletedAt: IsNull() },
132
- relations: ['productDetails']
133
- })
134
-
135
- let productBundle: ProductBundle
136
- if (!product) {
137
- productBundle = await tx.getRepository(ProductBundle).findOne({
138
- where: { domain: marketplaceStore.domain, sku: marketplaceProductVariation.sku },
139
- relations: ['productBundleSettings', 'productBundleSettings.product']
140
- })
141
- }
142
-
143
- let existingMarketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = await tx
144
- .getRepository(MarketplaceOrderShippingItemEntity)
145
- .find({
146
- where: { domain: marketplaceStore.domain, marketplaceOrderItem }
147
- })
148
-
149
- if (existingMarketplaceOrderShippingItems && existingMarketplaceOrderShippingItems?.length) {
150
- } else {
151
- if (productBundle) {
152
- const productBundleSettings: ProductBundleSetting[] = productBundle.productBundleSettings
153
- let marketplaceOrderShippingItems: MarketplaceOrderShippingItemEntity[] = []
154
- productBundleSettings.map(productBundleSetting => {
155
- let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
156
- new MarketplaceOrderShippingItemEntity()
157
- marketplaceOrderShippingItem.name = uuidv4()
158
- marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty * productBundleSetting.bundleQty
159
- marketplaceOrderShippingItem.domain = marketplaceStore.domain
160
- marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
161
- marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
162
- marketplaceOrderShippingItem.product = productBundleSetting.product
163
-
164
- marketplaceOrderShippingItems.push(marketplaceOrderShippingItem)
165
- })
166
-
167
- await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItems)
168
- } else {
169
- let marketplaceOrderShippingItem: MarketplaceOrderShippingItemEntity =
170
- new MarketplaceOrderShippingItemEntity()
171
- marketplaceOrderShippingItem.name = uuidv4()
172
- marketplaceOrderShippingItem.qty = marketplaceOrderItem.qty
173
- marketplaceOrderShippingItem.domain = marketplaceStore.domain
174
- marketplaceOrderShippingItem.marketplaceOrderItem = marketplaceOrderItem
175
- marketplaceOrderShippingItem.marketplaceOrderShipping = newMarketplaceOrderShipping
176
- marketplaceOrderShippingItem.product = product ? product : null
177
-
178
- await tx.getRepository(MarketplaceOrderShippingItemEntity).save(marketplaceOrderShippingItem)
179
- }
180
- }
181
- })
182
- )
183
-
184
- let marketplaceOrderItemsData = []
185
- for (const item of marketplaceOrderItems) {
186
- const datapoint = {
187
- marketplaceOrderVariation: {
188
- variationId: item.marketplaceProductVariation.variationId,
189
- sku: item.marketplaceProductVariation.sku,
190
- variationSku: item.marketplaceProductVariation.variationSku,
191
- variationName: item.marketplaceProductVariation.variationName
192
- },
193
- marketplaceOrderShipping: {
194
- attentionTo: item.marketplaceOrderShipping.attentionTo,
195
- address1: item.marketplaceOrderShipping.address1,
196
- address2: item.marketplaceOrderShipping.address2,
197
- address3: item.marketplaceOrderShipping.address3,
198
- address4: item.marketplaceOrderShipping.address4,
199
- address5: item.marketplaceOrderShipping.address5,
200
- state: item.marketplaceOrderShipping.state,
201
- city: item.marketplaceOrderShipping.city,
202
- postCode: item.marketplaceOrderShipping.postCode,
203
- country: item.marketplaceOrderShipping.country,
204
- phone1: item.marketplaceOrderShipping.phone1,
205
- phone2: item.marketplaceOrderShipping.phone2,
206
- email: item.marketplaceOrderShipping.email,
207
- freightType: item.marketplaceOrderShipping.freightType,
208
- parcelType: item.marketplaceOrderShipping.parcelType,
209
- deliveryMethod: item.marketplaceOrderShipping.deliveryMethod,
210
- totalWeight: item.marketplaceOrderShipping.totalWeight,
211
- totalVolume: item.marketplaceOrderShipping.totalVolume,
212
- transporter: item.marketplaceOrderShipping.transporter
213
- }
214
- }
215
- marketplaceOrderItemsData.push(datapoint)
216
- }
217
- const data = {
218
- orderNo: newMarketplaceOrder.orderNo,
219
- itemCount,
220
- paymentMethod: newMarketplaceOrder.paymentMethod,
221
- remark: newMarketplaceOrder.remark,
222
- giftOption: newMarketplaceOrder.giftOption,
223
- orderCreatedAt: newMarketplaceOrder.orderCreatedAt,
224
- orderUpdatedAt: newMarketplaceOrder.orderUpdatedAt,
225
- marketplaceOrderItems: marketplaceOrderItemsData,
226
- orderItemId: newMarketplaceOrder.orderItemId,
227
- qty: newMarketplaceOrder.qty,
228
- cancelBy: newMarketplaceOrder.cancelBy,
229
- returnStatus: newMarketplaceOrder.returnStatus,
230
- packageId: newMarketplaceOrder.packageId,
231
- status: newMarketplaceOrder.status
232
- }
233
-
234
- context.body = {
235
- data
236
- }
237
- })
238
- } catch (e) {
239
- if (e instanceof ApiError) ApiErrorHandler(context, e)
240
- else throwInternalServerError(context, e)
241
- }
242
- })
@@ -1,78 +0,0 @@
1
- import { getRepository } 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 { businessMiddleware } from '../middlewares/business-middleware'
8
- import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
9
- import { expectedParams, reqParams } from '../utils/expected-parameters'
10
- import { validateFilter, validateReqParams } from '../utils/validate-util'
11
- import _ from 'lodash'
12
- import { loggingMiddleware } from '../middlewares/logging-middleware'
13
-
14
- router.post('/v1/company/add-products', businessMiddleware, loggingMiddleware, async (context, next) => {
15
- try {
16
- if (!_.has(context.request.body, 'data')) throw new ApiError('E03', 'data')
17
- if (!Array.isArray(context.request.body.data)) throw new ApiError('E01', 'data field is not an array')
18
- for (const datapoint of context.request.data) {
19
- validateReqParams(datapoint, reqParams.addProductsData)
20
- validateFilter(datapoint, expectedParams.addProductsData)
21
- validateReqParams(datapoint.productDetails, reqParams.addProductsDataProductDetails)
22
- validateFilter(datapoint.productDetails, expectedParams.addProductsDataProductDetails)
23
- }
24
-
25
- const products = context.request.body.data
26
- const { user, domain } = context.state
27
-
28
- // find bizplace
29
- const bizplace = await getRepository(Bizplace).findOne({
30
- where: {
31
- domain: context.state.domain
32
- },
33
- relations: ['domain']
34
- })
35
-
36
- // save product
37
- await Promise.all(
38
- products.map(async p => {
39
- const product = p
40
- const productDetails = p.productDetails
41
-
42
- product.domain = domain
43
- product.bizplace = bizplace
44
- product.creator = user
45
- product.updater = user
46
- delete product.productDetails
47
-
48
- const result = await getRepository(Product).save(products)
49
-
50
- const newProduct = result[0]
51
-
52
- // save product details
53
- await Promise.all(
54
- productDetails.map(async pd => {
55
- const productDetails = pd
56
- await getRepository(ProductDetail).save({
57
- ...productDetails,
58
- name: productDetails.gtin,
59
- product: newProduct,
60
- childProductDetail: null,
61
- childQty: 0,
62
- domain: domain,
63
- creator: user,
64
- updater: user
65
- })
66
- })
67
- )
68
- })
69
- )
70
-
71
- context.body = {
72
- data: context.request.body
73
- }
74
- } catch (e) {
75
- if (e instanceof ApiError) ApiErrorHandler(context, e)
76
- else throwInternalServerError(context, e)
77
- }
78
- })
@@ -1,102 +0,0 @@
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 { businessMiddleware } from '../middlewares/business-middleware'
9
- import { ApiError, ApiErrorHandler, throwInternalServerError } from '../utils/error-util'
10
- import { expectedParams, reqParams } from '../utils/expected-parameters'
11
- import { validateFilter, validateReqParams } from '../utils/validate-util'
12
- import { User } from '@things-factory/auth-base'
13
- import { Bizplace, getCustomerBizplaces } from '@things-factory/biz-base'
14
- import { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'
15
- import { loggingMiddleware } from '../middlewares/logging-middleware'
16
-
17
- router.post('/v1/company/cancel-marketplace-order', businessMiddleware, loggingMiddleware, async (context, next) => {
18
- try {
19
- validateReqParams(context.request.body, reqParams.requireDataKey)
20
- validateFilter(context.request.body, expectedParams.requireDataKey)
21
- validateReqParams(context.request.body.data, reqParams.cancelMarketplaceOrder)
22
- validateFilter(context.request.body.data, expectedParams.cancelMarketplaceOrder)
23
-
24
- const { orderNo, remark, cancelBy } = context.request.body.data
25
- const { domain, user }: { domain: Domain; user: User } = context.state
26
-
27
- await getConnection().transaction(async (tx: EntityManager) => {
28
- const marketplaceStore: MarketplaceStore = await tx.getRepository(MarketplaceStore).findOne({
29
- where: { name: context.request.body.data.storeId, domain: context.state.business.domain }
30
- })
31
- if (!marketplaceStore) throw new ApiError('E01', 'storeId does not exist')
32
-
33
- let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
34
- where: { domain, orderNo, marketplaceStore },
35
- relations: ['fulfillmentCenter', 'marketplaceStore', 'marketplaceOrderItems']
36
- })
37
- if (!marketplaceOrder) throw new ApiError('E01', 'orderNo is invalid')
38
-
39
- let marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems.map(orderItem => {
40
- let marketplaceOrderItem: MarketplaceOrderItem = Object.assign({}, orderItem)
41
- marketplaceOrderItem.reason = remark
42
- marketplaceOrderItem.status = 'cancelled'
43
- marketplaceOrderItem.updater = user
44
- marketplaceOrderItem.cancelBy = cancelBy
45
-
46
- return marketplaceOrderItem
47
- })
48
- await tx.getRepository(MarketplaceOrderItem).save(marketplaceOrderItems)
49
-
50
- marketplaceOrder.status = 'cancelled'
51
- marketplaceOrder.remark = remark
52
- marketplaceOrder.updater = user
53
- marketplaceOrder = await tx.getRepository(MarketplaceOrder).save(marketplaceOrder)
54
-
55
- const cancelStatuses: string[] = ['cancelled', 'canceled']
56
- if (cancelStatuses.includes(marketplaceOrder.status) && marketplaceOrder?.releaseOrderId) {
57
- if (marketplaceOrder.isSplitted) {
58
- const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
59
- const centerId: string = fulfillmentCenter.centerId
60
- const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
61
- const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
62
- const customerBizplaceId: string = customerBizplaces[0].id
63
-
64
- const { items: releaseOrders }: any = await FulfillmentAPI.getOutboundOrders(fulfillmentCenter, {
65
- customerBizplaceId,
66
- refNo: marketplaceOrder.orderNo
67
- })
68
- if (releaseOrders?.length) {
69
- for (var a = 0; a < releaseOrders.length; a++) {
70
- const releaseOrderId: string = releaseOrders[a].id
71
- await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
72
- }
73
- }
74
- } else {
75
- const releaseOrderId: string = marketplaceOrder.releaseOrderId
76
- const fulfillmentCenter: FulfillmentCenter = marketplaceOrder.fulfillmentCenter
77
- const centerId: string = fulfillmentCenter.centerId
78
-
79
- const warehouseDomain: Domain = await tx.getRepository(Domain).findOne({ where: { subdomain: centerId } })
80
- const customerBizplaces: Bizplace[] = await getCustomerBizplaces(warehouseDomain)
81
- const customerBizplaceId: string = customerBizplaces[0].id
82
- await FulfillmentAPI.cancelReleaseOrder(fulfillmentCenter, { customerBizplaceId, releaseOrderId })
83
- }
84
- }
85
- const data = {
86
- orderNo: marketplaceOrder.orderNo,
87
- status: marketplaceOrder.status,
88
- remark: marketplaceOrder.remark,
89
- cancelBy: cancelBy || null,
90
- createdAt: marketplaceOrder.createdAt,
91
- updatedAt: marketplaceOrder.updatedAt
92
- }
93
-
94
- context.body = {
95
- data
96
- }
97
- })
98
- } catch (e) {
99
- if (e instanceof ApiError) ApiErrorHandler(context, e)
100
- else throwInternalServerError(context, e)
101
- }
102
- })