@things-factory/integration-sellercraft 9.0.0-beta.27 → 9.0.0-beta.29

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 (146) hide show
  1. package/dist-server/constants/index.d.ts +2 -0
  2. package/dist-server/constants/index.js +6 -0
  3. package/dist-server/constants/index.js.map +1 -0
  4. package/dist-server/constants/order-status-mapping.d.ts +27 -0
  5. package/dist-server/constants/order-status-mapping.js +31 -0
  6. package/dist-server/constants/order-status-mapping.js.map +1 -0
  7. package/dist-server/constants/platform.d.ts +6 -0
  8. package/dist-server/constants/platform.js +10 -0
  9. package/dist-server/constants/platform.js.map +1 -0
  10. package/dist-server/controllers/index.d.ts +4 -0
  11. package/dist-server/controllers/index.js +8 -0
  12. package/dist-server/controllers/index.js.map +1 -0
  13. package/dist-server/controllers/sellercraft/apis/add-inbound-order.d.ts +8 -0
  14. package/dist-server/controllers/sellercraft/apis/add-inbound-order.js +46 -0
  15. package/dist-server/controllers/sellercraft/apis/add-inbound-order.js.map +1 -0
  16. package/dist-server/controllers/sellercraft/apis/echo.d.ts +12 -0
  17. package/dist-server/controllers/sellercraft/apis/echo.js +18 -0
  18. package/dist-server/controllers/sellercraft/apis/echo.js.map +1 -0
  19. package/dist-server/controllers/sellercraft/apis/fetch-order-document.d.ts +16 -0
  20. package/dist-server/controllers/sellercraft/apis/fetch-order-document.js +21 -0
  21. package/dist-server/controllers/sellercraft/apis/fetch-order-document.js.map +1 -0
  22. package/dist-server/controllers/sellercraft/apis/index.d.ts +8 -0
  23. package/dist-server/controllers/sellercraft/apis/index.js +12 -0
  24. package/dist-server/controllers/sellercraft/apis/index.js.map +1 -0
  25. package/dist-server/controllers/sellercraft/apis/initiate-order-document.d.ts +12 -0
  26. package/dist-server/controllers/sellercraft/apis/initiate-order-document.js +20 -0
  27. package/dist-server/controllers/sellercraft/apis/initiate-order-document.js.map +1 -0
  28. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.d.ts +17 -0
  29. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.js +26 -0
  30. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.js.map +1 -0
  31. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.d.ts +12 -0
  32. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.js +35 -0
  33. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.js.map +1 -0
  34. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.d.ts +6 -0
  35. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.js +17 -0
  36. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.js.map +1 -0
  37. package/dist-server/controllers/sellercraft/apis/update-product.d.ts +11 -0
  38. package/dist-server/controllers/sellercraft/apis/update-product.js +23 -0
  39. package/dist-server/controllers/sellercraft/apis/update-product.js.map +1 -0
  40. package/dist-server/controllers/sellercraft/index.d.ts +1 -0
  41. package/dist-server/controllers/sellercraft/index.js +9 -0
  42. package/dist-server/controllers/sellercraft/index.js.map +1 -0
  43. package/dist-server/controllers/sellercraft/platform-action.d.ts +5 -0
  44. package/dist-server/controllers/sellercraft/platform-action.js +33 -0
  45. package/dist-server/controllers/sellercraft/platform-action.js.map +1 -0
  46. package/dist-server/controllers/sellercraft/sellercraft.d.ts +12 -0
  47. package/dist-server/controllers/sellercraft/sellercraft.js +91 -0
  48. package/dist-server/controllers/sellercraft/sellercraft.js.map +1 -0
  49. package/dist-server/controllers/sellercraft-api/decorators.d.ts +1 -0
  50. package/dist-server/controllers/sellercraft-api/decorators.js +38 -0
  51. package/dist-server/controllers/sellercraft-api/decorators.js.map +1 -0
  52. package/dist-server/controllers/sellercraft-api/index.d.ts +15 -0
  53. package/dist-server/controllers/sellercraft-api/index.js +84 -0
  54. package/dist-server/controllers/sellercraft-api/index.js.map +1 -0
  55. package/dist-server/controllers/sellercraft-api/types.d.ts +0 -0
  56. package/dist-server/controllers/sellercraft-api/types.js +1 -0
  57. package/dist-server/controllers/sellercraft-api/types.js.map +1 -0
  58. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.d.ts +12 -0
  59. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.js +18 -0
  60. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.js.map +1 -0
  61. package/dist-server/controllers/sellercraft-channel-integration/apis/index.d.ts +6 -0
  62. package/dist-server/controllers/sellercraft-channel-integration/apis/index.js +10 -0
  63. package/dist-server/controllers/sellercraft-channel-integration/apis/index.js.map +1 -0
  64. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.d.ts +8 -0
  65. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js +38 -0
  66. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js.map +1 -0
  67. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.d.ts +11 -0
  68. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.js +47 -0
  69. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.js.map +1 -0
  70. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.d.ts +8 -0
  71. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js +48 -0
  72. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js.map +1 -0
  73. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.d.ts +8 -0
  74. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js +92 -0
  75. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js.map +1 -0
  76. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.d.ts +8 -0
  77. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js +90 -0
  78. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map +1 -0
  79. package/dist-server/controllers/sellercraft-channel-integration/index.d.ts +1 -0
  80. package/dist-server/controllers/sellercraft-channel-integration/index.js +9 -0
  81. package/dist-server/controllers/sellercraft-channel-integration/index.js.map +1 -0
  82. package/dist-server/controllers/sellercraft-channel-integration/platform-action.d.ts +5 -0
  83. package/dist-server/controllers/sellercraft-channel-integration/platform-action.js +33 -0
  84. package/dist-server/controllers/sellercraft-channel-integration/platform-action.js.map +1 -0
  85. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.d.ts +12 -0
  86. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js +99 -0
  87. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js.map +1 -0
  88. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.d.ts +1 -0
  89. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js +30 -0
  90. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js.map +1 -0
  91. package/dist-server/controllers/sellercraft-channel-integration-api/index.d.ts +13 -0
  92. package/dist-server/controllers/sellercraft-channel-integration-api/index.js +70 -0
  93. package/dist-server/controllers/sellercraft-channel-integration-api/index.js.map +1 -0
  94. package/dist-server/controllers/sellercraft-channel-integration-api/types.d.ts +0 -0
  95. package/dist-server/controllers/sellercraft-channel-integration-api/types.js +1 -0
  96. package/dist-server/controllers/sellercraft-channel-integration-api/types.js.map +1 -0
  97. package/dist-server/index.d.ts +6 -0
  98. package/dist-server/index.js +10 -0
  99. package/dist-server/index.js.map +1 -0
  100. package/dist-server/middlewares/index.d.ts +1 -0
  101. package/dist-server/middlewares/index.js +7 -0
  102. package/dist-server/middlewares/index.js.map +1 -0
  103. package/dist-server/migrations/index.d.ts +1 -0
  104. package/dist-server/migrations/index.js +12 -0
  105. package/dist-server/migrations/index.js.map +1 -0
  106. package/dist-server/routers/sellercraft-router.d.ts +1 -0
  107. package/dist-server/routers/sellercraft-router.js +284 -0
  108. package/dist-server/routers/sellercraft-router.js.map +1 -0
  109. package/dist-server/routes.d.ts +1 -0
  110. package/dist-server/routes.js +29 -0
  111. package/dist-server/routes.js.map +1 -0
  112. package/dist-server/service/index.d.ts +7 -0
  113. package/dist-server/service/index.js +23 -0
  114. package/dist-server/service/index.js.map +1 -0
  115. package/dist-server/service/marketplace-channel/index.d.ts +5 -0
  116. package/dist-server/service/marketplace-channel/index.js +9 -0
  117. package/dist-server/service/marketplace-channel/index.js.map +1 -0
  118. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.d.ts +3 -0
  119. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js +391 -0
  120. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js.map +1 -0
  121. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.d.ts +3 -0
  122. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js +244 -0
  123. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js.map +1 -0
  124. package/dist-server/service/marketplace-channel/marketplace-channel.d.ts +18 -0
  125. package/dist-server/service/marketplace-channel/marketplace-channel.js +84 -0
  126. package/dist-server/service/marketplace-channel/marketplace-channel.js.map +1 -0
  127. package/dist-server/service/sellercraft/index.d.ts +5 -0
  128. package/dist-server/service/sellercraft/index.js +9 -0
  129. package/dist-server/service/sellercraft/index.js.map +1 -0
  130. package/dist-server/service/sellercraft/sellercraft-mutation.d.ts +9 -0
  131. package/dist-server/service/sellercraft/sellercraft-mutation.js +111 -0
  132. package/dist-server/service/sellercraft/sellercraft-mutation.js.map +1 -0
  133. package/dist-server/service/sellercraft/sellercraft-query.d.ts +11 -0
  134. package/dist-server/service/sellercraft/sellercraft-query.js +71 -0
  135. package/dist-server/service/sellercraft/sellercraft-query.js.map +1 -0
  136. package/dist-server/service/sellercraft/sellercraft-type.d.ts +21 -0
  137. package/dist-server/service/sellercraft/sellercraft-type.js +81 -0
  138. package/dist-server/service/sellercraft/sellercraft-type.js.map +1 -0
  139. package/dist-server/service/sellercraft/sellercraft.d.ts +27 -0
  140. package/dist-server/service/sellercraft/sellercraft.js +107 -0
  141. package/dist-server/service/sellercraft/sellercraft.js.map +1 -0
  142. package/dist-server/tsconfig.tsbuildinfo +1 -0
  143. package/dist-server/utils/tokencraft-util.d.ts +2 -0
  144. package/dist-server/utils/tokencraft-util.js +64 -0
  145. package/dist-server/utils/tokencraft-util.js.map +1 -0
  146. package/package.json +13 -13
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarketplaceChannelOrderMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const integration_marketplace_1 = require("@things-factory/integration-marketplace");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const constants_1 = require("../../constants");
9
+ const sellercraft_channel_integration_api_1 = require("../../controllers/sellercraft-channel-integration-api");
10
+ const tokencraft_util_1 = require("../../utils/tokencraft-util");
11
+ const marketplace_channel_1 = require("./marketplace-channel");
12
+ let MarketplaceChannelOrderMutation = class MarketplaceChannelOrderMutation {
13
+ async syncAllMarketplaceChannelOrders(context, fromCreatedDate, toCreatedDate, fromUpdatedDate, toUpdatedDate, channelId, shopId, airflow) {
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
15
+ let channels = await (0, shell_1.getRepository)(marketplace_channel_1.MarketplaceChannel).find({ where: { isActive: true } });
16
+ let errors = [];
17
+ if (channelId) {
18
+ channels = channels.filter(channel => channel.channelId == channelId);
19
+ }
20
+ for (var i = 0; i < channels.length; i++) {
21
+ try {
22
+ const channel = channels[i];
23
+ let shops = await (0, tokencraft_util_1.getShops)(channel.channelId);
24
+ if (shopId) {
25
+ shops = shops.filter(shop => shop.channel_shop_id == shopId);
26
+ }
27
+ for (var j = 0; j < shops.length; j++) {
28
+ try {
29
+ var store = {
30
+ accessKey: ((_b = (_a = shops[j]) === null || _a === void 0 ? void 0 : _a.credential) === null || _b === void 0 ? void 0 : _b.consumer_key) || '',
31
+ accessSecret: ((_d = (_c = shops[j]) === null || _c === void 0 ? void 0 : _c.credential) === null || _d === void 0 ? void 0 : _d.consumer_secret) || '',
32
+ storeURL: ((_f = (_e = shops[j]) === null || _e === void 0 ? void 0 : _e.credential) === null || _f === void 0 ? void 0 : _f.store_url) || '',
33
+ platform: channel.name,
34
+ accessToken: (_h = (_g = shops[j]) === null || _g === void 0 ? void 0 : _g.credential) === null || _h === void 0 ? void 0 : _h.access_token, // Magento+, Tiktok
35
+ channelShopId: (_j = shops[j]) === null || _j === void 0 ? void 0 : _j.channel_shop_id,
36
+ storeId: ((_l = (_k = shops[j]) === null || _k === void 0 ? void 0 : _k.credential) === null || _l === void 0 ? void 0 : _l.store_url) || ''
37
+ };
38
+ // let countryCode = shops[j].country_code
39
+ // let channelCode = shops[j].org_prefix
40
+ let organisationId = shops[j].account_id;
41
+ let channelShopId = shops[j].channel_shop_id;
42
+ let orderResult = [];
43
+ let page = store.platform == 'magento' ? 1 : 0;
44
+ let hasMorePage = true;
45
+ let lastOrderId;
46
+ let cursor;
47
+ var limit = 20;
48
+ while (hasMorePage) {
49
+ const { results: marketplaceOrders, more, nextCursor } = await integration_marketplace_1.StoreAPI.getStoreOrders(store, {
50
+ fromCreatedDate,
51
+ toCreatedDate,
52
+ fromUpdatedDate,
53
+ toUpdatedDate,
54
+ pagination: { page, limit },
55
+ lastOrderId,
56
+ nextCursor: cursor
57
+ });
58
+ var sellercraftStore = Object.assign(Object.assign({}, store), { platform: 'sellercraftChannelIntegration' });
59
+ let mappedOrderResult = marketplaceOrders.map(order => {
60
+ let id = store.platform == 'magento' || store.platform == 'shopify' ? order.name : order.orderNo;
61
+ let { firstName: custFirstName, lastName: custLastName, orderCreatedAt: createdAt, orderUpdatedAt: updatedAt, status, sellercraftStatus, isSOF, orderLineList, sellercraftDisplayOrderNo } = order;
62
+ let { first_name: billFirstName, last_name: billLastName, address_1: billAddress1, address_2: billAddress2, address_3: billAddress3, address_4: billAddress4, address_5: billAddress5, city: billCity, postcode: billPostalCode, country: billCountry, phone: billPhone1, phone_2: billPhone2 } = order === null || order === void 0 ? void 0 : order.billing;
63
+ let { first_name: shipFirstName, last_name: shipLastName, address_1: shipAddress1, address_2: shipAddress2, address_3: shipAddress3, address_4: shipAddress4, address_5: shipAddress5, city: shipCity, postcode: shipPostalCode, country: shipCountry, phone: shipPhone1, phone_2: shipPhone2 } = order.shipping;
64
+ let orderPackage = (order === null || order === void 0 ? void 0 : order.orderPackage) || {};
65
+ let orderItems = order.orderItems.map(item => {
66
+ let { name: id, variationId: variationId, slaExpiresAt, total, totalTax, subtotal, subtotalTax, qty } = item;
67
+ return {
68
+ id,
69
+ variationId,
70
+ currency: order.orderShipping.collectionCurrency,
71
+ createdAt: order.orderCreatedAt,
72
+ updatedAt: order.orderUpdatedAt,
73
+ charges: [
74
+ {
75
+ name: 'CHARGES_MARKETING',
76
+ grossAmount: 0,
77
+ nettAmount: 0
78
+ },
79
+ {
80
+ name: 'CLAIMS_DAMAGE',
81
+ grossAmount: 0,
82
+ nettAmount: 0
83
+ },
84
+ {
85
+ name: 'CLAIMS_LOST',
86
+ grossAmount: 0,
87
+ nettAmount: 0
88
+ },
89
+ {
90
+ name: 'COMMISSION_PLATFORM',
91
+ grossAmount: 0,
92
+ nettAmount: 0
93
+ },
94
+ {
95
+ name: 'DEPOSIT_PRESALE',
96
+ grossAmount: 0,
97
+ nettAmount: 0
98
+ },
99
+ {
100
+ name: 'FEE_MISCELLANEOUS',
101
+ grossAmount: 0,
102
+ nettAmount: 0
103
+ },
104
+ {
105
+ name: 'FEE_TRANSACTION',
106
+ grossAmount: 0,
107
+ nettAmount: 0
108
+ },
109
+ {
110
+ name: 'PRICE_NORMAL_SELLING',
111
+ grossAmount: total,
112
+ nettAmount: subtotal
113
+ },
114
+ {
115
+ name: 'PRICE_RECOMMENDED_RETAIL',
116
+ grossAmount: 0,
117
+ nettAmount: 0
118
+ },
119
+ {
120
+ name: 'PROMOTIONS_CUSTOMER_RECEIVED',
121
+ grossAmount: 0,
122
+ nettAmount: 0
123
+ },
124
+ {
125
+ name: 'PROMOTIONS_REBATE_PLATFORM',
126
+ grossAmount: 0,
127
+ nettAmount: 0
128
+ },
129
+ {
130
+ name: 'PROMOTIONS_REBATE_SELLER',
131
+ grossAmount: 0,
132
+ nettAmount: 0
133
+ },
134
+ {
135
+ name: 'REVERSAL_CHARGES_MARKETING',
136
+ grossAmount: 0,
137
+ nettAmount: 0
138
+ },
139
+ {
140
+ name: 'REVERSAL_COMMISSION',
141
+ grossAmount: 0,
142
+ nettAmount: 0
143
+ },
144
+ {
145
+ name: 'REVERSAL_FEE_MISCELLANEOUS',
146
+ grossAmount: 0,
147
+ nettAmount: 0
148
+ },
149
+ {
150
+ name: 'REVERSAL_PROMOTIONS_CUSTOMER_RECEIVED',
151
+ grossAmount: 0,
152
+ nettAmount: 0
153
+ },
154
+ {
155
+ name: 'REVERSAL_SELLER_RETURN_REFUND_AMOUNT',
156
+ grossAmount: 0,
157
+ nettAmount: 0
158
+ },
159
+ {
160
+ name: 'REVERSAL_SHIPPING_CUSTOMER_PAID',
161
+ grossAmount: 0,
162
+ nettAmount: 0
163
+ },
164
+ {
165
+ name: 'REVERSAL_SHIPPING_REBATE_PLATFORM',
166
+ grossAmount: 0,
167
+ nettAmount: 0
168
+ },
169
+ {
170
+ name: 'REVERSAL_SHIPPING_SELLER_PAID',
171
+ grossAmount: 0,
172
+ nettAmount: 0
173
+ },
174
+ {
175
+ name: 'SHIPPING_COST_TOTAL',
176
+ grossAmount: 0,
177
+ nettAmount: 0
178
+ },
179
+ {
180
+ name: 'SHIPPING_CUSTOMER_PAID',
181
+ grossAmount: 0,
182
+ nettAmount: 0
183
+ },
184
+ {
185
+ name: 'SHIPPING_REBATE_PLATFORM',
186
+ grossAmount: 0,
187
+ nettAmount: 0
188
+ },
189
+ {
190
+ name: 'SHIPPING_SELLER_PAID',
191
+ grossAmount: 0,
192
+ nettAmount: 0
193
+ },
194
+ {
195
+ name: 'TAXES',
196
+ grossAmount: totalTax,
197
+ nettAmount: subtotalTax
198
+ },
199
+ {
200
+ name: 'VOUCHERS_CUSTOMER_RECEIVED',
201
+ grossAmount: 0,
202
+ nettAmount: 0
203
+ },
204
+ {
205
+ name: 'VOUCHERS_REBATE_PLATFORM',
206
+ grossAmount: 0,
207
+ nettAmount: 0
208
+ },
209
+ {
210
+ name: 'VOUCHERS_REBATE_SELLER',
211
+ grossAmount: 0,
212
+ nettAmount: 0
213
+ }
214
+ ],
215
+ slaExpiresAt,
216
+ qty
217
+ };
218
+ });
219
+ let mappedOrderItems = [];
220
+ orderItems.map(oi => {
221
+ for (let i = 0; i < oi.qty; i++) {
222
+ let orderLine;
223
+ if (orderLineList) {
224
+ orderLine = (orderLineList === null || orderLineList === void 0 ? void 0 : orderLineList.find(ol => ol.sku_id == oi.variationId)) || null;
225
+ orderLineList = orderLineList.filter(ol => ol.order_line_id != orderLine.order_line_id);
226
+ }
227
+ mappedOrderItems.push(Object.assign(Object.assign({}, oi), { id: orderLine ? orderLine.order_line_id : `${oi.id}-${i + 1}` }));
228
+ }
229
+ });
230
+ return {
231
+ custFirstName,
232
+ custLastName,
233
+ createdAt,
234
+ updatedAt,
235
+ id,
236
+ sellercraftDisplayOrderNo,
237
+ billFirstName,
238
+ billLastName,
239
+ billAddress1: (billAddress1 === null || billAddress1 === void 0 ? void 0 : billAddress1.toString()) || (shipAddress1 === null || shipAddress1 === void 0 ? void 0 : shipAddress1.toString()),
240
+ billAddress2: billAddress2 || shipAddress2,
241
+ billAddress3: billAddress3 || shipAddress3,
242
+ billAddress4: billAddress4 || shipAddress4,
243
+ billAddress5: billAddress5 || shipAddress5,
244
+ billCity: billCity || shipCity,
245
+ billPostalCode: billPostalCode || shipPostalCode,
246
+ billCountry: billCountry || shipCountry,
247
+ billPhone1: billPhone1 || shipPhone1,
248
+ billPhone2: billPhone2 || shipPhone2,
249
+ shipFirstName,
250
+ shipLastName,
251
+ shipAddress1: shipAddress1 === null || shipAddress1 === void 0 ? void 0 : shipAddress1.toString(),
252
+ shipAddress2,
253
+ shipAddress3,
254
+ shipAddress4,
255
+ shipAddress5,
256
+ shipCity,
257
+ shipPostalCode,
258
+ shipCountry,
259
+ shipPhone1,
260
+ shipPhone2,
261
+ mappedOrderItems,
262
+ channelShopId,
263
+ organisationId,
264
+ status: sellercraftStatus || status,
265
+ isSOF: isSOF ? isSOF : false,
266
+ orderPackage,
267
+ charges: getOrderCharges(mappedOrderItems)
268
+ };
269
+ });
270
+ if (mappedOrderResult.length > 0) {
271
+ while (mappedOrderResult.length > 0) {
272
+ let spliceResult = mappedOrderResult.splice(0, mappedOrderResult.length >= 20 ? 20 : mappedOrderResult.length);
273
+ try {
274
+ await sellercraft_channel_integration_api_1.SellercraftChannelIntegrationAPI.ingestChannelOrder(sellercraftStore, {
275
+ orders: spliceResult
276
+ });
277
+ }
278
+ catch (e) {
279
+ errors.push({
280
+ name: 'Order Ingestion Error',
281
+ msg: JSON.stringify(e) || {}
282
+ });
283
+ }
284
+ await Promise.all(spliceResult.map(async (result) => {
285
+ var _a;
286
+ if (!(result === null || result === void 0 ? void 0 : result.isSOF) && ((_a = result === null || result === void 0 ? void 0 : result.orderPackage) === null || _a === void 0 ? void 0 : _a.packageId)) {
287
+ let orderPackage = result.orderPackage;
288
+ let newOrderPackage = {
289
+ channelShopId,
290
+ nativeOrderId: result.id,
291
+ nativePackageId: orderPackage.packageId,
292
+ shippingTrackingCode: orderPackage.trackingNumber,
293
+ shippingTypeValue: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.shippingType)
294
+ ? orderPackage.shippingType
295
+ : constants_1.SHIPPING_TYPE.DROP_SHIPPING,
296
+ warehouseCode: constants_1.SHIPPING_TYPE.DROP_SHIPPING,
297
+ shipper: {
298
+ name: orderPackage.shippingProvider,
299
+ isCodSupported: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.isCodSupport) ? orderPackage.isCodSupport : false
300
+ },
301
+ documents: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.orderDocument) || [],
302
+ shipperLastMile: {
303
+ name: orderPackage.shippingProvider,
304
+ isCodSupported: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.isCodSupport) ? orderPackage.isCodSupport : false
305
+ },
306
+ orderItemIds: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.orderListIdList)
307
+ ? orderPackage.orderListIdList
308
+ : result.mappedOrderItems.map(orderItem => orderItem.id)
309
+ };
310
+ try {
311
+ await sellercraft_channel_integration_api_1.SellercraftChannelIntegrationAPI.ingestChannelOrderPackage(sellercraftStore, newOrderPackage);
312
+ }
313
+ catch (e) {
314
+ errors.push({
315
+ name: 'Order Package Ingestion Error',
316
+ msg: JSON.stringify(e) || {}
317
+ });
318
+ }
319
+ }
320
+ }));
321
+ }
322
+ }
323
+ if (more)
324
+ page++;
325
+ hasMorePage = more;
326
+ cursor = nextCursor;
327
+ }
328
+ }
329
+ catch (e) {
330
+ errors.push({
331
+ name: 'Order Processing / Mapping Error',
332
+ msg: JSON.stringify(e) || {}
333
+ });
334
+ }
335
+ }
336
+ }
337
+ catch (e) {
338
+ errors.push({
339
+ name: 'Store Error',
340
+ msg: JSON.stringify(e) || {}
341
+ });
342
+ }
343
+ }
344
+ if (errors.length > 1 && airflow) {
345
+ throw errors;
346
+ }
347
+ return true;
348
+ }
349
+ };
350
+ exports.MarketplaceChannelOrderMutation = MarketplaceChannelOrderMutation;
351
+ tslib_1.__decorate([
352
+ (0, type_graphql_1.Mutation)(returns => Boolean),
353
+ tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
354
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('fromCreatedDate', { nullable: true })),
355
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('toCreatedDate', { nullable: true })),
356
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('fromUpdatedDate', { nullable: true })),
357
+ tslib_1.__param(4, (0, type_graphql_1.Arg)('toUpdatedDate', { nullable: true })),
358
+ tslib_1.__param(5, (0, type_graphql_1.Arg)('channelId', { nullable: true })),
359
+ tslib_1.__param(6, (0, type_graphql_1.Arg)('shopId', { nullable: true })),
360
+ tslib_1.__param(7, (0, type_graphql_1.Arg)('airflow', { nullable: true })),
361
+ tslib_1.__metadata("design:type", Function),
362
+ tslib_1.__metadata("design:paramtypes", [Object, String, String, String, String, String, String, Boolean]),
363
+ tslib_1.__metadata("design:returntype", Promise)
364
+ ], MarketplaceChannelOrderMutation.prototype, "syncAllMarketplaceChannelOrders", null);
365
+ exports.MarketplaceChannelOrderMutation = MarketplaceChannelOrderMutation = tslib_1.__decorate([
366
+ (0, type_graphql_1.Resolver)()
367
+ ], MarketplaceChannelOrderMutation);
368
+ function getOrderCharges(mappedOrderItems) {
369
+ let chargesList = [];
370
+ for (let i = 0; i < mappedOrderItems.length; i++) {
371
+ for (let j = 0; j < mappedOrderItems[i].charges.length; j++) {
372
+ let charge = mappedOrderItems[i].charges[j];
373
+ let foundCharge = chargesList.find(cl => cl.name == charge.name);
374
+ if (foundCharge) {
375
+ foundCharge.grossAmount = parseFloat(foundCharge.grossAmount) + parseFloat(charge.grossAmount);
376
+ foundCharge.nettAmount = parseFloat(foundCharge.nettAmount) + parseFloat(charge.nettAmount);
377
+ chargesList = chargesList.filter(cl => cl.name != charge.name);
378
+ }
379
+ else {
380
+ foundCharge = {
381
+ name: charge.name,
382
+ grossAmount: charge.grossAmount,
383
+ nettAmount: charge.nettAmount
384
+ };
385
+ }
386
+ chargesList.push(foundCharge);
387
+ }
388
+ }
389
+ return chargesList;
390
+ }
391
+ //# sourceMappingURL=marketplace-channel-order-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace-channel-order-mutation.js","sourceRoot":"","sources":["../../../server/service/marketplace-channel/marketplace-channel-order-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\n\nimport { StoreAPI } from '@things-factory/integration-marketplace'\nimport { getRepository } from '@things-factory/shell'\n\nimport { SHIPPING_TYPE } from '../../constants'\nimport { SellercraftChannelIntegrationAPI } from '../../controllers/sellercraft-channel-integration-api'\nimport { getShops } from '../../utils/tokencraft-util'\nimport { MarketplaceChannel } from './marketplace-channel'\n\n@Resolver()\nexport class MarketplaceChannelOrderMutation {\n @Mutation(returns => Boolean)\n async syncAllMarketplaceChannelOrders(\n @Ctx() context: ResolverContext,\n @Arg('fromCreatedDate', { nullable: true }) fromCreatedDate?: string,\n @Arg('toCreatedDate', { nullable: true }) toCreatedDate?: string,\n @Arg('fromUpdatedDate', { nullable: true }) fromUpdatedDate?: string,\n @Arg('toUpdatedDate', { nullable: true }) toUpdatedDate?: string,\n @Arg('channelId', { nullable: true }) channelId?: string,\n @Arg('shopId', { nullable: true }) shopId?: string,\n @Arg('airflow', { nullable: true }) airflow?: boolean\n ): Promise<boolean> {\n let channels: MarketplaceChannel[] = await getRepository(MarketplaceChannel).find({ where: { isActive: true } })\n let errors: any = []\n\n if (channelId) {\n channels = channels.filter(channel => channel.channelId == channelId)\n }\n\n for (var i = 0; i < channels.length; i++) {\n try {\n const channel: MarketplaceChannel = channels[i]\n let shops: any = await getShops(channel.channelId)\n\n if (shopId) {\n shops = shops.filter(shop => shop.channel_shop_id == shopId)\n }\n\n for (var j = 0; j < shops.length; j++) {\n try {\n var store = {\n accessKey: shops[j]?.credential?.consumer_key || '',\n accessSecret: shops[j]?.credential?.consumer_secret || '',\n storeURL: shops[j]?.credential?.store_url || '',\n platform: channel.name,\n accessToken: shops[j]?.credential?.access_token, // Magento+, Tiktok\n channelShopId: shops[j]?.channel_shop_id,\n storeId: shops[j]?.credential?.store_url || ''\n }\n\n // let countryCode = shops[j].country_code\n // let channelCode = shops[j].org_prefix\n let organisationId = shops[j].account_id\n let channelShopId = shops[j].channel_shop_id\n\n let orderResult = []\n let page: number = store.platform == 'magento' ? 1 : 0\n let hasMorePage: boolean = true\n let lastOrderId: string\n let cursor: string\n var limit: number = 20\n\n while (hasMorePage) {\n const {\n results: marketplaceOrders,\n more,\n nextCursor\n } = await StoreAPI.getStoreOrders(store, {\n fromCreatedDate,\n toCreatedDate,\n fromUpdatedDate,\n toUpdatedDate,\n pagination: { page, limit },\n lastOrderId,\n nextCursor: cursor\n })\n\n var sellercraftStore = { ...store, platform: 'sellercraftChannelIntegration' }\n\n let mappedOrderResult = marketplaceOrders.map(order => {\n let id = store.platform == 'magento' || store.platform == 'shopify' ? order.name : order.orderNo\n let {\n firstName: custFirstName,\n lastName: custLastName,\n orderCreatedAt: createdAt,\n orderUpdatedAt: updatedAt,\n status,\n sellercraftStatus,\n isSOF,\n orderLineList,\n sellercraftDisplayOrderNo\n } = order\n\n let {\n first_name: billFirstName,\n last_name: billLastName,\n address_1: billAddress1,\n address_2: billAddress2,\n address_3: billAddress3,\n address_4: billAddress4,\n address_5: billAddress5,\n city: billCity,\n postcode: billPostalCode,\n country: billCountry,\n phone: billPhone1,\n phone_2: billPhone2\n } = order?.billing\n\n let {\n first_name: shipFirstName,\n last_name: shipLastName,\n address_1: shipAddress1,\n address_2: shipAddress2,\n address_3: shipAddress3,\n address_4: shipAddress4,\n address_5: shipAddress5,\n city: shipCity,\n postcode: shipPostalCode,\n country: shipCountry,\n phone: shipPhone1,\n phone_2: shipPhone2\n } = order.shipping\n\n let orderPackage = order?.orderPackage || {}\n\n let orderItems = order.orderItems.map(item => {\n let {\n name: id,\n variationId: variationId,\n slaExpiresAt,\n total,\n totalTax,\n subtotal,\n subtotalTax,\n qty\n } = item\n\n return {\n id,\n variationId,\n currency: order.orderShipping.collectionCurrency,\n createdAt: order.orderCreatedAt,\n updatedAt: order.orderUpdatedAt,\n charges: [\n {\n name: 'CHARGES_MARKETING',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'CLAIMS_DAMAGE',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'CLAIMS_LOST',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'COMMISSION_PLATFORM',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'DEPOSIT_PRESALE',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'FEE_MISCELLANEOUS',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'FEE_TRANSACTION',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'PRICE_NORMAL_SELLING',\n grossAmount: total,\n nettAmount: subtotal\n },\n {\n name: 'PRICE_RECOMMENDED_RETAIL',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'PROMOTIONS_CUSTOMER_RECEIVED',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'PROMOTIONS_REBATE_PLATFORM',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'PROMOTIONS_REBATE_SELLER',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_CHARGES_MARKETING',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_COMMISSION',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_FEE_MISCELLANEOUS',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_PROMOTIONS_CUSTOMER_RECEIVED',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_SELLER_RETURN_REFUND_AMOUNT',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_SHIPPING_CUSTOMER_PAID',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_SHIPPING_REBATE_PLATFORM',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'REVERSAL_SHIPPING_SELLER_PAID',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'SHIPPING_COST_TOTAL',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'SHIPPING_CUSTOMER_PAID',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'SHIPPING_REBATE_PLATFORM',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'SHIPPING_SELLER_PAID',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'TAXES',\n grossAmount: totalTax,\n nettAmount: subtotalTax\n },\n {\n name: 'VOUCHERS_CUSTOMER_RECEIVED',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'VOUCHERS_REBATE_PLATFORM',\n grossAmount: 0,\n nettAmount: 0\n },\n {\n name: 'VOUCHERS_REBATE_SELLER',\n grossAmount: 0,\n nettAmount: 0\n }\n ],\n slaExpiresAt,\n qty\n }\n })\n\n let mappedOrderItems = []\n orderItems.map(oi => {\n for (let i = 0; i < oi.qty; i++) {\n let orderLine\n if (orderLineList) {\n orderLine = orderLineList?.find(ol => ol.sku_id == oi.variationId) || null\n orderLineList = orderLineList.filter(ol => ol.order_line_id != orderLine.order_line_id)\n }\n mappedOrderItems.push({\n ...oi,\n id: orderLine ? orderLine.order_line_id : `${oi.id}-${i + 1}`\n })\n }\n })\n\n return {\n custFirstName,\n custLastName,\n createdAt,\n updatedAt,\n id,\n sellercraftDisplayOrderNo,\n billFirstName,\n billLastName,\n billAddress1: billAddress1?.toString() || shipAddress1?.toString(),\n billAddress2: billAddress2 || shipAddress2,\n billAddress3: billAddress3 || shipAddress3,\n billAddress4: billAddress4 || shipAddress4,\n billAddress5: billAddress5 || shipAddress5,\n billCity: billCity || shipCity,\n billPostalCode: billPostalCode || shipPostalCode,\n billCountry: billCountry || shipCountry,\n billPhone1: billPhone1 || shipPhone1,\n billPhone2: billPhone2 || shipPhone2,\n shipFirstName,\n shipLastName,\n shipAddress1: shipAddress1?.toString(),\n shipAddress2,\n shipAddress3,\n shipAddress4,\n shipAddress5,\n shipCity,\n shipPostalCode,\n shipCountry,\n shipPhone1,\n shipPhone2,\n mappedOrderItems,\n channelShopId,\n organisationId,\n status: sellercraftStatus || status,\n isSOF: isSOF ? isSOF : false,\n orderPackage,\n charges: getOrderCharges(mappedOrderItems)\n }\n })\n\n if (mappedOrderResult.length > 0) {\n while (mappedOrderResult.length > 0) {\n let spliceResult = mappedOrderResult.splice(\n 0,\n mappedOrderResult.length >= 20 ? 20 : mappedOrderResult.length\n )\n\n try {\n await SellercraftChannelIntegrationAPI.ingestChannelOrder(sellercraftStore, {\n orders: spliceResult\n })\n } catch (e) {\n errors.push({\n name: 'Order Ingestion Error',\n msg: JSON.stringify(e) || {}\n })\n }\n\n await Promise.all(\n spliceResult.map(async result => {\n if (!result?.isSOF && result?.orderPackage?.packageId) {\n let orderPackage: any = result.orderPackage\n let newOrderPackage: any = {\n channelShopId,\n nativeOrderId: result.id,\n nativePackageId: orderPackage.packageId,\n shippingTrackingCode: orderPackage.trackingNumber,\n shippingTypeValue: orderPackage?.shippingType\n ? orderPackage.shippingType\n : SHIPPING_TYPE.DROP_SHIPPING,\n warehouseCode: SHIPPING_TYPE.DROP_SHIPPING,\n shipper: {\n name: orderPackage.shippingProvider,\n isCodSupported: orderPackage?.isCodSupport ? orderPackage.isCodSupport : false\n },\n documents: orderPackage?.orderDocument || [],\n shipperLastMile: {\n name: orderPackage.shippingProvider,\n isCodSupported: orderPackage?.isCodSupport ? orderPackage.isCodSupport : false\n },\n orderItemIds: orderPackage?.orderListIdList\n ? orderPackage.orderListIdList\n : result.mappedOrderItems.map(orderItem => orderItem.id)\n }\n try {\n await SellercraftChannelIntegrationAPI.ingestChannelOrderPackage(\n sellercraftStore,\n newOrderPackage\n )\n } catch (e) {\n errors.push({\n name: 'Order Package Ingestion Error',\n msg: JSON.stringify(e) || {}\n })\n }\n }\n })\n )\n }\n }\n\n if (more) page++\n hasMorePage = more\n cursor = nextCursor\n }\n } catch (e) {\n errors.push({\n name: 'Order Processing / Mapping Error',\n msg: JSON.stringify(e) || {}\n })\n }\n }\n } catch (e) {\n errors.push({\n name: 'Store Error',\n msg: JSON.stringify(e) || {}\n })\n }\n }\n if (errors.length > 1 && airflow) {\n throw errors\n }\n return true\n }\n}\n\nfunction getOrderCharges(mappedOrderItems) {\n let chargesList = []\n\n for (let i = 0; i < mappedOrderItems.length; i++) {\n for (let j = 0; j < mappedOrderItems[i].charges.length; j++) {\n let charge = mappedOrderItems[i].charges[j]\n let foundCharge = chargesList.find(cl => cl.name == charge.name)\n if (foundCharge) {\n foundCharge.grossAmount = parseFloat(foundCharge.grossAmount) + parseFloat(charge.grossAmount)\n foundCharge.nettAmount = parseFloat(foundCharge.nettAmount) + parseFloat(charge.nettAmount)\n chargesList = chargesList.filter(cl => cl.name != charge.name)\n } else {\n foundCharge = {\n name: charge.name,\n grossAmount: charge.grossAmount,\n nettAmount: charge.nettAmount\n }\n }\n chargesList.push(foundCharge)\n }\n }\n return chargesList\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare class MarketplaceChannelProductMutation {
2
+ syncAllMarketplaceChannelProducts(context: ResolverContext, fromUpdatedDate?: string, toUpdatedDate?: string, productBatchSize?: string, channelId?: string, shopId?: string, airflow?: boolean): Promise<boolean>;
3
+ }