@things-factory/operato-hub 4.1.10 → 4.1.12

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 (31) hide show
  1. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +4 -11
  2. package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
  3. package/dist-server/routers/api/restful-apis/unstable/add-products.js +1 -1
  4. package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -1
  5. package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js +84 -0
  6. package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js.map +1 -0
  7. package/dist-server/routers/api/restful-apis/unstable/index.js +1 -0
  8. package/dist-server/routers/api/restful-apis/unstable/index.js.map +1 -1
  9. package/dist-server/routers/api/restful-apis/v1/add-products.js +1 -1
  10. package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -1
  11. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +84 -0
  12. package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +1 -0
  13. package/dist-server/routers/api/restful-apis/v1/index.js +1 -0
  14. package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -1
  15. package/dist-server/routers/api/restful-apis/v2/add-products.js +1 -1
  16. package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -1
  17. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +84 -0
  18. package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +1 -0
  19. package/dist-server/routers/api/restful-apis/v2/index.js +1 -0
  20. package/dist-server/routers/api/restful-apis/v2/index.js.map +1 -1
  21. package/package.json +54 -54
  22. package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +4 -12
  23. package/server/routers/api/restful-apis/unstable/add-products.ts +1 -1
  24. package/server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.ts +95 -0
  25. package/server/routers/api/restful-apis/unstable/index.ts +1 -0
  26. package/server/routers/api/restful-apis/v1/add-products.ts +1 -1
  27. package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +95 -0
  28. package/server/routers/api/restful-apis/v1/index.ts +1 -0
  29. package/server/routers/api/restful-apis/v2/add-products.ts +1 -1
  30. package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +95 -0
  31. package/server/routers/api/restful-apis/v2/index.ts +1 -0
@@ -10,7 +10,7 @@ exports.syncProductsToSellercraftResolver = {
10
10
  const { domain, tx } = context.state;
11
11
  let page = 1;
12
12
  let hasMorePage = true;
13
- const limit = 10;
13
+ const limit = 50;
14
14
  const sellercraft = await tx
15
15
  .getRepository(integration_sellercraft_1.Sellercraft)
16
16
  .findOne({ where: { id: sellercraftId }, relations: ['domain'] });
@@ -18,7 +18,7 @@ exports.syncProductsToSellercraftResolver = {
18
18
  const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(fulfillmentCenterId);
19
19
  const customerBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: customerDomain } });
