@things-factory/integration-fulfillment 9.0.0-beta.8 → 9.0.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 (36) hide show
  1. package/dist-server/controllers/fulfillment-api/index.js +1 -1
  2. package/dist-server/controllers/fulfillment-api/index.js.map +1 -1
  3. package/dist-server/controllers/operato/create-inbound-order.js +7 -7
  4. package/dist-server/controllers/operato/create-inbound-order.js.map +1 -1
  5. package/dist-server/controllers/operato/create-outbound-order.js +1 -1
  6. package/dist-server/controllers/operato/create-outbound-order.js.map +1 -1
  7. package/dist-server/controllers/operato/create-sales-invoice.js +1 -1
  8. package/dist-server/controllers/operato/create-sales-invoice.js.map +1 -1
  9. package/dist-server/controllers/operato/echo.js +3 -3
  10. package/dist-server/controllers/operato/echo.js.map +1 -1
  11. package/dist-server/controllers/operato/get-inbound-order.js +1 -1
  12. package/dist-server/controllers/operato/get-inbound-order.js.map +1 -1
  13. package/dist-server/controllers/operato/get-outbound-order.js +1 -1
  14. package/dist-server/controllers/operato/get-outbound-order.js.map +1 -1
  15. package/dist-server/controllers/operato/get-outbound-orders.js +1 -1
  16. package/dist-server/controllers/operato/get-outbound-orders.js.map +1 -1
  17. package/dist-server/controllers/operato/operato.js +7 -2
  18. package/dist-server/controllers/operato/operato.js.map +1 -1
  19. package/dist-server/graphql/resolvers/fulfillment-center/create-fulfillment-center.js +6 -1
  20. package/dist-server/graphql/resolvers/fulfillment-center/create-fulfillment-center.js.map +1 -1
  21. package/dist-server/graphql/resolvers/fulfillment-center/index.js +14 -2
  22. package/dist-server/graphql/resolvers/fulfillment-center/index.js.map +1 -1
  23. package/dist-server/graphql/resolvers/fulfillment-center/operato/generate-operato-access-token.js +5 -1
  24. package/dist-server/graphql/resolvers/fulfillment-center/operato/generate-operato-access-token.js.map +1 -1
  25. package/dist-server/graphql/resolvers/fulfillment-center/operato/index.js +8 -2
  26. package/dist-server/graphql/resolvers/fulfillment-center/operato/index.js.map +1 -1
  27. package/dist-server/graphql/resolvers/fulfillment-center/operato/refresh-operato-access-token.js +5 -1
  28. package/dist-server/graphql/resolvers/fulfillment-center/operato/refresh-operato-access-token.js.map +1 -1
  29. package/dist-server/graphql/resolvers/fulfillment-center/update-fulfillment-center.js +5 -1
  30. package/dist-server/graphql/resolvers/fulfillment-center/update-fulfillment-center.js.map +1 -1
  31. package/dist-server/graphql/resolvers/fulfillment-center/update-multiple-fulfillment-center.js +14 -4
  32. package/dist-server/graphql/resolvers/fulfillment-center/update-multiple-fulfillment-center.js.map +1 -1
  33. package/dist-server/routes.js +1 -1
  34. package/dist-server/routes.js.map +1 -1
  35. package/dist-server/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +12 -12
@@ -6,6 +6,7 @@ const shell_1 = require("@things-factory/shell");
6
6
  const entities_1 = require("../../entities");
7
7
  const decorators_1 = require("./decorators");
