@things-factory/integration-sellercraft 5.0.0-alpha.9 → 5.0.0-y.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 (49) hide show
  1. package/dist-server/constants/order-status-mapping.js +24 -3
  2. package/dist-server/constants/order-status-mapping.js.map +1 -1
  3. package/dist-server/constants/platform.js +4 -1
  4. package/dist-server/constants/platform.js.map +1 -1
  5. package/dist-server/controllers/sellercraft/sellercraft.js +2 -2
  6. package/dist-server/controllers/sellercraft/sellercraft.js.map +1 -1
  7. package/dist-server/controllers/sellercraft-api/decorators.js +2 -0
  8. package/dist-server/controllers/sellercraft-api/decorators.js.map +1 -1
  9. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js +18 -21
  10. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.js.map +1 -1
  11. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js +5 -2
  12. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.js.map +1 -1
  13. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js +21 -14
  14. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.js.map +1 -1
  15. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js +23 -23
  16. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map +1 -1
  17. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js +17 -6
  18. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js.map +1 -1
  19. package/dist-server/routers/sellercraft-router.js +204 -134
  20. package/dist-server/routers/sellercraft-router.js.map +1 -1
  21. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js +327 -103
  22. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js.map +1 -1
  23. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js +173 -99
  24. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js.map +1 -1
  25. package/dist-server/service/marketplace-channel/marketplace-channel.js +5 -0
  26. package/dist-server/service/marketplace-channel/marketplace-channel.js.map +1 -1
  27. package/dist-server/service/sellercraft/sellercraft-mutation.js +3 -6
  28. package/dist-server/service/sellercraft/sellercraft-mutation.js.map +1 -1
  29. package/dist-server/service/sellercraft/sellercraft-query.js +1 -1
  30. package/dist-server/service/sellercraft/sellercraft-query.js.map +1 -1
  31. package/dist-server/utils/tokencraft-util.js +63 -0
  32. package/dist-server/utils/tokencraft-util.js.map +1 -0
  33. package/package.json +15 -15
  34. package/server/constants/order-status-mapping.ts +24 -2
  35. package/server/constants/platform.ts +4 -1
  36. package/server/controllers/sellercraft/sellercraft.ts +2 -2
  37. package/server/controllers/sellercraft-api/decorators.ts +3 -0
  38. package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.ts +19 -22
  39. package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.ts +6 -2
  40. package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.ts +22 -15
  41. package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.ts +32 -26
  42. package/server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.ts +15 -6
  43. package/server/routers/sellercraft-router.ts +218 -164
  44. package/server/service/marketplace-channel/marketplace-channel-order-mutation.ts +392 -156
  45. package/server/service/marketplace-channel/marketplace-channel-product-mutation.ts +199 -145
  46. package/server/service/marketplace-channel/marketplace-channel.ts +4 -0
  47. package/server/service/sellercraft/sellercraft-mutation.ts +3 -3
  48. package/server/service/sellercraft/sellercraft-query.ts +1 -1
  49. package/server/utils/tokencraft-util.ts +60 -0
@@ -5,165 +5,201 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.sellercraftRouter = void 0;
7
7
  const koa_router_1 = __importDefault(require("koa-router"));
8
- const env_1 = require("@things-factory/env");
8
+ const uuid_1 = require("uuid");
9
9
  const integration_marketplace_1 = require("@things-factory/integration-marketplace");
10
+ const tokencraft_util_1 = require("../utils/tokencraft-util");
10
11
  const constants_1 = require("../constants");
11
12
  const debug = require('debug')('things-factory:integration-sellercraft:sellercraft-router');
12
13
  exports.sellercraftRouter = new koa_router_1.default();