20
20
  while (hasMorePage) {
21
- const { items, total } = await integration_fulfillment_1.FulfillmentAPI.getInventoryProductGroup(fulfilmentCenter, {
21
+ const { items, total } = await integration_fulfillment_1.FulfillmentAPI.getInventoryProductGroupOpenAPI(fulfilmentCenter, {
22
22
  warehouseId: customerBizplace.id,
23
23
  paginationEntriesPerPage: limit,
24
24
  paginationOffset: page
@@ -30,15 +30,8 @@ exports.syncProductsToSellercraftResolver = {
30
30
  relations: ['productDetails', 'productDetails.childProductDetail']
31
31
  });
32
32
  const productDetails = product.productDetails;
33
- // const inventoryPackingType: string = item.packingType
34
33
  const defaultProductDetail = productDetails.find(productDetail => productDetail.isDefault);
35
34
  let packingSize = 1;
36
- // if (inventoryPackingType !== defaultProductDetail.packingType) {
37
- // const unmatchingProductDetail: ProductDetail = product.productDetails.find(
38
- // productDetail => productDetail.packingType === inventoryPackingType
39
- // )
40
- // packingSize = await getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)
41
- // }
42
35
  sellercraftInv.push({
43
36
  sku: item.productSKU,
44
37
  gtin: (defaultProductDetail === null || defaultProductDetail === void 0 ? void 0 : defaultProductDetail.gtin) ? defaultProductDetail.gtin : '',
@@ -59,9 +52,9 @@ exports.syncProductsToSellercraftResolver = {
59
52
  };
60
53
  await delay(5000);
61
54
  await integration_sellercraft_1.SellercraftAPI.updateProduct(sellercraft, { accountId: sellercraft.accountId, sellercraftInv });
62
- if ((sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) < total)
55
+ if ((sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) != 0 && (sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) < total)
63
56
  page++;
64
- hasMorePage = Boolean((sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) < total);
57
+ hasMorePage = Boolean((sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) != 0 && (sellercraftInv === null || sellercraftInv === void 0 ? void 0 : sellercraftInv.length) < total);
65
58
  }
66
59
  }
67
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sync-products-to-sellercraft.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-products-to-sellercraft.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts"],"names":[],"mappings":";;;AAEA,uDAAmD;AACnD,qFAA2F;AAC3F,qFAAqF;AACrF,+DAAqE;AAGxD,QAAA,iCAAiC,GAAG;IAC/C,KAAK,CAAC,yBAAyB,CAC7B,CAAO,EACP,EACE,aAAa,EACb,mBAAmB,EAC0D,EAC/E,OAAY;QAEZ,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,IAAI,IAAI,GAAW,CAAC,CAAA;QACpB,IAAI,WAAW,GAAY,IAAI,CAAA;QAC/B,MAAM,KAAK,GAAW,EAAE,CAAA;QAExB,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnE,MAAM,cAAc,GAAW,WAAW,CAAC,MAAM,CAAA;QACjD,MAAM,gBAAgB,GAAsB,MAAM,wCAAc,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAA;QAC1G,MAAM,gBAAgB,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;QAElH,OAAO,WAAW,EAAE;YAClB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,wCAAc,CAAC,+BAA+B,CAAC,gBAAgB,EAAE;gBAC9F,WAAW,EAAE,gBAAgB,CAAC,EAAE;gBAChC,wBAAwB,EAAE,KAAK;gBAC/B,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAA;YAEF,IAAI,cAAc,GAAU,EAAE,CAAA;YAE9B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBACrB,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;oBAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;oBACvC,SAAS,EAAE,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;iBACnE,CAAC,CAAA;gBAEF,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;gBAC9D,MAAM,oBAAoB,GAAkB,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;gBAEzG,IAAI,WAAW,GAAW,CAAC,CAAA;gBAE3B,cAAc,CAAC,IAAI,CAAC;oBAClB,GAAG,EAAE,IAAI,CAAC,UAAU;oBACpB,IAAI,EAAE,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,EAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACjE,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,WAAW;wBACtC,eAAe,EAAE,IAAI;qBACtB;oBACD,iBAAiB,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;oBAC5F,kBAAkB,EAAE;wBAClB,SAAS,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBAC1E,QAAQ,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACzE,SAAS,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;qBAC7E;iBACF,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;YAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE;gBAC3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;YACxD,CAAC,CAAA;YAED,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;YACjB,MAAM,wCAAc,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;YAErG,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,CAAC,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,IAAG,KAAK;gBAAE,IAAI,EAAE,CAAA;YACzE,WAAW,GAAG,OAAO,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,CAAC,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,IAAG,KAAK,CAAC,CAAA;SACrF;IACH,CAAC;CACF,CAAA;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,cAA+B,EAC/B,oBAAmC,EACnC,uBAAsC;IAEtC,IAAI,gBAAgB,GAAY,OAAO,CAAC,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,kBAAkB,CAAC,CAAA;IACpF,IAAI,gBAAyB,CAAA;IAC7B,IAAI,WAAW,GAAW,CAAC,CAAA;IAC3B,IAAI,yBAAwC,CAAA;IAE5C,IAAI,gBAAgB,EAAE;QACpB,yBAAyB,GAAG,cAAc,CAAC,IAAI,CAC7C,CAAC,aAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,uBAAuB,CAAC,kBAAkB,CAAC,EAAE,CACrG,CAAA;QAED,IAAI,CAAC,yBAAyB,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAA;SACnG;QAED,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,yBAAyB,CAAC,EAAE,CAAC,CAAA;QACpF,IAAI,gBAAgB,EAAE;YACpB,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAA;SAClD;aAAM;YACL,WAAW,GAAG,uBAAuB,CAAC,WAAW,GAAG,WAAW,CAAA;SAChE;KACF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,qCAAqC,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAA;KACtF;IAED,OAAO,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;QAC5C,IAAI,gBAAgB,EAAE;YACpB,WAAW,GAAG,yBAAyB,CAAC,WAAW,GAAG,WAAW,CAAA,CAAC,UAAU;SAC7E;aAAM,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,EAAE;YAChD,WAAW,GAAG,yBAAyB,CAAC,WAAW,GAAG,WAAW,CAAA,CAAC,UAAU;YAC5E,yBAAyB,GAAG,cAAc,CAAC,IAAI,CAC7C,CAAC,aAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CACvG,CAAA;YAED,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,kBAAkB,CAAC,CAAA;YACzE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,yBAAyB,CAAC,EAAE,CAAC,CAAA;SACrF;aAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,kDAAkD,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAA;SACnG;KACF;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AA9CD,kDA8CC"}
@@ -34,7 +34,7 @@ api_1.restfulApiRouter.post('/unstable/warehouse/:warehouseId/add-products', bus
34
34
  }
35
35
  `,
36
36
  variables: { products: bodyReq },
37
- context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain }) })
37
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain: custCompanyBizplace === null || custCompanyBizplace === void 0 ? void 0 : custCompanyBizplace.domain }) })
38
38
  })).data
39
39
  };
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/unstable/add-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/unstable/add-products.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
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
+ exports.validatePagination = exports.validateFilters = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ const api_1 = require("@things-factory/api");
9
+ const business_middleware_1 = require("../../../../middlewares/business-middleware");
10
+ const warehouse_middleware_1 = require("../../../../middlewares/warehouse-middleware");
11
+ const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-inventory-product-group-open-api');
12
+ api_1.restfulApiRouter.get('/unstable/warehouse/:warehouseId/get-inventory-product-group-open-api', business_middleware_1.businessMiddleware, warehouse_middleware_1.warehouseMiddleware, async (context, next) => {
13
+ const { client, warehouse: bizplace, domain } = context.state;
14
+ const { warehouseId } = context.params;
15
+ const { t } = context;
16
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query;
17
+ if (!warehouseId)
18
+ context.throw(404, t('error.warehouse id not found'));
19
+ let filters = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }];
20
+ let pagination = { page: 1, limit: 100 };
21
+ filters = await validateFilters(context, filters, skuId, batchId, packingType);
22
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset);
23
+ debug('query-params', context.query);
24
+ context.body = {
25
+ result: (await client.query({
26
+ query: (0, graphql_tag_1.default) `
27
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
28
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
29
+ items {
30
+ productSKU
31
+ productName
32
+ packingType
33
+ remainQty
34
+ remainUomValue
35
+ uom
36
+ }
37
+ total
38
+ }
39
+ }
40
+ `,
41
+ variables: { filters, pagination, sortings: [] },
42
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace,
43
+ domain }) })
44
+ })).data
45
+ };
46
+ });
47
+ async function validateFilters(context, filters, skuId, batchId, packingType) {
48
+ if (skuId) {
49
+ filters = [
50
+ ...filters,
51
+ {
52
+ name: 'productName',
53
+ operator: 'i_like',
54
+ value: skuId
55
+ }
56
+ ];
57
+ }
58
+ return filters;
59
+ }
60
+ exports.validateFilters = validateFilters;
61
+ async function validatePagination(context, pagination, entries, offset) {
62
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
63
+ entries = parseInt(entries);
64
+ offset = parseInt(offset);
65
+ if (entries < 1)
66
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
67
+ else if (entries > 100)
68
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
69
+ else
70
+ pagination = Object.assign(Object.assign({}, pagination), { page: offset, limit: entries });
71
+ }
72
+ else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
73
+ entries = parseInt(entries);
74
+ if (entries < 1)
75
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
76
+ else if (entries > 100)
77
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
78
+ else
79
+ pagination = Object.assign(Object.assign({}, pagination), { limit: entries });
80
+ }
81
+ return pagination;
82
+ }
83
+ exports.validatePagination = validatePagination;
84
+ //# sourceMappingURL=get-inventory-overall-product-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-inventory-overall-product-group.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ require("./get-delivery-order-list");
14
14
  require("./get-inbound-order-detail");
15
15
  require("./get-inbound-order-list");
16
16
  require("./get-inventory-product-group");
17
+ require("./get-inventory-overall-product-group");
17
18
  require("./get-onhand-inventories");
18
19
  require("./get-products");
19
20
  require("./get-release-order-detail");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/unstable/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,sCAAmC;AACnC,+CAA4C;AAC5C,0CAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/unstable/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,iDAA8C;AAC9C,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,sCAAmC;AACnC,+CAA4C;AAC5C,0CAAuC"}
@@ -34,7 +34,7 @@ api_1.restfulApiRouter.post('/v1/warehouse/:warehouseId/add-products', business_
34
34
  }
35
35
  `,
36
36
  variables: { products: bodyReq },
37
- context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain }) })
37
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain: custCompanyBizplace === null || custCompanyBizplace === void 0 ? void 0 : custCompanyBizplace.domain }) })
38
38
  })).data