8
8
  class FulfillmentAPI {
9
+ static { this.platforms = {}; }
9
10
  static registerPlatform(name, action, apis) {
10
11
  FulfillmentAPI.platforms[name] = {
11
12
  action,
@@ -37,7 +38,6 @@ class FulfillmentAPI {
37
38
  static updateReleaseGoodDetails(center, req) { }
38
39
  }
39
40
  exports.FulfillmentAPI = FulfillmentAPI;
40
- FulfillmentAPI.platforms = {};
41
41
  tslib_1.__decorate([
42
42
  decorators_1.api,
43
43
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/fulfillment-api/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAqD;AAErD,6CAAkD;AAClD,6CAAkC;AAElC,MAAa,cAAc;IAGzB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;QACxC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAC/B,MAAM;YACN,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAI;QACrB,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;QAClC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,mCAAmC;QACnC,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAGM,AAAP,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGzB,AAAP,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGtC,AAAP,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAG7C,AAAP,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGpD,AAAP,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGrC,AAAP,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGtC,AAAP,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGpC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGxC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;;AAzDtD,wCA0DC;AAzDQ,wBAAS,GAAG,EAAE,CAAA;AAuBd;IADN,gBAAG;;;;gCAC4B;AAGzB;IADN,gBAAG;;;;6CACyC;AAGtC;IADN,gBAAG;;;;oDACgD;AAG7C;IADN,gBAAG;;;;2DACuD;AAGpD;IADN,gBAAG;;;;4CACwC;AAGrC;IADN,gBAAG;;;;6CACyC;AAGtC;IADN,gBAAG;;;;2CACuC;AAGpC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;+CAC2C;AAGxC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;oDACgD","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../entities'\nimport { api } from './decorators'\n\nexport class FulfillmentAPI {\n static platforms = {}\n\n static registerPlatform(name, action, apis) {\n FulfillmentAPI.platforms[name] = {\n action,\n apis\n }\n }\n\n static getPlatform(name) {\n return FulfillmentAPI.platforms[name]\n }\n\n static async getFulfillmentCenter(id) {\n const repository = getRepository(FulfillmentCenter)\n // return await repository.find(id)\n return await repository.findOne({\n where: { id },\n relations: ['domain']\n })\n }\n\n @api\n static echo(center, req): any {}\n\n @api\n static getCenterProducts(center, req): any {}\n\n @api\n static getInventoryProductGroup(center, req): any {}\n\n @api\n static getInventoryProductGroupOpenAPI(center, req): any {}\n\n @api\n static getOutboundOrder(center, req): any {}\n\n @api\n static getOutboundOrders(center, req): any {}\n\n @api\n static getInboundOrder(center, req): any {}\n\n @api\n static cancelReleaseOrder(center, req): any {}\n\n @api\n static createOutboundOrder(center, req): any {}\n\n @api\n static createInboundOrder(center, req): any {}\n\n @api\n static createSalesInvoice(center, req): any {}\n\n @api\n static updateReleaseGoodDetails(center, req): any {}\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/fulfillment-api/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAqD;AAErD,6CAAkD;AAClD,6CAAkC;AAElC,MAAa,cAAc;aAClB,cAAS,GAAG,EAAE,CAAA;IAErB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;QACxC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAC/B,MAAM;YACN,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAI;QACrB,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;QAClC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,mCAAmC;QACnC,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAGM,AAAP,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGzB,AAAP,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGtC,AAAP,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAG7C,AAAP,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGpD,AAAP,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGrC,AAAP,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGtC,AAAP,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGpC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGxC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;IAGvC,AAAP,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,IAAQ,CAAC;;AAzDtD,wCA0DC;AAlCQ;IADN,gBAAG;;;;gCAC4B;AAGzB;IADN,gBAAG;;;;6CACyC;AAGtC;IADN,gBAAG;;;;oDACgD;AAG7C;IADN,gBAAG;;;;2DACuD;AAGpD;IADN,gBAAG;;;;4CACwC;AAGrC;IADN,gBAAG;;;;6CACyC;AAGtC;IADN,gBAAG;;;;2CACuC;AAGpC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;+CAC2C;AAGxC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;8CAC0C;AAGvC;IADN,gBAAG;;;;oDACgD","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../entities'\nimport { api } from './decorators'\n\nexport class FulfillmentAPI {\n static platforms = {}\n\n static registerPlatform(name, action, apis) {\n FulfillmentAPI.platforms[name] = {\n action,\n apis\n }\n }\n\n static getPlatform(name) {\n return FulfillmentAPI.platforms[name]\n }\n\n static async getFulfillmentCenter(id) {\n const repository = getRepository(FulfillmentCenter)\n // return await repository.find(id)\n return await repository.findOne({\n where: { id },\n relations: ['domain']\n })\n }\n\n @api\n static echo(center, req): any {}\n\n @api\n static getCenterProducts(center, req): any {}\n\n @api\n static getInventoryProductGroup(center, req): any {}\n\n @api\n static getInventoryProductGroupOpenAPI(center, req): any {}\n\n @api\n static getOutboundOrder(center, req): any {}\n\n @api\n static getOutboundOrders(center, req): any {}\n\n @api\n static getInboundOrder(center, req): any {}\n\n @api\n static cancelReleaseOrder(center, req): any {}\n\n @api\n static createOutboundOrder(center, req): any {}\n\n @api\n static createInboundOrder(center, req): any {}\n\n @api\n static createSalesInvoice(center, req): any {}\n\n @api\n static updateReleaseGoodDetails(center, req): any {}\n}\n"]}
@@ -10,16 +10,16 @@ function createInboundOrder() {
10
10
  var { customerBizplaceId, purchaseOrder } = req;
11
11
  return {
12
12
  payload: {
13
- containerNo: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.containerNo,
14
- containerSize: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.containerSize,
15
- ownTransport: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.ownTransport,
13
+ containerNo: purchaseOrder?.containerNo,
14
+ containerSize: purchaseOrder?.containerSize,
15
+ ownTransport: purchaseOrder?.ownTransport,
16
16
  crossDocking: false,
17
- refNo: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.refNo,
18
- refNo2: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.refNo2,
19
- importCargo: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.importCargo,
17
+ refNo: purchaseOrder?.refNo,
18
+ refNo2: purchaseOrder?.refNo2,
19
+ importCargo: purchaseOrder?.importCargo,
20
20
  looseItem: false,
21
21
  etaDate: purchaseOrder.etaDate,
22
- truckNo: purchaseOrder === null || purchaseOrder === void 0 ? void 0 : purchaseOrder.truckNo,
22
+ truckNo: purchaseOrder?.truckNo,
23
23
  orderProducts: purchaseOrder.orderProducts
24
24
  },
25
25
  resource: {
@@ -1 +1 @@
1
- {"version":3,"file":"create-inbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-inbound-order.ts"],"names":[],"mappings":";AAAA,2GAA2G;;AAE3G,gDA8BC;AA9BD,SAAgB,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,GAAG,CAAA;YAE/C,OAAO;gBACL,OAAO,EAAE;oBACP,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;oBACvC,aAAa,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa;oBAC3C,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY;oBACzC,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK;oBAC3B,MAAM,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM;oBAC7B,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;oBACvC,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO;oBAC/B,aAAa,EAAE,aAAa,CAAC,aAAa;iBAC3C;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,kBAAkB;iBAChC;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["/* https://operato.dev/docs/admin-api/rest/reference/products/product?api[version]=2020-07#index-2020-07 */\n\nexport function createInboundOrder() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-inbound-order',\n denormalize(req) {\n var { customerBizplaceId, purchaseOrder } = req\n\n return {\n payload: {\n containerNo: purchaseOrder?.containerNo,\n containerSize: purchaseOrder?.containerSize,\n ownTransport: purchaseOrder?.ownTransport,\n crossDocking: false,\n refNo: purchaseOrder?.refNo,\n refNo2: purchaseOrder?.refNo2,\n importCargo: purchaseOrder?.importCargo,\n looseItem: false,\n etaDate: purchaseOrder.etaDate,\n truckNo: purchaseOrder?.truckNo,\n orderProducts: purchaseOrder.orderProducts\n },\n resource: {\n warehouseId: customerBizplaceId\n }\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
1
+ {"version":3,"file":"create-inbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-inbound-order.ts"],"names":[],"mappings":";AAAA,2GAA2G;;AAE3G,gDA8BC;AA9BD,SAAgB,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,GAAG,CAAA;YAE/C,OAAO;gBACL,OAAO,EAAE;oBACP,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,aAAa,EAAE,aAAa,EAAE,aAAa;oBAC3C,YAAY,EAAE,aAAa,EAAE,YAAY;oBACzC,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,aAAa,EAAE,KAAK;oBAC3B,MAAM,EAAE,aAAa,EAAE,MAAM;oBAC7B,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,OAAO,EAAE,aAAa,EAAE,OAAO;oBAC/B,aAAa,EAAE,aAAa,CAAC,aAAa;iBAC3C;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,kBAAkB;iBAChC;aACF,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["/* https://operato.dev/docs/admin-api/rest/reference/products/product?api[version]=2020-07#index-2020-07 */\n\nexport function createInboundOrder() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-inbound-order',\n denormalize(req) {\n var { customerBizplaceId, purchaseOrder } = req\n\n return {\n payload: {\n containerNo: purchaseOrder?.containerNo,\n containerSize: purchaseOrder?.containerSize,\n ownTransport: purchaseOrder?.ownTransport,\n crossDocking: false,\n refNo: purchaseOrder?.refNo,\n refNo2: purchaseOrder?.refNo2,\n importCargo: purchaseOrder?.importCargo,\n looseItem: false,\n etaDate: purchaseOrder.etaDate,\n truckNo: purchaseOrder?.truckNo,\n orderProducts: purchaseOrder.orderProducts\n },\n resource: {\n warehouseId: customerBizplaceId\n }\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
@@ -8,7 +8,7 @@ function createOutboundOrder() {
8
8
  denormalize(req) {
9
9
  var { customerBizplaceId, releaseOrder } = req;
10
10
  return {
11
- payload: Object.assign({}, releaseOrder),
11
+ payload: { ...releaseOrder },
12
12
  resource: { warehouseId: customerBizplaceId }
13
13
  };
14
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create-outbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-outbound-order.ts"],"names":[],"mappings":";;AAAA,kDAgBC;AAhBD,SAAgB,mBAAmB;IACjC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;YAE9C,OAAO;gBACL,OAAO,oBAAO,YAAY,CAAE;gBAC5B,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC9C,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function createOutboundOrder() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-release-order',\n denormalize(req) {\n var { customerBizplaceId, releaseOrder } = req\n\n return {\n payload: { ...releaseOrder },\n resource: { warehouseId: customerBizplaceId }\n }\n },\n normalize(res) {\n return res.result.addReleaseGood\n }\n }\n}\n"]}
1
+ {"version":3,"file":"create-outbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-outbound-order.ts"],"names":[],"mappings":";;AAAA,kDAgBC;AAhBD,SAAgB,mBAAmB;IACjC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;YAE9C,OAAO;gBACL,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE;gBAC5B,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC9C,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function createOutboundOrder() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-release-order',\n denormalize(req) {\n var { customerBizplaceId, releaseOrder } = req\n\n return {\n payload: { ...releaseOrder },\n resource: { warehouseId: customerBizplaceId }\n }\n },\n normalize(res) {\n return res.result.addReleaseGood\n }\n }\n}\n"]}
@@ -8,7 +8,7 @@ function createSalesInvoice() {
8
8
  denormalize(req) {
9
9
  var { customerBizplaceId, invoice } = req;
10
10
  return {
11
- payload: Object.assign({}, invoice),
11
+ payload: { ...invoice },
12
12
  resource: { warehouseId: customerBizplaceId }
13
13
  };
14
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create-sales-invoice.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-sales-invoice.ts"],"names":[],"mappings":";;AAAA,gDAgBC;AAhBD,SAAgB,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;YAEzC,OAAO;gBACL,OAAO,oBAAO,OAAO,CAAE;gBACvB,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC9C,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QACjC,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function createSalesInvoice() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-sales-invoice',\n denormalize(req) {\n var { customerBizplaceId, invoice } = req\n\n return {\n payload: { ...invoice },\n resource: { warehouseId: customerBizplaceId }\n }\n },\n normalize(res) {\n return res.result.createInvoice\n }\n }\n}\n"]}
1
+ {"version":3,"file":"create-sales-invoice.js","sourceRoot":"","sources":["../../../server/controllers/operato/create-sales-invoice.ts"],"names":[],"mappings":";;AAAA,gDAgBC;AAhBD,SAAgB,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qDAAqD;QAC3D,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;YAEzC,OAAO;gBACL,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;gBACvB,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC9C,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;QACjC,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function createSalesInvoice() {\n return {\n method: 'post',\n path: '/unstable/warehouse/{warehouseId}/add-sales-invoice',\n denormalize(req) {\n var { customerBizplaceId, invoice } = req\n\n return {\n payload: { ...invoice },\n resource: { warehouseId: customerBizplaceId }\n }\n },\n normalize(res) {\n return res.result.createInvoice\n }\n }\n}\n"]}
@@ -5,13 +5,13 @@ function echo() {
5
5
  return {
6
6
  path: '/echo',
7
7
  denormalize(req) {
8
- return Object.assign({}, req);
8
+ return { ...req };
9
9
  },
10
10
  normalize(res) {
11
- return Object.assign({}, res);
11
+ return { ...res };
12
12
  },
13
13
  action({ center, method, path, request, platformAction }) {
14
- return Object.assign({}, request);
14
+ return { ...request };
15
15
  }
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../../server/controllers/operato/echo.ts"],"names":[],"mappings":";;AAAA,oBAaC;AAbD,SAAgB,IAAI;IAClB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,CAAC,GAAG;YACb,yBAAY,GAAG,EAAE;QACnB,CAAC;QACD,SAAS,CAAC,GAAG;YACX,yBAAY,GAAG,EAAE;QACnB,CAAC;QACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE;YACtD,yBAAY,OAAO,EAAE;QACvB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function echo() {\n return {\n path: '/echo',\n denormalize(req) {\n return { ...req }\n },\n normalize(res) {\n return { ...res }\n },\n action({ center, method, path, request, platformAction }) {\n return { ...request }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../../server/controllers/operato/echo.ts"],"names":[],"mappings":";;AAAA,oBAaC;AAbD,SAAgB,IAAI;IAClB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,CAAC,GAAG;YACb,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;QACnB,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;QACnB,CAAC;QACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE;YACtD,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function echo() {\n return {\n path: '/echo',\n denormalize(req) {\n return { ...req }\n },\n normalize(res) {\n return { ...res }\n },\n action({ center, method, path, request, platformAction }) {\n return { ...request }\n }\n }\n}\n"]}
@@ -14,7 +14,7 @@ function getInboundOrder() {
14
14
  param.refNo = refNo;
15
15
  return {
16
16
  resource: { warehouseId: customerBizplaceId },
17
- payload: Object.assign({}, param)
17
+ payload: { ...param }
18
18
  };
19
19
  },
20
20
  normalize(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-inbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-inbound-order.ts"],"names":[],"mappings":";;AAAA,0CAqBC;AArBD,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4DAA4D;QAClE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YAC9C,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAC9B,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,oBAAO,KAAK,CAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACpC,OAAO,aAAa,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getInboundOrder() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-inbound-order-detail',\n denormalize(req) {\n var { customerBizplaceId, refNo, ganNo } = req\n let param: any = {}\n\n if (ganNo) param.ganNo = ganNo\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { arrivalNotice } = res.result\n return arrivalNotice\n }\n }\n}\n"]}
1
+ {"version":3,"file":"get-inbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-inbound-order.ts"],"names":[],"mappings":";;AAAA,0CAqBC;AArBD,SAAgB,eAAe;IAC7B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4DAA4D;QAClE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YAC9C,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAC9B,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACpC,OAAO,aAAa,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getInboundOrder() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-inbound-order-detail',\n denormalize(req) {\n var { customerBizplaceId, refNo, ganNo } = req\n let param: any = {}\n\n if (ganNo) param.ganNo = ganNo\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { arrivalNotice } = res.result\n return arrivalNotice\n }\n }\n}\n"]}
@@ -14,7 +14,7 @@ function getOutboundOrder() {
14
14
  param.refNo = refNo;
15
15
  return {
16
16
  resource: { warehouseId: customerBizplaceId },
17
- payload: Object.assign({}, param)
17
+ payload: { ...param }
18
18
  };
19
19
  },
20
20
  normalize(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-outbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-outbound-order.ts"],"names":[],"mappings":";;AAAA,4CAqBC;AArBD,SAAgB,gBAAgB;IAC9B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4DAA4D;QAClE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;YACvD,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,cAAc;gBAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAA;YACzD,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,oBAAO,KAAK,CAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACxC,OAAO,iBAAiB,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getOutboundOrder() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-release-order-detail',\n denormalize(req) {\n var { customerBizplaceId, refNo, releaseOrderNo } = req\n let param: any = {}\n\n if (releaseOrderNo) param.releaseOrderNo = releaseOrderNo\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { releaseGoodDetail } = res.result\n return releaseGoodDetail\n }\n }\n}\n"]}
1
+ {"version":3,"file":"get-outbound-order.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-outbound-order.ts"],"names":[],"mappings":";;AAAA,4CAqBC;AArBD,SAAgB,gBAAgB;IAC9B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4DAA4D;QAClE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;YACvD,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,cAAc;gBAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAA;YACzD,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACxC,OAAO,iBAAiB,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getOutboundOrder() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-release-order-detail',\n denormalize(req) {\n var { customerBizplaceId, refNo, releaseOrderNo } = req\n let param: any = {}\n\n if (releaseOrderNo) param.releaseOrderNo = releaseOrderNo\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { releaseGoodDetail } = res.result\n return releaseGoodDetail\n }\n }\n}\n"]}
@@ -12,7 +12,7 @@ function getOutboundOrders() {
12
12
  param.refNo = refNo;
13
13
  return {
14
14
  resource: { warehouseId: customerBizplaceId },
15
- payload: Object.assign({}, param)
15
+ payload: { ...param }
16
16
  };
17
17
  },
18
18
  normalize(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-outbound-orders.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-outbound-orders.ts"],"names":[],"mappings":";;AAAA,8CAoBC;AApBD,SAAgB,iBAAiB;IAC/B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,0DAA0D;QAChE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACvC,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,oBAAO,KAAK,CAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACnC,OAAO,YAAY,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getOutboundOrders() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-release-order-list',\n denormalize(req) {\n var { customerBizplaceId, refNo } = req\n let param: any = {}\n\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { releaseGoods } = res.result\n return releaseGoods\n }\n }\n}\n"]}
1
+ {"version":3,"file":"get-outbound-orders.js","sourceRoot":"","sources":["../../../server/controllers/operato/get-outbound-orders.ts"],"names":[],"mappings":";;AAAA,8CAoBC;AApBD,SAAgB,iBAAiB;IAC/B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,0DAA0D;QAChE,WAAW,CAAC,GAAG;YACb,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACvC,IAAI,KAAK,GAAQ,EAAE,CAAA;YAEnB,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAE9B,OAAO;gBACL,QAAQ,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC7C,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE;aACtB,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG;YACX,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YACnC,OAAO,YAAY,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["export function getOutboundOrders() {\n return {\n method: 'get',\n path: '/unstable/warehouse/{warehouseId}/get-release-order-list',\n denormalize(req) {\n var { customerBizplaceId, refNo } = req\n let param: any = {}\n\n if (refNo) param.refNo = refNo\n\n return {\n resource: { warehouseId: customerBizplaceId },\n payload: { ...param }\n }\n },\n normalize(res) {\n const { releaseGoods } = res.result\n return releaseGoods\n }\n }\n}\n"]}
@@ -12,7 +12,9 @@ const { protocol = 'https', host, callback } = env_1.config.get('fulfillmentInte
12
12
  const debug = (0, debug_1.default)('things-factory:integration-fulfillment:operato');
13
13
  class Operato {
14
14
  constructor(config) {
15
- this.config = Object.assign({}, config);
15
+ this.config = {
16
+ ...config
17
+ };
16
18
  }
17
19
  buildAuthURL(state) {
18
20
  // TODO make scopes properly
@@ -86,7 +88,10 @@ class Operato {
86
88
  expiresIn: new Date(exp * 1000)
87
89
  };
88
90
  const repository = (0, shell_1.getRepository)(entities_1.FulfillmentCenter);
89
- return await repository.save(Object.assign(Object.assign({}, fulfillmentCenter), patch));
91
+ return await repository.save({
92
+ ...fulfillmentCenter,
93
+ ...patch
94
+ });
90
95
  }
91
96
  }
92
97
  exports.Operato = Operato;
@@ -1 +1 @@
1
- {"version":3,"file":"operato.js","sourceRoot":"","sources":["../../../server/controllers/operato/operato.ts"],"names":[],"mappings":"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","sourcesContent":["import Debug from 'debug'\nimport fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { FulfillmentCenter } from '../../entities'\n\nconst { protocol = 'https', host, callback } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = Debug('things-factory:integration-fulfillment:operato')\n\nexport type OperatoConfig = {\n appKey: string\n appSecret: string\n center?: string\n accessToken?: string\n redirectUrl?: string\n}\n\nexport class Operato {\n private config: OperatoConfig\n\n constructor(config: OperatoConfig) {\n this.config = {\n ...config\n }\n }\n\n buildAuthURL(state) {\n // TODO make scopes properly\n const { appKey, redirectUrl } = this.config\n // return `http://${center}.${host}/oauth/authorize?response_type=code&client_id=${appKey}&scope=${scopes}&redirect_uri=${redirectUrl}&state=${state}`\n return `${protocol}://${host}/oauth/authorize?response_type=code&client_id=${appKey}&scope=warehouse&redirect_uri=${redirectUrl}&state=${state}`\n }\n\n async get(center: any, path: string, data: any) {\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const endpoint = `${protocol}://${host}/api${path}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': center.accessToken,\n 'x-things-factory-domain': center.centerId\n }\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n\n async post(center: any, path: string, data: any = {}) {\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const endpoint = `${protocol}://${host}/api${path}`\n\n const response = await fetch(endpoint, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': center.accessToken,\n 'x-things-factory-domain': center.centerId\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const text = await response.text()\n debug('response result', text)\n throw response\n }\n }\n\n public static async refreshAccessToken(fulfillmentCenter) {\n const requestBody = {\n refreshToken: fulfillmentCenter.refreshToken\n }\n\n const refreshResponse = await fetch(`${protocol}://${host}/oauth/refresh-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!refreshResponse.ok) {\n throw new Error(`get operato information failed: ${await refreshResponse.text()}`)\n }\n\n const body = await refreshResponse.json()\n const {\n accessToken /* token used to call the API */,\n id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,\n expires_in /* amount of seconds until the access token expires */,\n token_type: tokenType /* must be Bearer */,\n refreshToken\n /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).\n */\n } = body\n\n const { exp } = parseJwt(accessToken)\n\n var patch = {\n accessToken,\n refreshToken,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n const repository = getRepository(FulfillmentCenter)\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch\n })\n }\n}\n"]}
1
+ {"version":3,"file":"operato.js","sourceRoot":"","sources":["../../../server/controllers/operato/operato.ts"],"names":[],"mappings":"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","sourcesContent":["import Debug from 'debug'\nimport fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { FulfillmentCenter } from '../../entities'\n\nconst { protocol = 'https', host, callback } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = Debug('things-factory:integration-fulfillment:operato')\n\nexport type OperatoConfig = {\n appKey: string\n appSecret: string\n center?: string\n accessToken?: string\n redirectUrl?: string\n}\n\nexport class Operato {\n private config: OperatoConfig\n\n constructor(config: OperatoConfig) {\n this.config = {\n ...config\n }\n }\n\n buildAuthURL(state) {\n // TODO make scopes properly\n const { appKey, redirectUrl } = this.config\n // return `http://${center}.${host}/oauth/authorize?response_type=code&client_id=${appKey}&scope=${scopes}&redirect_uri=${redirectUrl}&state=${state}`\n return `${protocol}://${host}/oauth/authorize?response_type=code&client_id=${appKey}&scope=warehouse&redirect_uri=${redirectUrl}&state=${state}`\n }\n\n async get(center: any, path: string, data: any) {\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const endpoint = `${protocol}://${host}/api${path}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const response = await fetch(endpoint, {\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': center.accessToken,\n 'x-things-factory-domain': center.centerId\n }\n })\n\n const result = await response.json()\n debug('response result', result)\n\n return result\n }\n\n async post(center: any, path: string, data: any = {}) {\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n\n const endpoint = `${protocol}://${host}/api${path}`\n\n const response = await fetch(endpoint, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n 'x-access-token': center.accessToken,\n 'x-things-factory-domain': center.centerId\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const text = await response.text()\n debug('response result', text)\n throw response\n }\n }\n\n public static async refreshAccessToken(fulfillmentCenter) {\n const requestBody = {\n refreshToken: fulfillmentCenter.refreshToken\n }\n\n const refreshResponse = await fetch(`${protocol}://${host}/oauth/refresh-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!refreshResponse.ok) {\n throw new Error(`get operato information failed: ${await refreshResponse.text()}`)\n }\n\n const body = await refreshResponse.json()\n const {\n accessToken /* token used to call the API */,\n id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,\n expires_in /* amount of seconds until the access token expires */,\n token_type: tokenType /* must be Bearer */,\n refreshToken\n /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).\n */\n } = body\n\n const { exp } = parseJwt(accessToken)\n\n var patch = {\n accessToken,\n refreshToken,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n const repository = getRepository(FulfillmentCenter)\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch\n })\n }\n}\n"]}
@@ -5,7 +5,12 @@ const shell_1 = require("@things-factory/shell");
5
5
  const entities_1 = require("../../../entities");
6
6
  exports.createFulfillmentCenter = {
7
7
  async createFulfillmentCenter(_, { fulfillmentCenter }, context) {
8
- return await (0, shell_1.getRepository)(entities_1.FulfillmentCenter).save(Object.assign(Object.assign({}, fulfillmentCenter), { domain: context.state.domain, creator: context.state.user, updater: context.state.user }));
8
+ return await (0, shell_1.getRepository)(entities_1.FulfillmentCenter).save({
9
+ ...fulfillmentCenter,
10
+ domain: context.state.domain,
11
+ creator: context.state.user,
12
+ updater: context.state.user
13
+ });
9
14
  }
10
15
  };
11
16
  //# sourceMappingURL=create-fulfillment-center.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/create-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,iBAAiB,EAAE,EAAE,OAAwB;QACnF,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAC,IAAI,iCAC7C,iBAAiB,KACpB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const createFulfillmentCenter = {\n async createFulfillmentCenter(_: any, { fulfillmentCenter }, context: ResolverContext) {\n return await getRepository(FulfillmentCenter).save({\n ...fulfillmentCenter,\n domain: context.state.domain,\n creator: context.state.user,\n updater: context.state.user\n })\n }\n}\n"]}
1
+ {"version":3,"file":"create-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/create-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,iBAAiB,EAAE,EAAE,OAAwB;QACnF,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAC,IAAI,CAAC;YACjD,GAAG,iBAAiB;YACpB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const createFulfillmentCenter = {\n async createFulfillmentCenter(_: any, { fulfillmentCenter }, context: ResolverContext) {\n return await getRepository(FulfillmentCenter).save({\n ...fulfillmentCenter,\n domain: context.state.domain,\n creator: context.state.user,\n updater: context.state.user\n })\n }\n}\n"]}
@@ -11,6 +11,18 @@ const create_fulfillment_center_1 = require("./create-fulfillment-center");
11
11
  const delete_fulfillment_center_1 = require("./delete-fulfillment-center");
12
12
  const delete_fulfillment_centers_1 = require("./delete-fulfillment-centers");
13
13
  const Operato = tslib_1.__importStar(require("./operato"));
14
- exports.Query = Object.assign(Object.assign(Object.assign(Object.assign({}, fulfillment_centers_1.fulfillmentCentersResolver), fulfillment_center_1.fulfillmentCenterResolver), having_fulfillment_center_1.havingFulfillmentCenterResolver), Operato.Query);
15
- exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, update_fulfillment_center_1.updateFulfillmentCenter), update_multiple_fulfillment_center_1.updateMultipleFulfillmentCenter), create_fulfillment_center_1.createFulfillmentCenter), delete_fulfillment_center_1.deleteFulfillmentCenter), delete_fulfillment_centers_1.deleteFulfillmentCenters), Operato.Mutation);
14
+ exports.Query = {
15
+ ...fulfillment_centers_1.fulfillmentCentersResolver,
16
+ ...fulfillment_center_1.fulfillmentCenterResolver,
17
+ ...having_fulfillment_center_1.havingFulfillmentCenterResolver,
18
+ ...Operato.Query
19
+ };
20
+ exports.Mutation = {
21
+ ...update_fulfillment_center_1.updateFulfillmentCenter,
22
+ ...update_multiple_fulfillment_center_1.updateMultipleFulfillmentCenter,
23
+ ...create_fulfillment_center_1.createFulfillmentCenter,
24
+ ...delete_fulfillment_center_1.deleteFulfillmentCenter,
25
+ ...delete_fulfillment_centers_1.deleteFulfillmentCenters,
26
+ ...Operato.Mutation
27
+ };
16
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/index.ts"],"names":[],"mappings":";;;;AAAA,6DAAgE;AAChE,+DAAkE;AAClE,2EAA6E;AAE7E,6FAAsF;AACtF,2EAAqE;AACrE,2EAAqE;AACrE,2EAAqE;AACrE,6EAAuE;AAEvE,2DAAoC;AAEvB,QAAA,KAAK,GAAG,4DAChB,gDAA0B,GAC1B,8CAAyB,GACzB,2DAA+B,GAC/B,OAAO,CAAC,KAAK,CACV,CAAA;AAEK,QAAA,QAAQ,2FAChB,mDAAuB,GACvB,oEAA+B,GAC/B,mDAAuB,GACvB,mDAAuB,GACvB,qDAAwB,GACxB,OAAO,CAAC,QAAQ,EACpB","sourcesContent":["import { fulfillmentCenterResolver } from './fulfillment-center'\nimport { fulfillmentCentersResolver } from './fulfillment-centers'\nimport { havingFulfillmentCenterResolver } from './having-fulfillment-center'\n\nimport { updateMultipleFulfillmentCenter } from './update-multiple-fulfillment-center'\nimport { updateFulfillmentCenter } from './update-fulfillment-center'\nimport { createFulfillmentCenter } from './create-fulfillment-center'\nimport { deleteFulfillmentCenter } from './delete-fulfillment-center'\nimport { deleteFulfillmentCenters } from './delete-fulfillment-centers'\n\nimport * as Operato from './operato'\n\nexport const Query = {\n ...fulfillmentCentersResolver,\n ...fulfillmentCenterResolver,\n ...havingFulfillmentCenterResolver,\n ...Operato.Query\n} as any\n\nexport const Mutation = {\n ...updateFulfillmentCenter,\n ...updateMultipleFulfillmentCenter,\n ...createFulfillmentCenter,\n ...deleteFulfillmentCenter,\n ...deleteFulfillmentCenters,\n ...Operato.Mutation\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/index.ts"],"names":[],"mappings":";;;;AAAA,6DAAgE;AAChE,+DAAkE;AAClE,2EAA6E;AAE7E,6FAAsF;AACtF,2EAAqE;AACrE,2EAAqE;AACrE,2EAAqE;AACrE,6EAAuE;AAEvE,2DAAoC;AAEvB,QAAA,KAAK,GAAG;IACnB,GAAG,gDAA0B;IAC7B,GAAG,8CAAyB;IAC5B,GAAG,2DAA+B;IAClC,GAAG,OAAO,CAAC,KAAK;CACV,CAAA;AAEK,QAAA,QAAQ,GAAG;IACtB,GAAG,mDAAuB;IAC1B,GAAG,oEAA+B;IAClC,GAAG,mDAAuB;IAC1B,GAAG,mDAAuB;IAC1B,GAAG,qDAAwB;IAC3B,GAAG,OAAO,CAAC,QAAQ;CACpB,CAAA","sourcesContent":["import { fulfillmentCenterResolver } from './fulfillment-center'\nimport { fulfillmentCentersResolver } from './fulfillment-centers'\nimport { havingFulfillmentCenterResolver } from './having-fulfillment-center'\n\nimport { updateMultipleFulfillmentCenter } from './update-multiple-fulfillment-center'\nimport { updateFulfillmentCenter } from './update-fulfillment-center'\nimport { createFulfillmentCenter } from './create-fulfillment-center'\nimport { deleteFulfillmentCenter } from './delete-fulfillment-center'\nimport { deleteFulfillmentCenters } from './delete-fulfillment-centers'\n\nimport * as Operato from './operato'\n\nexport const Query = {\n ...fulfillmentCentersResolver,\n ...fulfillmentCenterResolver,\n ...havingFulfillmentCenterResolver,\n ...Operato.Query\n} as any\n\nexport const Mutation = {\n ...updateFulfillmentCenter,\n ...updateMultipleFulfillmentCenter,\n ...createFulfillmentCenter,\n ...deleteFulfillmentCenter,\n ...deleteFulfillmentCenters,\n ...Operato.Mutation\n}\n"]}
@@ -45,7 +45,11 @@ exports.generateOperatoAccessToken = {
45
45
  centerId,
46
46
  status: "active" /* FulfillmentCenterStatus.Active */
47
47
  };
48
- return await repository.save(Object.assign(Object.assign(Object.assign({}, fulfillmentCenter), patch), { updater: context.state.user }));
48
+ return await repository.save({
49
+ ...fulfillmentCenter,
50
+ ...patch,
51
+ updater: context.state.user
52
+ });
49
53
  }
50
54
  };
51
55
  //# sourceMappingURL=generate-operato-access-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-operato-access-token.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/generate-operato-access-token.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAE9B,6CAA4C;AAC5C,iDAAqD;AAErD,mDAAiF;AAEjF,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAA;AAEvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sEAAsE,CAAC,CAAA;AAEzF,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,0BAA0B,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAwB;QAC7E,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,iBAAiB,CAAC,WAAW;YAC3C,IAAI;SACL,CAAA;QAED,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,QAAQ,MAAM,IAAI,qBAAqB,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,KAAK,GAAG;YACV,WAAW,EAAE,YAAY;YACzB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,QAAQ;YACR,MAAM,+CAAgC;SACvC,CAAA;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,iBAAiB,GACjB,KAAK,KACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter, FulfillmentCenterStatus } from '../../../../entities'\n\nconst { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = require('debug')('things-factory:integration-fulfillment:generate-operato-access-token')\n\nexport const generateOperatoAccessToken = {\n async generateOperatoAccessToken(_: any, { id, code }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, id }\n })\n\n const requestBody = {\n grant_type: 'authorization_code',\n client_id: appKey,\n client_secret: appSecret,\n redirect_uri: fulfillmentCenter.redirectUrl,\n code\n }\n\n debug('request body', requestBody)\n\n const response = await fetch(`${protocol}://${host}/oauth/access-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!response.ok) {\n debug('error', await response.text())\n return\n }\n\n const body = await response.json()\n const { access_token, refresh_token, centerId } = body\n\n if (!access_token) {\n throw new Error(`get fulfillment center information failed: ${body}`)\n }\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(body, null, 2),\n centerId,\n status: FulfillmentCenterStatus.Active\n }\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
1
+ {"version":3,"file":"generate-operato-access-token.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/generate-operato-access-token.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAE9B,6CAA4C;AAC5C,iDAAqD;AAErD,mDAAiF;AAEjF,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAA;AAEvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sEAAsE,CAAC,CAAA;AAEzF,QAAA,0BAA0B,GAAG;IACxC,KAAK,CAAC,0BAA0B,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAwB;QAC7E,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,iBAAiB,CAAC,WAAW;YAC3C,IAAI;SACL,CAAA;QAED,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,QAAQ,MAAM,IAAI,qBAAqB,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,KAAK,GAAG;YACV,WAAW,EAAE,YAAY;YACzB,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,QAAQ;YACR,MAAM,+CAAgC;SACvC,CAAA;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,iBAAiB;YACpB,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter, FulfillmentCenterStatus } from '../../../../entities'\n\nconst { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = require('debug')('things-factory:integration-fulfillment:generate-operato-access-token')\n\nexport const generateOperatoAccessToken = {\n async generateOperatoAccessToken(_: any, { id, code }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, id }\n })\n\n const requestBody = {\n grant_type: 'authorization_code',\n client_id: appKey,\n client_secret: appSecret,\n redirect_uri: fulfillmentCenter.redirectUrl,\n code\n }\n\n debug('request body', requestBody)\n\n const response = await fetch(`${protocol}://${host}/oauth/access-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!response.ok) {\n debug('error', await response.text())\n return\n }\n\n const body = await response.json()\n const { access_token, refresh_token, centerId } = body\n\n if (!access_token) {\n throw new Error(`get fulfillment center information failed: ${body}`)\n }\n\n var patch = {\n accessToken: access_token,\n refreshToken: refresh_token,\n accessInfo: JSON.stringify(body, null, 2),\n centerId,\n status: FulfillmentCenterStatus.Active\n }\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
@@ -5,6 +5,12 @@ const deactivate_operato_center_1 = require("./deactivate-operato-center");
5
5
  const generate_operato_access_token_1 = require("./generate-operato-access-token");
6
6
  const get_operato_auth_url_1 = require("./get-operato-auth-url");
7
7
  const refresh_operato_access_token_1 = require("./refresh-operato-access-token");
8
- exports.Query = Object.assign({}, get_operato_auth_url_1.getOperatoAuthURL);
9
- exports.Mutation = Object.assign(Object.assign(Object.assign({}, generate_operato_access_token_1.generateOperatoAccessToken), deactivate_operato_center_1.deactivateOperatoCenter), refresh_operato_access_token_1.refreshOperatoAccessToken);
8
+ exports.Query = {
9
+ ...get_operato_auth_url_1.getOperatoAuthURL
10
+ };
11
+ exports.Mutation = {
12
+ ...generate_operato_access_token_1.generateOperatoAccessToken,
13
+ ...deactivate_operato_center_1.deactivateOperatoCenter,
14
+ ...refresh_operato_access_token_1.refreshOperatoAccessToken
15
+ };
10
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AACrE,mFAA4E;AAC5E,iEAA0D;AAC1D,iFAA0E;AAE7D,QAAA,KAAK,qBACb,wCAAiB,EACrB;AAEY,QAAA,QAAQ,iDAChB,0DAA0B,GAC1B,mDAAuB,GACvB,wDAAyB,EAC7B","sourcesContent":["import { deactivateOperatoCenter } from './deactivate-operato-center'\nimport { generateOperatoAccessToken } from './generate-operato-access-token'\nimport { getOperatoAuthURL } from './get-operato-auth-url'\nimport { refreshOperatoAccessToken } from './refresh-operato-access-token'\n\nexport const Query = {\n ...getOperatoAuthURL\n}\n\nexport const Mutation = {\n ...generateOperatoAccessToken,\n ...deactivateOperatoCenter,\n ...refreshOperatoAccessToken\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AACrE,mFAA4E;AAC5E,iEAA0D;AAC1D,iFAA0E;AAE7D,QAAA,KAAK,GAAG;IACnB,GAAG,wCAAiB;CACrB,CAAA;AAEY,QAAA,QAAQ,GAAG;IACtB,GAAG,0DAA0B;IAC7B,GAAG,mDAAuB;IAC1B,GAAG,wDAAyB;CAC7B,CAAA","sourcesContent":["import { deactivateOperatoCenter } from './deactivate-operato-center'\nimport { generateOperatoAccessToken } from './generate-operato-access-token'\nimport { getOperatoAuthURL } from './get-operato-auth-url'\nimport { refreshOperatoAccessToken } from './refresh-operato-access-token'\n\nexport const Query = {\n ...getOperatoAuthURL\n}\n\nexport const Mutation = {\n ...generateOperatoAccessToken,\n ...deactivateOperatoCenter,\n ...refreshOperatoAccessToken\n}\n"]}
@@ -40,7 +40,11 @@ exports.refreshOperatoAccessToken = {
40
40
  tokenType,
41
41
  expiresIn: new Date(exp * 1000)
42
42
  };
43
- return await repository.save(Object.assign(Object.assign(Object.assign({}, fulfillmentCenter), patch), { updater: context.state.user }));
43
+ return await repository.save({
44
+ ...fulfillmentCenter,
45
+ ...patch,
46
+ updater: context.state.user
47
+ });
44
48
  }
45
49
  };
46
50
  //# sourceMappingURL=refresh-operato-access-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-operato-access-token.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/refresh-operato-access-token.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAE9B,6CAA4C;AAC5C,iDAAqD;AACrD,iDAAgD;AAEhD,mDAAwD;AAExD,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAA;AAEvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qEAAqE,CAAC,CAAA;AAExF,QAAA,yBAAyB,GAAG;IACvC,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAwB;QACtE,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG;YAClB,YAAY,EAAE,iBAAiB,CAAC,YAAY;SAC7C,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,QAAQ,MAAM,IAAI,sBAAsB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,EACJ,WAAW,CAAC,gCAAgC,EAC5C,QAAQ,CAAC,mGAAmG,EAC5G,UAAU,CAAC,sDAAsD,EACjE,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAC1C,YAAY;QACZ;WACG;UACJ,GAAG,IAAI,CAAA;QAER,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAA;QAErC,IAAI,KAAK,GAAG;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SAChC,CAAA;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,iBAAiB,GACjB,KAAK,KACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { FulfillmentCenter } from '../../../../entities'\n\nconst { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = require('debug')('things-factory:integration-fulfillment:refresh-operato-access-token')\n\nexport const refreshOperatoAccessToken = {\n async refreshOperatoAccessToken(_: any, { id }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, id }\n })\n\n const requestBody = {\n refreshToken: fulfillmentCenter.refreshToken\n }\n\n const refreshResponse = await fetch(`${protocol}://${host}/oauth/refresh-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!refreshResponse.ok) {\n throw new Error(`get operato information failed: ${await refreshResponse.text()}`)\n }\n\n const body = await refreshResponse.json()\n const {\n accessToken /* token used to call the API */,\n id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,\n expires_in /* amount of seconds until the access token expires */,\n token_type: tokenType /* must be Bearer */,\n refreshToken\n /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).\n */\n } = body\n\n const { exp } = parseJwt(accessToken)\n\n var patch = {\n accessToken,\n refreshToken,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
1
+ {"version":3,"file":"refresh-operato-access-token.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/fulfillment-center/operato/refresh-operato-access-token.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAE9B,6CAA4C;AAC5C,iDAAqD;AACrD,iDAAgD;AAEhD,mDAAwD;AAExD,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAA;AAEvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qEAAqE,CAAC,CAAA;AAExF,QAAA,yBAAyB,GAAG;IACvC,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAwB;QACtE,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG;YAClB,YAAY,EAAE,iBAAiB,CAAC,YAAY;SAC7C,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,QAAQ,MAAM,IAAI,sBAAsB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,EACJ,WAAW,CAAC,gCAAgC,EAC5C,QAAQ,CAAC,mGAAmG,EAC5G,UAAU,CAAC,sDAAsD,EACjE,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAC1C,YAAY;QACZ;WACG;UACJ,GAAG,IAAI,CAAA;QAER,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAA;QAErC,IAAI,KAAK,GAAG;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SAChC,CAAA;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,iBAAiB;YACpB,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import fetch from 'node-fetch'\n\nimport { config } from '@things-factory/env'\nimport { getRepository } from '@things-factory/shell'\nimport { parseJwt } from '@things-factory/utils'\n\nimport { FulfillmentCenter } from '../../../../entities'\n\nconst { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})\n\nconst debug = require('debug')('things-factory:integration-fulfillment:refresh-operato-access-token')\n\nexport const refreshOperatoAccessToken = {\n async refreshOperatoAccessToken(_: any, { id }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, id }\n })\n\n const requestBody = {\n refreshToken: fulfillmentCenter.refreshToken\n }\n\n const refreshResponse = await fetch(`${protocol}://${host}/oauth/refresh-token`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n })\n\n if (!refreshResponse.ok) {\n throw new Error(`get operato information failed: ${await refreshResponse.text()}`)\n }\n\n const body = await refreshResponse.json()\n const {\n accessToken /* token used to call the API */,\n id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,\n expires_in /* amount of seconds until the access token expires */,\n token_type: tokenType /* must be Bearer */,\n refreshToken\n /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).\n */\n } = body\n\n const { exp } = parseJwt(accessToken)\n\n var patch = {\n accessToken,\n refreshToken,\n tokenType,\n expiresIn: new Date(exp * 1000)\n }\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
@@ -9,7 +9,11 @@ exports.updateFulfillmentCenter = {
9
9
  const fulfillmentCenter = await repository.findOne({
10
10
  where: { domain: { id: context.state.domain.id }, name }
11
11
  });
12
- return await repository.save(Object.assign(Object.assign(Object.assign({}, fulfillmentCenter), patch), { updater: context.state.user }));
12
+ return await repository.save({
13
+ ...fulfillmentCenter,
14
+ ...patch,
15
+ updater: context.state.user
16
+ });
13
17
  }
14
18
  };
15
19
  //# sourceMappingURL=update-fulfillment-center.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/update-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAwB;QAC7E,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;SACzD,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,iBAAiB,GACjB,KAAK,KACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const updateFulfillmentCenter = {\n async updateFulfillmentCenter(_: any, { name, patch }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, name }\n })\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
1
+ {"version":3,"file":"update-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/update-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAwB;QAC7E,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;SACzD,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,iBAAiB;YACpB,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const updateFulfillmentCenter = {\n async updateFulfillmentCenter(_: any, { name, patch }, context: ResolverContext) {\n const repository = getRepository(FulfillmentCenter)\n const fulfillmentCenter: any = await repository.findOne({\n where: { domain: { id: context.state.domain.id }, name }\n })\n\n return await repository.save({\n ...fulfillmentCenter,\n ...patch,\n updater: context.state.user\n })\n }\n}\n"]}
@@ -12,16 +12,26 @@ exports.updateMultipleFulfillmentCenter = {
12
12
  if (_createRecords.length > 0) {
13
13
  for (let i = 0; i < _createRecords.length; i++) {
14
14
  const newRecord = _createRecords[i];
15
- const result = await fulfillmentCenterRepo.save(Object.assign(Object.assign({}, newRecord), { domain: context.state.domain, status: 'inactive', creator: context.state.user, updater: context.state.user }));
16
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
15
+ const result = await fulfillmentCenterRepo.save({
16
+ ...newRecord,
17
+ domain: context.state.domain,
18
+ status: 'inactive',
19
+ creator: context.state.user,
20
+ updater: context.state.user
21
+ });
22
+ results.push({ ...result, cuFlag: '+' });
17
23
  }
18
24
  }
19
25
  if (_updateRecords.length > 0) {
20
26
  for (let i = 0; i < _updateRecords.length; i++) {
21
27
  const newRecord = _updateRecords[i];
22
28
  const fulfillmentCenter = await fulfillmentCenterRepo.findOneBy({ id: newRecord.id });
23
- const result = await fulfillmentCenterRepo.save(Object.assign(Object.assign(Object.assign({}, fulfillmentCenter), newRecord), { updater: context.state.user }));
24
- results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
29
+ const result = await fulfillmentCenterRepo.save({
30
+ ...fulfillmentCenter,
31
+ ...newRecord,
32
+ updater: context.state.user
33
+ });
34
+ results.push({ ...result, cuFlag: 'M' });
25
35
  }
26
36
  }
27
37
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"update-multiple-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/update-multiple-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,+BAA+B,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;QACjF,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,qBAAqB,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QAE9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,iCAC1C,SAAS,KACZ,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;gBAErF,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,+CAC1C,iBAAiB,GACjB,SAAS,KACZ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAC3B,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const updateMultipleFulfillmentCenter = {\n async updateMultipleFulfillmentCenter(_: any, { patches }, context: ResolverContext) {\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const fulfillmentCenterRepo = getRepository(FulfillmentCenter)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await fulfillmentCenterRepo.save({\n ...newRecord,\n domain: context.state.domain,\n status: 'inactive',\n creator: context.state.user,\n updater: context.state.user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const fulfillmentCenter = await fulfillmentCenterRepo.findOneBy({ id: newRecord.id })\n\n const result = await fulfillmentCenterRepo.save({\n ...fulfillmentCenter,\n ...newRecord,\n updater: context.state.user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
1
+ {"version":3,"file":"update-multiple-fulfillment-center.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/fulfillment-center/update-multiple-fulfillment-center.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,gDAAqD;AAExC,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,+BAA+B,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;QACjF,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,qBAAqB,GAAG,IAAA,qBAAa,EAAC,4BAAiB,CAAC,CAAA;QAE9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC;oBAC9C,GAAG,SAAS;oBACZ,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;oBAC5B,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;iBAC5B,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;gBAErF,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC;oBAC9C,GAAG,iBAAiB;oBACpB,GAAG,SAAS;oBACZ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;iBAC5B,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { FulfillmentCenter } from '../../../entities'\n\nexport const updateMultipleFulfillmentCenter = {\n async updateMultipleFulfillmentCenter(_: any, { patches }, context: ResolverContext) {\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const fulfillmentCenterRepo = getRepository(FulfillmentCenter)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await fulfillmentCenterRepo.save({\n ...newRecord,\n domain: context.state.domain,\n status: 'inactive',\n creator: context.state.user,\n updater: context.state.user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const fulfillmentCenter = await fulfillmentCenterRepo.findOneBy({ id: newRecord.id })\n\n const result = await fulfillmentCenterRepo.save({\n ...fulfillmentCenter,\n ...newRecord,\n updater: context.state.user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
@@ -13,7 +13,7 @@ process.on('bootstrap-module-global-public-route', (app, routes) => {
13
13
  const { code, state } = context.query;
14
14
  // state를 fulfillment-center 의 id로 활용한다.
15
15
  const store = await fulfillment_api_1.FulfillmentAPI.getFulfillmentCenter(state);
16
- context.redirect(`${(0, shell_1.getRedirectSubdomainPath)(context, store.domain.subdomain)}fulfillment-center-operato/${state}/connect-callback?code=${code}`);
16
+ context.redirect(`${(0, shell_1.getRedirectSubdomainPath)(context, store.domain)}fulfillment-center-operato/${state}/connect-callback?code=${code}`);
17
17
  });
18
18
  });
19
19
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,iDAAgE;AAChE,mEAA8D;AAE9D,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACxE;;;;;OAKG;IAEH,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAErC,wCAAwC;QACxC,MAAM,KAAK,GAAG,MAAM,gCAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAE9D,OAAO,CAAC,QAAQ,CACd,GAAG,IAAA,gCAAwB,EACzB,OAAO,EACP,KAAK,CAAC,MAAM,CAAC,SAAS,CACvB,8BAA8B,KAAK,0BAA0B,IAAI,EAAE,CACrE,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { getRedirectSubdomainPath } from '@things-factory/shell'\nimport { FulfillmentAPI } from './controllers/fulfillment-api'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, routes) => {\n /*\n * koa application에 routes 를 추가할 수 있다.\n *\n * ex) routes.get('/path', async(context, next) => {})\n * ex) routes.post('/path', async(context, next) => {})\n */\n\n routes.get('/callback-operato', async (context, next) => {\n const { code, state } = context.query\n\n // state를 fulfillment-center 의 id로 활용한다.\n const store = await FulfillmentAPI.getFulfillmentCenter(state)\n\n context.redirect(\n `${getRedirectSubdomainPath(\n context,\n store.domain.subdomain\n )}fulfillment-center-operato/${state}/connect-callback?code=${code}`\n )\n })\n})\n"]}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,iDAAgE;AAChE,mEAA8D;AAE9D,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACxE;;;;;OAKG;IAEH,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAErC,wCAAwC;QACxC,MAAM,KAAK,GAAG,MAAM,gCAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAE9D,OAAO,CAAC,QAAQ,CACd,GAAG,IAAA,gCAAwB,EACzB,OAAO,EACP,KAAK,CAAC,MAAM,CACb,8BAA8B,KAAK,0BAA0B,IAAI,EAAE,CACrE,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { getRedirectSubdomainPath } from '@things-factory/shell'\nimport { FulfillmentAPI } from './controllers/fulfillment-api'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, routes) => {\n /*\n * koa application에 routes 를 추가할 수 있다.\n *\n * ex) routes.get('/path', async(context, next) => {})\n * ex) routes.post('/path', async(context, next) => {})\n */\n\n routes.get('/callback-operato', async (context, next) => {\n const { code, state } = context.query\n\n // state를 fulfillment-center 의 id로 활용한다.\n const store = await FulfillmentAPI.getFulfillmentCenter(state)\n\n context.redirect(\n `${getRedirectSubdomainPath(\n context,\n store.domain\n )}fulfillment-center-operato/${state}/connect-callback?code=${code}`\n )\n })\n})\n"]}