13
14
  exports.sellercraftRouter.post('/sellercraft/store/update-product-price', async (context, next) => {
14
- const sellercraftChannelIntegrationConfig = env_1.config.get('sellercraftChannelIntegrationConfig', {});
15
- const { tokenCraftApiKey: apiKey, tokenCraftUrl } = sellercraftChannelIntegrationConfig;
16
- const xApiKey = context.headers['x-api-key'];
17
- if (apiKey !== xApiKey)
18
- context.throw(400, 'api key validation failed');
19
15
  const requestBody = context.request.body;
20
16
  for (var i = 0; i < requestBody.length; i++) {
21
- var store = {}; // get from tokencraft
17
+ let mappedStore = await (0, tokencraft_util_1.getShop)(context, requestBody[i].channel_id, requestBody[i].shop_id);
22
18
  var result;
23
- // https://staging-tokencraft.sellercraft.co/v1/get-shop?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=dd9cf3b7-114f-4d74-a7e2-7b524ae086f2
24
- var fullPath = tokenCraftUrl + '?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=' + requestBody[i].shop_id;
25
- const response = await fetch(fullPath, {
26
- method: 'get',
27
- headers: {
28
- 'Content-Type': 'application/json',
29
- 'x-api-key': apiKey
19
+ try {
20
+ if (requestBody[i].variant.native_variant_id != requestBody[i].native_product_id) {
21
+ const req = {
22
+ costPrice: requestBody[i].variant.full_price,
23
+ sellPrice: requestBody[i].variant.sale_price,
24
+ productId: requestBody[i].native_product_id,
25
+ variationId: requestBody[i].variant.native_variant_id,
26
+ variationSku: requestBody[i].variant.sku,
27
+ context: { state: { domain: null } }
28
+ };
29
+ result = await integration_marketplace_1.StoreAPI.updateStoreProductVariationPrice(mappedStore, req);
30
30
  }
31
- });
32
- if (response.ok) {
33
- store = await response.json();
34
- }
35
- let mappedStore = {
36
- accessKey: store.shop.credential.consumer_key,
37
- accessSecret: store.shop.credential.consumer_secret,
38
- storeURL: store.shop.credential.store_url,
39
- platform: constants_1.PLATFORM[`${store.shop.org_prefix}`]
40
- };
41
- if (requestBody[i].native_variant_id) {
42
- const req = {
43
- costPrice: requestBody[i].full_price,
44
- sellPrice: requestBody[i].sale_price,
45
- productId: requestBody[i].native_product_id,
46
- variationId: requestBody[i].native_variant_id
47
- };
48
- result = await integration_marketplace_1.StoreAPI.updateStoreProductVariationPrice(mappedStore, req);
31
+ else {
32
+ const req = {
33
+ costPrice: requestBody[i].variant.full_price,
34
+ sellPrice: requestBody[i].variant.sale_price,
35
+ productId: requestBody[i].native_product_id,
36
+ variationSku: requestBody[i].variant.sku,
37
+ context: { state: { domain: null } }
38
+ };
39
+ result = await integration_marketplace_1.StoreAPI.updateStoreProductPrice(mappedStore, req);
40
+ }
41
+ debug(result);
42
+ context.type = 'application/json';
43
+ context.status = 200;
44
+ context.body = 'Succeeded';
49
45
  }
50
- else {
51
- const req = {
52
- costPrice: requestBody[i].full_price,
53
- sellPrice: requestBody[i].sale_price,
54
- productId: requestBody[i].native_product_id
55
- };
56
- result = await integration_marketplace_1.StoreAPI.updateStoreProductPrice(mappedStore, req);
46
+ catch (e) {
47
+ context.type = 'application/json';
48
+ context.status = 500;
49
+ context.body = e.message;
57
50
  }
58
- debug(result);
59
51
  }
60
- context.status = 200;
61
52
  });
62
53
  exports.sellercraftRouter.post('/sellercraft/store/update-product-stock', async (context, next) => {
63
- const sellercraftChannelIntegrationConfig = env_1.config.get('sellercraftChannelIntegrationConfig', {});
64
- const { tokenCraftApiKey: apiKey, tokenCraftUrl } = sellercraftChannelIntegrationConfig;
65
- const xApiKey = context.headers['x-api-key'];
66
- if (apiKey !== xApiKey)
67
- context.throw(400, 'api key validation failed');
54
+ var _a, _b, _c, _d, _e, _f;
68
55
  const requestBody = context.request.body;
69
56
  for (var i = 0; i < requestBody.length; i++) {
70
- var store = {}; // get from tokencraft
57
+ let mappedStore = await (0, tokencraft_util_1.getShop)(context, requestBody[i].channel_id, requestBody[i].shop_id);
71
58
  var result;
72
- // https://staging-tokencraft.sellercraft.co/v1/get-shop?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=dd9cf3b7-114f-4d74-a7e2-7b524ae086f2
73
- var fullPath = tokenCraftUrl + '?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=' + requestBody[i].shop_id;
74
- const response = await fetch(fullPath, {
75
- method: 'get',
76
- headers: {
77
- 'Content-Type': 'application/json',
78
- 'x-api-key': apiKey
59
+ try {
60
+ if (requestBody[i].variant.native_variant_id != requestBody[i].native_product_id) {
61
+ const req = {
62
+ qty: requestBody[i].variant.stock,
63
+ itemId: requestBody[i].native_product_id,
64
+ variationId: requestBody[i].variant.native_variant_id,
65
+ distributors: requestBody[i].distributors || [],
66
+ variationSku: requestBody[i].variant.sku,
67
+ locationId: (_c = (_b = (_a = requestBody[i]) === null || _a === void 0 ? void 0 : _a.variant) === null || _b === void 0 ? void 0 : _b.extra_metadata) === null || _c === void 0 ? void 0 : _c.locationId,
68
+ inventoryItemId: (_f = (_e = (_d = requestBody[i]) === null || _d === void 0 ? void 0 : _d.variant) === null || _e === void 0 ? void 0 : _e.extra_metadata) === null || _f === void 0 ? void 0 : _f.inventoryItemId,
69
+ context: { state: { domain: null } }
70
+ };
71
+ if (req.locationId) {
72
+ let location = JSON.parse(req.locationId);
73
+ req.qty -= await integration_marketplace_1.StoreAPI.getStoreProductVariationStock(mappedStore, { variantId: req.variationId });
74
+ req.locationId = location[0].location_id;
75
+ }
76
+ result = await integration_marketplace_1.StoreAPI.updateStoreProductVariationStock(mappedStore, req);
79
77
  }
80
- });
81
- if (response.ok) {
82
- store = await response.json();
83
- }
84
- let mappedStore = {
85
- accessKey: store.shop.credential.consumer_key,
86
- accessSecret: store.shop.credential.consumer_secret,
87
- storeURL: store.shop.credential.store_url,
88
- platform: constants_1.PLATFORM[`${store.shop.org_prefix}`]
89
- };
90
- if (requestBody[i].native_variant_id) {
91
- const req = {
92
- qty: requestBody[i].stock,
93
- itemId: requestBody[i].native_product_id,
94
- variationId: requestBody[i].native_variant_id
95
- };
96
- result = await integration_marketplace_1.StoreAPI.updateStoreProductVariationStock(mappedStore, req);
78
+ else {
79
+ const req = {
80
+ qty: requestBody[i].variant.stock,
81
+ itemId: requestBody[i].native_product_id,
82
+ distributors: requestBody[i].distributors || [],
83
+ variationSku: requestBody[i].variant.sku,
84
+ context: { state: { domain: null } }
85
+ };
86
+ result = await integration_marketplace_1.StoreAPI.updateStoreProductStock(mappedStore, req);
87
+ }
88
+ debug(result);
89
+ context.type = 'application/json';
90
+ context.status = 200;
91
+ context.body = 'Succeeded';
97
92
  }
98
- else {
99
- const req = {
100
- qty: requestBody[i].stock,
101
- itemId: requestBody[i].native_product_id
102
- };
103
- result = await integration_marketplace_1.StoreAPI.updateStoreProductStock(mappedStore, req);
93
+ catch (e) {
94
+ context.type = 'application/json';
95
+ context.status = 500;
96
+ context.body = e.message;
104
97
  }
105
- debug(result);
106
98
  }
107
- context.status = 200;
108
99
  });
109
100
  exports.sellercraftRouter.post('/sellercraft/store/update-order-status', async (context, next) => {
110
- const sellercraftChannelIntegrationConfig = env_1.config.get('sellercraftChannelIntegrationConfig', {});
111
- const { tokenCraftApiKey: apiKey, tokenCraftUrl } = sellercraftChannelIntegrationConfig;
112
- const xApiKey = context.headers['x-api-key'];
113
- if (apiKey !== xApiKey)
114
- context.throw(400, 'api key validation failed');
115
- const requestBody = context.request.body;
116
- var result;
117
- var store = {};
118
- // https://staging-tokencraft.sellercraft.co/v1/get-shop?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=dd9cf3b7-114f-4d74-a7e2-7b524ae086f2
119
- var fullPath = tokenCraftUrl + '?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=' + requestBody.shop_id;
120
- const response = await fetch(fullPath, {
121
- method: 'get',
122
- headers: {
123
- 'Content-Type': 'application/json',
124
- 'x-api-key': apiKey
101
+ var _a;
102
+ try {
103
+ const requestBody = context.request.body;
104
+ var result = {};
105
+ let mappedStore = await (0, tokencraft_util_1.getShop)(context, requestBody.channel_id, requestBody.shop_id);
106
+ const reqBody = {
107
+ orderId: requestBody.native_order_id,
108
+ status: requestBody.order_status,
109
+ carrier: requestBody === null || requestBody === void 0 ? void 0 : requestBody.shipper_last_mile,
110
+ trackingNo: requestBody === null || requestBody === void 0 ? void 0 : requestBody.tracking_number,
111
+ orderItems: unmapOrderItems((requestBody === null || requestBody === void 0 ? void 0 : requestBody.order_items.map(oi => {
112
+ return oi.native_order_item_id;
113
+ })) || []),
114
+ isSOF: requestBody === null || requestBody === void 0 ? void 0 : requestBody.seller_logistics,
115
+ locations: mappedStore.platform == 'shopify'
116
+ ? requestBody === null || requestBody === void 0 ? void 0 : requestBody.order_items.map(oi => {
117
+ let jsonLocation = oi.extra_metadata.locationId;
118
+ return JSON.parse(jsonLocation)[0].location_id;
119
+ })
120
+ : null,
121
+ context: { state: { domain: null } }
122
+ };
123
+ let responseBody = { operation_id: (0, uuid_1.v4)() };
124
+ try {
125
+ try {
126
+ result = (await integration_marketplace_1.StoreAPI.updateOrderStatus(mappedStore, reqBody)) || {};
127
+ debug(result);
128
+ }
129
+ catch (e) {
130
+ if (e === null || e === void 0 ? void 0 : e.requiredDocument)
131
+ result.requiredDocument = e.requiredDocument;
132
+ }
133
+ if (result === null || result === void 0 ? void 0 : result.requiredDocument) {
134
+ // call document api and ingest channel order package
135
+ const order = await integration_marketplace_1.StoreAPI.getStoreOrder(mappedStore, { orderId: reqBody.orderId });
136
+ let orderPackage = order ? (((_a = order[0]) === null || _a === void 0 ? void 0 : _a.orderPackage) ? order[0].orderPackage : {}) : {};
137
+ if (orderPackage) {
138
+ const packageId = orderPackage.packageId;
139
+ let orderDocument = orderPackage.orderDocument;
140
+ if ((orderDocument === null || orderDocument === void 0 ? void 0 : orderDocument.length) == 0) {
141
+ let hasDocument = false;
142
+ while (!hasDocument) {
143
+ orderDocument = await integration_marketplace_1.StoreAPI.getStoreOrderDocument(mappedStore, { packageId, documentType: 1 });
144
+ if ((orderDocument === null || orderDocument === void 0 ? void 0 : orderDocument.length) > 0) {
145
+ hasDocument = true;
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ // Order Package Payload
151
+ let newOrderPackage = {
152
+ channel_shop_id: mappedStore.channelShopId,
153
+ native_order_id: reqBody.orderId,
154
+ native_package_id: orderPackage.packageId.toString(),
155
+ shipping_tracking_code: orderPackage.trackingNumber,
156
+ shipping_type_value: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.shippingType) ? orderPackage.shippingType : constants_1.SHIPPING_TYPE.DROP_SHIPPING,
157
+ warehouse_code: constants_1.SHIPPING_TYPE.DROP_SHIPPING,
158
+ shipper: {
159
+ name: orderPackage.shippingProvider,
160
+ is_cod_supported: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.isCodSupport) ? orderPackage.isCodSupport : false
161
+ },
162
+ documents: (orderDocument === null || orderDocument === void 0 ? void 0 : orderDocument.map(doc => {
163
+ return {
164
+ file: doc.file,
165
+ file_type_value: doc.fileTypeValue,
166
+ mime_type: doc.mimeType
167
+ };
168
+ })) || [],
169
+ shipper_last_mile: {
170
+ name: orderPackage.shippingProvider,
171
+ is_cod_supported: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.isCodSupport) ? orderPackage.isCodSupport : false
172
+ },
173
+ order_item_ids: (orderPackage === null || orderPackage === void 0 ? void 0 : orderPackage.orderListIdList)
174
+ ? orderPackage.orderListIdList
175
+ : reqBody.orderItems.map(oi => {
176
+ return oi.order_item_id;
177
+ })
178
+ } || {};
179
+ responseBody.package = newOrderPackage;
180
+ }
181
+ responseBody.response_code = 'E0';
182
+ responseBody.message = 'Success';
183
+ }
184
+ responseBody.time = Math.floor(new Date(new Date().toUTCString()).getTime() / 1000);
185
+ context.type = 'application/json';
186
+ context.status = 200;
187
+ context.body = responseBody;
188
+ await next();
189
+ }
190
+ catch (e) {
191
+ responseBody.response_code = 'E1';
192
+ responseBody.message = e.message;
193
+ context.type = 'application/json';
194
+ context.status = 500;
195
+ context.body = responseBody;
125
196
  }
126
- });
127
- if (response.ok) {
128
- store = await response.json();
129
197
  }
130
- let mappedStore = {
131
- accessKey: store.shop.credential.consumer_key,
132
- accessSecret: store.shop.credential.consumer_secret,
133
- storeURL: store.shop.credential.store_url,
134
- platform: constants_1.PLATFORM[`${store.shop.org_prefix}`]
135
- };
136
- const reqBody = { orderId: requestBody.native_order_id, status: requestBody.order_status };
137
- result = await integration_marketplace_1.StoreAPI.updateOrderStatus(mappedStore, reqBody);
138
- debug(result);
139
- context.status = 200;
198
+ catch (e) { }
140
199
  });
141
200
  exports.sellercraftRouter.post('/sellercraft/store/update-product-attribute', async (context, next) => {
142
- const sellercraftChannelIntegrationConfig = env_1.config.get('sellercraftChannelIntegrationConfig', {});
143
- const { tokenCraftApiKey: apiKey, tokenCraftUrl } = sellercraftChannelIntegrationConfig;
144
- const xApiKey = context.headers['x-api-key'];
145
- if (apiKey !== xApiKey)
146
- context.throw(400, 'api key validation failed');
147
201
  const requestBody = context.request.body;
148
- var store = {};
149
- // https://staging-tokencraft.sellercraft.co/v1/get-shop?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=dd9cf3b7-114f-4d74-a7e2-7b524ae086f2
150
- var fullPath = tokenCraftUrl + '?channel_id=4bfb3362-d57c-47f8-8781-007316d179bf&shop_id=' + requestBody.shop_id;
151
- const response = await fetch(fullPath, {
152
- method: 'get',
153
- headers: {
154
- 'Content-Type': 'application/json',
155
- 'x-api-key': apiKey
156
- }
157
- });
158
- if (response.ok) {
159
- store = await response.json();
160
- }
161
- let mappedStore = {
162
- accessKey: store.shop.credential.consumer_key,
163
- accessSecret: store.shop.credential.consumer_secret,
164
- storeURL: store.shop.credential.store_url,
165
- platform: constants_1.PLATFORM[`${store.shop.org_prefix}`]
166
- };
202
+ let mappedStore = await (0, tokencraft_util_1.getShop)(context, requestBody.channel_id, requestBody.shop_id);
167
203
  let { product_sku: productSku, native_product_id: itemId, variants } = requestBody;
168
204
  variants.map(variant => {
169
205
  let { variant_sku: variantSku, native_variant_id: variantId, attributes } = variant;
@@ -182,9 +218,43 @@ exports.sellercraftRouter.post('/sellercraft/store/update-product-attribute', as
182
218
  };
183
219
  });
184
220
  for (var i = 0; i < variants.length; i++) {
185
- let variant = variants[i];
186
- await integration_marketplace_1.StoreAPI.updateProductAttribute(mappedStore, { productSku, itemId, variant });
221
+ try {
222
+ let variant = variants[i];
223
+ await integration_marketplace_1.StoreAPI.updateProductAttribute(mappedStore, {
224
+ productSku,
225
+ itemId,
226
+ variant,
227
+ context: { state: { domain: null } }
228
+ });
229
+ context.type = 'application/json';
230
+ context.status = 200;
231
+ context.body = 'Succeeded';
232
+ }
233
+ catch (e) {
234
+ context.type = 'application/json';
235
+ context.status = 500;
236
+ context.body = e.message;
237
+ }
187
238
  }
188
- context.status = 200;
189
239
  });
240
+ function unmapOrderItems(orderItems) {
241
+ let itemsList = [];
242
+ let res = orderItems.map(e => {
243
+ return e.split('-')[0];
244
+ });
245
+ for (let item of res) {
246
+ let count = 0;
247
+ res.forEach(element => {
248
+ if (element === item) {
249
+ count += 1;
250
+ }
251
+ });
252
+ itemsList.push({
253
+ order_item_id: item,
254
+ qty: count
255
+ });
256
+ }
257
+ itemsList = itemsList.filter((value, index, self) => index === self.findIndex(t => t.order_item_id === value.order_item_id));
258
+ return itemsList;
259
+ }
190
260
  //# sourceMappingURL=sellercraft-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sellercraft-router.js","sourceRoot":"","sources":["../../server/routers/sellercraft-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sellercraft-router.js","sourceRoot":"","sources":["../../server/routers/sellercraft-router.ts"],"names":[],"mappings":"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"}