39
39
  };
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v1/add-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v1/add-products.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
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
+ exports.validatePagination = exports.validateFilters = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ const api_1 = require("@things-factory/api");
9
+ const business_middleware_1 = require("../../../../middlewares/business-middleware");
10
+ const warehouse_middleware_1 = require("../../../../middlewares/warehouse-middleware");
11
+ const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-inventory-product-group-open-api');
12
+ api_1.restfulApiRouter.get('/v1/warehouse/:warehouseId/get-inventory-product-group-open-api', business_middleware_1.businessMiddleware, warehouse_middleware_1.warehouseMiddleware, async (context, next) => {
13
+ const { client, warehouse: bizplace, domain } = context.state;
14
+ const { warehouseId } = context.params;
15
+ const { t } = context;
16
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query;
17
+ if (!warehouseId)
18
+ context.throw(404, t('error.warehouse id not found'));
19
+ let filters = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }];
20
+ let pagination = { page: 1, limit: 100 };
21
+ filters = await validateFilters(context, filters, skuId, batchId, packingType);
22
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset);
23
+ debug('query-params', context.query);
24
+ context.body = {
25
+ result: (await client.query({
26
+ query: (0, graphql_tag_1.default) `
27
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
28
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
29
+ items {
30
+ productSKU
31
+ productName
32
+ packingType
33
+ remainQty
34
+ remainUomValue
35
+ uom
36
+ }
37
+ total
38
+ }
39
+ }
40
+ `,
41
+ variables: { filters, pagination, sortings: [] },
42
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace,
43
+ domain }) })
44
+ })).data
45
+ };
46
+ });
47
+ async function validateFilters(context, filters, skuId, batchId, packingType) {
48
+ if (skuId) {
49
+ filters = [
50
+ ...filters,
51
+ {
52
+ name: 'productName',
53
+ operator: 'i_like',
54
+ value: skuId
55
+ }
56
+ ];
57
+ }
58
+ return filters;
59
+ }
60
+ exports.validateFilters = validateFilters;
61
+ async function validatePagination(context, pagination, entries, offset) {
62
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
63
+ entries = parseInt(entries);
64
+ offset = parseInt(offset);
65
+ if (entries < 1)
66
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
67
+ else if (entries > 100)
68
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
69
+ else
70
+ pagination = Object.assign(Object.assign({}, pagination), { page: offset, limit: entries });
71
+ }
72
+ else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
73
+ entries = parseInt(entries);
74
+ if (entries < 1)
75
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
76
+ else if (entries > 100)
77
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
78
+ else
79
+ pagination = Object.assign(Object.assign({}, pagination), { limit: entries });
80
+ }
81
+ return pagination;
82
+ }
83
+ exports.validatePagination = validatePagination;
84
+ //# sourceMappingURL=get-inventory-overall-product-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-inventory-overall-product-group.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ require("./get-delivery-order-list");
13
13
  require("./get-inbound-order-detail");
14
14
  require("./get-inbound-order-list");
15
15
  require("./get-inventory-product-group");
16
+ require("./get-inventory-overall-product-group");
16
17
  require("./get-onhand-inventories");
17
18
  require("./get-products");
18
19
  require("./get-release-order-detail");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v1/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,+CAA4C;AAC5C,sCAAmC;AACnC,0CAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v1/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,iDAA8C;AAC9C,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,+CAA4C;AAC5C,sCAAmC;AACnC,0CAAuC"}
@@ -34,7 +34,7 @@ api_1.restfulApiRouter.post('/v2/warehouse/:warehouseId/add-products', business_
34
34
  }
35
35
  `,
36
36
  variables: { products: bodyReq },
37
- context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain }) })
37
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace: custCompanyBizplace, domain: custCompanyBizplace === null || custCompanyBizplace === void 0 ? void 0 : custCompanyBizplace.domain }) })
38
38
  })).data
39
39
  };
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v2/add-products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-products.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v2/add-products.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
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
+ exports.validatePagination = exports.validateFilters = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ const api_1 = require("@things-factory/api");
9
+ const business_middleware_1 = require("../../../../middlewares/business-middleware");
10
+ const warehouse_middleware_1 = require("../../../../middlewares/warehouse-middleware");
11
+ const debug = require('debug')('things-factory:operato-hub:restful-api:v2:get-inventory-product-group-open-api');
12
+ api_1.restfulApiRouter.get('/v2/warehouse/:warehouseId/get-inventory-product-group-open-api', business_middleware_1.businessMiddleware, warehouse_middleware_1.warehouseMiddleware, async (context, next) => {
13
+ const { client, warehouse: bizplace, domain } = context.state;
14
+ const { warehouseId } = context.params;
15
+ const { t } = context;
16
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query;
17
+ if (!warehouseId)
18
+ context.throw(404, t('error.warehouse id not found'));
19
+ let filters = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }];
20
+ let pagination = { page: 1, limit: 100 };
21
+ filters = await validateFilters(context, filters, skuId, batchId, packingType);
22
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset);
23
+ debug('query-params', context.query);
24
+ context.body = {
25
+ result: (await client.query({
26
+ query: (0, graphql_tag_1.default) `
27
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
28
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
29
+ items {
30
+ productSKU
31
+ productName
32
+ packingType
33
+ remainQty
34
+ remainUomValue
35
+ uom
36
+ }
37
+ total
38
+ }
39
+ }
40
+ `,
41
+ variables: { filters, pagination, sortings: [] },
42
+ context: Object.assign(Object.assign({}, context), { state: Object.assign(Object.assign({}, context.state), { bizplace,
43
+ domain }) })
44
+ })).data
45
+ };
46
+ });
47
+ async function validateFilters(context, filters, skuId, batchId, packingType) {
48
+ if (skuId) {
49
+ filters = [
50
+ ...filters,
51
+ {
52
+ name: 'productName',
53
+ operator: 'i_like',
54
+ value: skuId
55
+ }
56
+ ];
57
+ }
58
+ return filters;
59
+ }
60
+ exports.validateFilters = validateFilters;
61
+ async function validatePagination(context, pagination, entries, offset) {
62
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
63
+ entries = parseInt(entries);
64
+ offset = parseInt(offset);
65
+ if (entries < 1)
66
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
67
+ else if (entries > 100)
68
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
69
+ else
70
+ pagination = Object.assign(Object.assign({}, pagination), { page: offset, limit: entries });
71
+ }
72
+ else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
73
+ entries = parseInt(entries);
74
+ if (entries < 1)
75
+ context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'));
76
+ else if (entries > 100)
77
+ context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'));
78
+ else
79
+ pagination = Object.assign(Object.assign({}, pagination), { limit: entries });
80
+ }
81
+ return pagination;
82
+ }
83
+ exports.validatePagination = validatePagination;
84
+ //# sourceMappingURL=get-inventory-overall-product-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-inventory-overall-product-group.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ require("./get-delivery-order-list");
13
13
  require("./get-inbound-order-detail");
14
14
  require("./get-inbound-order-list");
15
15
  require("./get-inventory-product-group");
16
+ require("./get-inventory-overall-product-group");
16
17
  require("./get-onhand-inventories");
17
18
  require("./get-products");
18
19
  require("./get-release-order-detail");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v2/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,+CAA4C;AAC5C,sCAAmC;AACnC,0CAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/routers/api/restful-apis/v2/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+BAA4B;AAC5B,mCAAgC;AAChC,0BAAuB;AACvB,+BAA4B;AAC5B,sBAAmB;AACnB,kCAA+B;AAC/B,oCAAiC;AACjC,uCAAoC;AACpC,qCAAkC;AAClC,sCAAmC;AACnC,oCAAiC;AACjC,yCAAsC;AACtC,iDAA8C;AAC9C,oCAAiC;AACjC,0BAAuB;AACvB,sCAAmC;AACnC,wCAAqC;AACrC,iDAA8C;AAC9C,oCAAiC;AACjC,4BAAyB;AACzB,sCAAmC;AACnC,kCAA+B;AAC/B,6CAA0C;AAC1C,mDAAgD;AAChD,+CAA4C;AAC5C,sCAAmC;AACnC,0CAAuC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-hub",
3
- "version": "4.1.10",
3
+ "version": "4.1.12",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -56,66 +56,66 @@
56
56
  "@operato/scene-tab": "^0.1.5",
57
57
  "@operato/scene-table": "^0.1.5",
58
58
  "@operato/scene-wheel-sorter": "^0.1.5",
59
- "@things-factory/api": "^4.1.10",
60
- "@things-factory/apptool-ui": "^4.1.10",
61
- "@things-factory/attachment-base": "^4.1.10",
62
- "@things-factory/auth-base": "^4.1.10",
63
- "@things-factory/auth-ui": "^4.1.10",
64
- "@things-factory/biz-base": "^4.1.10",
65
- "@things-factory/biz-ui": "^4.1.10",
66
- "@things-factory/board-service": "^4.1.10",
67
- "@things-factory/board-ui": "^4.1.10",
68
- "@things-factory/code-ui": "^4.1.10",
69
- "@things-factory/component-ui": "^4.1.10",
70
- "@things-factory/context-ui": "^4.1.10",
71
- "@things-factory/document-template-ui": "^4.1.10",
72
- "@things-factory/export-ui": "^4.1.10",
73
- "@things-factory/export-ui-csv": "^4.1.10",
74
- "@things-factory/export-ui-excel": "^4.1.10",
75
- "@things-factory/grist-ui": "^4.1.10",
76
- "@things-factory/help": "^4.1.10",
77
- "@things-factory/i18n-base": "^4.1.10",
78
- "@things-factory/import-ui": "^4.1.10",
79
- "@things-factory/import-ui-excel": "^4.1.10",
80
- "@things-factory/integration-accounting": "^4.1.10",
81
- "@things-factory/integration-fulfillment": "^4.1.10",
82
- "@things-factory/integration-lmd": "^4.1.10",
83
- "@things-factory/integration-marketplace": "^4.1.10",
84
- "@things-factory/integration-pos": "^4.1.10",
85
- "@things-factory/integration-sellercraft": "^4.1.10",
86
- "@things-factory/integration-sftp": "^4.1.10",
87
- "@things-factory/lite-menu": "^4.1.10",
88
- "@things-factory/more-ui": "^4.1.10",
89
- "@things-factory/notification": "^4.1.10",
90
- "@things-factory/pdf": "^4.1.10",
91
- "@things-factory/product-ui": "^4.1.10",
92
- "@things-factory/resource-ui": "^4.1.10",
93
- "@things-factory/sales-base": "^4.1.10",
94
- "@things-factory/scene-data-transform": "^4.1.10",
95
- "@things-factory/scene-excel": "^4.1.10",
96
- "@things-factory/scene-firebase": "^4.1.10",
97
- "@things-factory/scene-form": "^4.1.10",
98
- "@things-factory/scene-google-map": "^4.1.10",
99
- "@things-factory/scene-graphql": "^4.1.10",
100
- "@things-factory/scene-label": "^4.1.10",
101
- "@things-factory/scene-marker": "^4.1.10",
102
- "@things-factory/scene-mqtt": "^4.1.10",
103
- "@things-factory/scene-restful": "^4.1.10",
104
- "@things-factory/scene-visualizer": "^4.1.10",
105
- "@things-factory/setting-ui": "^4.1.10",
106
- "@things-factory/shell": "^4.1.10",
107
- "@things-factory/system-ui": "^4.1.10",
108
- "@things-factory/warehouse-base": "^4.1.10",
109
- "@things-factory/worksheet-base": "^4.1.10",
59
+ "@things-factory/api": "^4.1.12",
60
+ "@things-factory/apptool-ui": "^4.1.12",
61
+ "@things-factory/attachment-base": "^4.1.12",
62
+ "@things-factory/auth-base": "^4.1.12",
63
+ "@things-factory/auth-ui": "^4.1.12",
64
+ "@things-factory/biz-base": "^4.1.12",
65
+ "@things-factory/biz-ui": "^4.1.12",
66
+ "@things-factory/board-service": "^4.1.12",
67
+ "@things-factory/board-ui": "^4.1.12",
68
+ "@things-factory/code-ui": "^4.1.12",
69
+ "@things-factory/component-ui": "^4.1.12",
70
+ "@things-factory/context-ui": "^4.1.12",
71
+ "@things-factory/document-template-ui": "^4.1.12",
72
+ "@things-factory/export-ui": "^4.1.12",
73
+ "@things-factory/export-ui-csv": "^4.1.12",
74
+ "@things-factory/export-ui-excel": "^4.1.12",
75
+ "@things-factory/grist-ui": "^4.1.12",
76
+ "@things-factory/help": "^4.1.12",
77
+ "@things-factory/i18n-base": "^4.1.12",
78
+ "@things-factory/import-ui": "^4.1.12",
79
+ "@things-factory/import-ui-excel": "^4.1.12",
80
+ "@things-factory/integration-accounting": "^4.1.12",
81
+ "@things-factory/integration-fulfillment": "^4.1.12",
82
+ "@things-factory/integration-lmd": "^4.1.12",
83
+ "@things-factory/integration-marketplace": "^4.1.12",
84
+ "@things-factory/integration-pos": "^4.1.12",
85
+ "@things-factory/integration-sellercraft": "^4.1.12",
86
+ "@things-factory/integration-sftp": "^4.1.12",
87
+ "@things-factory/lite-menu": "^4.1.12",
88
+ "@things-factory/more-ui": "^4.1.12",
89
+ "@things-factory/notification": "^4.1.12",
90
+ "@things-factory/pdf": "^4.1.12",
91
+ "@things-factory/product-ui": "^4.1.12",
92
+ "@things-factory/resource-ui": "^4.1.12",
93
+ "@things-factory/sales-base": "^4.1.12",
94
+ "@things-factory/scene-data-transform": "^4.1.12",
95
+ "@things-factory/scene-excel": "^4.1.12",
96
+ "@things-factory/scene-firebase": "^4.1.12",
97
+ "@things-factory/scene-form": "^4.1.12",
98
+ "@things-factory/scene-google-map": "^4.1.12",
99
+ "@things-factory/scene-graphql": "^4.1.12",
100
+ "@things-factory/scene-label": "^4.1.12",
101
+ "@things-factory/scene-marker": "^4.1.12",
102
+ "@things-factory/scene-mqtt": "^4.1.12",
103
+ "@things-factory/scene-restful": "^4.1.12",
104
+ "@things-factory/scene-visualizer": "^4.1.12",
105
+ "@things-factory/setting-ui": "^4.1.12",
106
+ "@things-factory/shell": "^4.1.12",
107
+ "@things-factory/system-ui": "^4.1.12",
108
+ "@things-factory/warehouse-base": "^4.1.12",
109
+ "@things-factory/worksheet-base": "^4.1.12",
110
110
  "koa2-swagger-ui": "^5.0.2",
111
111
  "swagger-jsdoc": "^5.0.0",
112
112
  "yamljs": "^0.3.0"
113
113
  },
114
114
  "devDependencies": {
115
- "@things-factory/builder": "^4.1.10"
115
+ "@things-factory/builder": "^4.1.12"
116
116
  },
117
117
  "resolutions": {
118
118
  "core-js": "^3.16.0"
119
119
  },
120
- "gitHead": "8047bbb36aabdd33156b3fd91a4a5a874bed3754"
120
+ "gitHead": "9055b83aa979f9c2d706b02cf8d73d848522d7dd"
121
121
  }
@@ -19,7 +19,7 @@ export const syncProductsToSellercraftResolver = {
19
19
 
20
20
  let page: number = 1
21
21
  let hasMorePage: boolean = true
22
- const limit: number = 10
22
+ const limit: number = 50
23
23
 
24
24
  const sellercraft: Sellercraft = await tx
25
25
  .getRepository(Sellercraft)
@@ -29,7 +29,7 @@ export const syncProductsToSellercraftResolver = {
29
29
  const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: customerDomain } })
30
30
 
31
31
  while (hasMorePage) {
32
- const { items, total } = await FulfillmentAPI.getInventoryProductGroup(fulfilmentCenter, {
32
+ const { items, total } = await FulfillmentAPI.getInventoryProductGroupOpenAPI(fulfilmentCenter, {
33
33
  warehouseId: customerBizplace.id,
34
34
  paginationEntriesPerPage: limit,
35
35
  paginationOffset: page
@@ -45,17 +45,9 @@ export const syncProductsToSellercraftResolver = {
45
45
  })
46
46
 
47
47
  const productDetails: ProductDetail[] = product.productDetails
48
- // const inventoryPackingType: string = item.packingType
49
48
  const defaultProductDetail: ProductDetail = productDetails.find(productDetail => productDetail.isDefault)
50
49
 
51
50
  let packingSize: number = 1
52
- // if (inventoryPackingType !== defaultProductDetail.packingType) {
53
- // const unmatchingProductDetail: ProductDetail = product.productDetails.find(
54
- // productDetail => productDetail.packingType === inventoryPackingType
55
- // )
56
-
57
- // packingSize = await getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)
58
- // }
59
51
 
60
52
  sellercraftInv.push({
61
53
  sku: item.productSKU,
@@ -81,8 +73,8 @@ export const syncProductsToSellercraftResolver = {
81
73
  await delay(5000)
82
74
  await SellercraftAPI.updateProduct(sellercraft, { accountId: sellercraft.accountId, sellercraftInv })
83
75
 
84
- if (sellercraftInv?.length < total) page++
85
- hasMorePage = Boolean(sellercraftInv?.length < total)
76
+ if (sellercraftInv?.length != 0 && sellercraftInv?.length < total) page++
77
+ hasMorePage = Boolean(sellercraftInv?.length != 0 && sellercraftInv?.length < total)
86
78
  }
87
79
  }
88
80
  }
@@ -45,7 +45,7 @@ router.post(
45
45
  state: {
46
46
  ...context.state,
47
47
  bizplace: custCompanyBizplace,
48
- domain
48
+ domain: custCompanyBizplace?.domain
49
49
  }
50
50
  }
51
51
  } as any)
@@ -0,0 +1,95 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+
5
+ import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
+ import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
+
8
+ const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-inventory-product-group-open-api')
9
+
10
+ router.get(
11
+ '/unstable/warehouse/:warehouseId/get-inventory-product-group-open-api',
12
+ businessMiddleware,
13
+ warehouseMiddleware,
14
+ async (context, next) => {
15
+ const { client, warehouse: bizplace, domain } = context.state
16
+ const { warehouseId } = context.params
17
+ const { t } = context
18
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query
19
+
20
+ if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
21
+
22
+ let filters: any = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }]
23
+ let pagination: any = { page: 1, limit: 100 }
24
+
25
+ filters = await validateFilters(context, filters, skuId, batchId, packingType)
26
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
27
+
28
+ debug('query-params', context.query)
29
+
30
+ context.body = {
31
+ result: (
32
+ await client.query({
33
+ query: gql`
34
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
35
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
36
+ items {
37
+ productSKU
38
+ productName
39
+ packingType
40
+ remainQty
41
+ remainUomValue
42
+ uom
43
+ }
44
+ total
45
+ }
46
+ }
47
+ `,
48
+ variables: { filters, pagination, sortings: [] },
49
+ context: {
50
+ ...context,
51
+ state: {
52
+ ...context.state,
53
+ bizplace,
54
+ domain
55
+ }
56
+ }
57
+ } as any)
58
+ ).data
59
+ }
60
+ }
61
+ )
62
+
63
+ export async function validateFilters(context, filters, skuId, batchId, packingType) {
64
+ if (skuId) {
65
+ filters = [
66
+ ...filters,
67
+ {
68
+ name: 'productName',
69
+ operator: 'i_like',
70
+ value: skuId
71
+ }
72
+ ]
73
+ }
74
+
75
+ return filters
76
+ }
77
+
78
+ export async function validatePagination(context, pagination, entries, offset) {
79
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
80
+ entries = parseInt(entries)
81
+ offset = parseInt(offset)
82
+
83
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
84
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
85
+ else pagination = { ...pagination, page: offset, limit: entries }
86
+ } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
87
+ entries = parseInt(entries)
88
+
89
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
90
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
91
+ else pagination = { ...pagination, limit: entries }
92
+ }
93
+
94
+ return pagination
95
+ }
@@ -12,6 +12,7 @@ import './get-delivery-order-list'
12
12
  import './get-inbound-order-detail'
13
13
  import './get-inbound-order-list'
14
14
  import './get-inventory-product-group'
15
+ import './get-inventory-overall-product-group'
15
16
  import './get-onhand-inventories'
16
17
  import './get-products'
17
18
  import './get-release-order-detail'
@@ -45,7 +45,7 @@ router.post(
45
45
  state: {
46
46
  ...context.state,
47
47
  bizplace: custCompanyBizplace,
48
- domain
48
+ domain: custCompanyBizplace?.domain
49
49
  }
50
50
  }
51
51
  } as any)
@@ -0,0 +1,95 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+
5
+ import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
+ import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
+
8
+ const debug = require('debug')('things-factory:operato-hub:restful-api:v1:get-inventory-product-group-open-api')
9
+
10
+ router.get(
11
+ '/v1/warehouse/:warehouseId/get-inventory-product-group-open-api',
12
+ businessMiddleware,
13
+ warehouseMiddleware,
14
+ async (context, next) => {
15
+ const { client, warehouse: bizplace, domain } = context.state
16
+ const { warehouseId } = context.params
17
+ const { t } = context
18
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query
19
+
20
+ if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
21
+
22
+ let filters: any = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }]
23
+ let pagination: any = { page: 1, limit: 100 }
24
+
25
+ filters = await validateFilters(context, filters, skuId, batchId, packingType)
26
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
27
+
28
+ debug('query-params', context.query)
29
+
30
+ context.body = {
31
+ result: (
32
+ await client.query({
33
+ query: gql`
34
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
35
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
36
+ items {
37
+ productSKU
38
+ productName
39
+ packingType
40
+ remainQty
41
+ remainUomValue
42
+ uom
43
+ }
44
+ total
45
+ }
46
+ }
47
+ `,
48
+ variables: { filters, pagination, sortings: [] },
49
+ context: {
50
+ ...context,
51
+ state: {
52
+ ...context.state,
53
+ bizplace,
54
+ domain
55
+ }
56
+ }
57
+ } as any)
58
+ ).data
59
+ }
60
+ }
61
+ )
62
+
63
+ export async function validateFilters(context, filters, skuId, batchId, packingType) {
64
+ if (skuId) {
65
+ filters = [
66
+ ...filters,
67
+ {
68
+ name: 'productName',
69
+ operator: 'i_like',
70
+ value: skuId
71
+ }
72
+ ]
73
+ }
74
+
75
+ return filters
76
+ }
77
+
78
+ export async function validatePagination(context, pagination, entries, offset) {
79
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
80
+ entries = parseInt(entries)
81
+ offset = parseInt(offset)
82
+
83
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
84
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
85
+ else pagination = { ...pagination, page: offset, limit: entries }
86
+ } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
87
+ entries = parseInt(entries)
88
+
89
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
90
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
91
+ else pagination = { ...pagination, limit: entries }
92
+ }
93
+
94
+ return pagination
95
+ }
@@ -11,6 +11,7 @@ import './get-delivery-order-list'
11
11
  import './get-inbound-order-detail'
12
12
  import './get-inbound-order-list'
13
13
  import './get-inventory-product-group'
14
+ import './get-inventory-overall-product-group'
14
15
  import './get-onhand-inventories'
15
16
  import './get-products'
16
17
  import './get-release-order-detail'
@@ -45,7 +45,7 @@ router.post(
45
45
  state: {
46
46
  ...context.state,
47
47
  bizplace: custCompanyBizplace,
48
- domain
48
+ domain: custCompanyBizplace?.domain
49
49
  }
50
50
  }
51
51
  } as any)
@@ -0,0 +1,95 @@
1
+ import gql from 'graphql-tag'
2
+
3
+ import { restfulApiRouter as router } from '@things-factory/api'
4
+
5
+ import { businessMiddleware } from '../../../../middlewares/business-middleware'
6
+ import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
7
+
8
+ const debug = require('debug')('things-factory:operato-hub:restful-api:v2:get-inventory-product-group-open-api')
9
+
10
+ router.get(
11
+ '/v2/warehouse/:warehouseId/get-inventory-product-group-open-api',
12
+ businessMiddleware,
13
+ warehouseMiddleware,
14
+ async (context, next) => {
15
+ const { client, warehouse: bizplace, domain } = context.state
16
+ const { warehouseId } = context.params
17
+ const { t } = context
18
+ const { skuId, packingType, batchId, paginationEntriesPerPage, paginationOffset } = context.query
19
+
20
+ if (!warehouseId) context.throw(404, t('error.warehouse id not found'))
21
+
22
+ let filters: any = [{ name: 'bizplace_id', operator: 'in', value: [warehouseId] }]
23
+ let pagination: any = { page: 1, limit: 100 }
24
+
25
+ filters = await validateFilters(context, filters, skuId, batchId, packingType)
26
+ pagination = await validatePagination(context, pagination, paginationEntriesPerPage, paginationOffset)
27
+
28
+ debug('query-params', context.query)
29
+
30
+ context.body = {
31
+ result: (
32
+ await client.query({
33
+ query: gql`
34
+ query inventoryProductGroupOpenAPI($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
35
+ inventoryProductGroupOpenAPI(filters: $filters, pagination: $pagination, sortings: $sortings) {
36
+ items {
37
+ productSKU
38
+ productName
39
+ packingType
40
+ remainQty
41
+ remainUomValue
42
+ uom
43
+ }
44
+ total
45
+ }
46
+ }
47
+ `,
48
+ variables: { filters, pagination, sortings: [] },
49
+ context: {
50
+ ...context,
51
+ state: {
52
+ ...context.state,
53
+ bizplace,
54
+ domain
55
+ }
56
+ }
57
+ } as any)
58
+ ).data
59
+ }
60
+ }
61
+ )
62
+
63
+ export async function validateFilters(context, filters, skuId, batchId, packingType) {
64
+ if (skuId) {
65
+ filters = [
66
+ ...filters,
67
+ {
68
+ name: 'productName',
69
+ operator: 'i_like',
70
+ value: skuId
71
+ }
72
+ ]
73
+ }
74
+
75
+ return filters
76
+ }
77
+
78
+ export async function validatePagination(context, pagination, entries, offset) {
79
+ if (entries !== '' && offset !== '' && !isNaN(parseInt(entries)) && !isNaN(parseInt(offset))) {
80
+ entries = parseInt(entries)
81
+ offset = parseInt(offset)
82
+
83
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
84
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
85
+ else pagination = { ...pagination, page: offset, limit: entries }
86
+ } else if (entries !== '' && offset === '' && !isNaN(parseInt(entries))) {
87
+ entries = parseInt(entries)
88
+
89
+ if (entries < 1) context.throw(400, context.t('paginationEntriesPerPage cannot be less than 1'))
90
+ else if (entries > 100) context.throw(400, context.t('paginationEntriesPerPage cannot be more than 100'))
91
+ else pagination = { ...pagination, limit: entries }
92
+ }
93
+
94
+ return pagination
95
+ }
@@ -11,6 +11,7 @@ import './get-delivery-order-list'
11
11
  import './get-inbound-order-detail'
12
12
  import './get-inbound-order-list'
13
13
  import './get-inventory-product-group'
14
+ import './get-inventory-overall-product-group'
14
15
  import './get-onhand-inventories'
15
16
  import './get-products'
16
17
  import './get-release-order-detail'