@things-factory/operato-hub 5.0.13 → 6.0.0-alpha.1
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.
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js +9 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js +5 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +3 -3
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +2 -2
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/menus.js +2 -2
- package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -1
- package/dist-server/controllers/company-initializer/business-register.js +6 -7
- package/dist-server/controllers/company-initializer/business-register.js.map +1 -1
- package/dist-server/controllers/company-initializer/generate-company-roles.js +4 -4
- package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -1
- package/dist-server/controllers/invitation.js +9 -9
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/utils/save-invitation-token.js +2 -2
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-company.js +4 -3
- package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -1
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js +6 -6
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -1
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +5 -2
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +149 -0
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +58 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +3 -3
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/index.js +6 -2
- package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +68 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +35 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +4 -2
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
- package/dist-server/graphql/types/synchronization/index.js +4 -0
- package/dist-server/graphql/types/synchronization/index.js.map +1 -1
- package/dist-server/index.js +5 -5
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/business-middleware.js +2 -3
- package/dist-server/middlewares/business-middleware.js.map +1 -1
- package/dist-server/middlewares/store-middleware.js +2 -2
- package/dist-server/middlewares/store-middleware.js.map +1 -1
- package/dist-server/middlewares/warehouse-middleware.js +3 -2
- package/dist-server/middlewares/warehouse-middleware.js.map +1 -1
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +2 -3
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -1
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +2 -2
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -1
- package/dist-server/migrations/1608009991065-SeedUser.js +5 -6
- package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +2 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +5 -2
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +149 -40
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +1 -1
- package/dist-server/routers/auth-invitation-router.js +2 -2
- package/dist-server/routers/auth-invitation-router.js.map +1 -1
- package/dist-server/routers/business/bizplace-register-router.js +3 -3
- package/dist-server/routers/business/bizplace-register-router.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/get-warehouses.js +15 -11
- package/dist-server/utils/get-warehouses.js.map +1 -1
- package/openapi/unstable/product.yaml +9 -3
- package/openapi/v1/product.yaml +9 -3
- package/openapi/v2/product.yaml +9 -3
- package/package.json +47 -47
- package/server/controllers/bizplace-initializer/dataset/codes.ts +9 -0
- package/server/controllers/bizplace-initializer/dataset/settings.ts +5 -0
- package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +4 -2
- package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +4 -3
- package/server/controllers/bizplace-initializer/menus.ts +4 -2
- package/server/controllers/company-initializer/business-register.ts +5 -3
- package/server/controllers/company-initializer/generate-company-roles.ts +4 -3
- package/server/controllers/invitation.ts +11 -7
- package/server/controllers/utils/save-invitation-token.ts +1 -1
- package/server/graphql/resolvers/generators/generate-bizplace.ts +1 -1
- package/server/graphql/resolvers/generators/generate-company.ts +5 -4
- package/server/graphql/resolvers/generators/update-domain-extType.ts +7 -5
- package/server/graphql/resolvers/invitations/partner-invitation.ts +5 -5
- package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +8 -6
- package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +180 -0
- package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +64 -0
- package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +3 -2
- package/server/graphql/resolvers/synchronization/index.ts +10 -2
- package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +91 -0
- package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +39 -0
- package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +19 -12
- package/server/graphql/types/synchronization/index.ts +4 -0
- package/server/index.ts +7 -7
- package/server/middlewares/business-middleware.ts +1 -2
- package/server/middlewares/store-middleware.ts +1 -1
- package/server/middlewares/warehouse-middleware.ts +3 -2
- package/server/migrations/1597668478399-SeedBusinessDomain.ts +3 -2
- package/server/migrations/1597668478401-SeedBusinessRoles.ts +2 -2
- package/server/migrations/1608009991065-SeedUser.ts +5 -3
- package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +2 -1
- package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +3 -2
- package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +13 -2
- package/server/routers/api/restful-apis/unstable/add-products.ts +40 -16
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +98 -48
- package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/unstable/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/unstable/get-products.ts +1 -0
- package/server/routers/api/restful-apis/unstable/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v1/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v1/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v1/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v1/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v2/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v2/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v2/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v2/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +1 -1
- package/server/routers/auth-invitation-router.ts +2 -2
- package/server/routers/business/bizplace-register-router.ts +3 -1
- package/server/utils/get-warehouses.ts +46 -36
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncAllProductsToSellercraftResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
7
|
+
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
8
|
+
const sync_products_to_sellercraft_1 = require("./sync-products-to-sellercraft");
|
|
9
|
+
exports.syncAllProductsToSellercraftResolver = {
|
|
10
|
+
async syncAllProductsToSellercraft(_, {}, context) {
|
|
11
|
+
const { user } = context.state;
|
|
12
|
+
try {
|
|
13
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
14
|
+
const qb = await tx
|
|
15
|
+
.getRepository(integration_sellercraft_1.Sellercraft)
|
|
16
|
+
.createQueryBuilder('sellercraft')
|
|
17
|
+
.innerJoinAndSelect('sellercraft.domain', 'domain')
|
|
18
|
+
.innerJoinAndSelect(biz_base_1.Bizplace, 'bizplace', 'bizplace.domain_id = domain.id')
|
|
19
|
+
.where('sellercraft.status = :status', { status: 'ACTIVE' });
|
|
20
|
+
const sellercrafts = await qb.getRawMany();
|
|
21
|
+
for (const sellercraft of sellercrafts) {
|
|
22
|
+
const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(null, null, sellercraft.bizplace_id, tx);
|
|
23
|
+
const fulfillmentCenter = await tx.getRepository(integration_fulfillment_1.FulfillmentCenter).find({
|
|
24
|
+
where: { domain: companyBizplace.domain }
|
|
25
|
+
});
|
|
26
|
+
await sync_products_to_sellercraft_1.syncProductsToSellercraftResolver.syncProductsToSellercraft(null, { sellercraftId: sellercraft.id, fulfillmentCenterId: fulfillmentCenter.id, toCreateSku: false }, context);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
console.log(e);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=sync-all-products-to-sellercraft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-all-products-to-sellercraft.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,uDAAuE;AACvE,qFAA2E;AAC3E,qFAAqE;AAErE,iFAA8F;AAEjF,QAAA,oCAAoC,GAAG;IAClD,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,EAAE,EAAE,OAAwB;QACrE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC9B,IAAI;YACF,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;gBAC3C,MAAM,EAAE,GAAG,MAAM,EAAE;qBAChB,aAAa,CAAC,qCAAW,CAAC;qBAC1B,kBAAkB,CAAC,aAAa,CAAC;qBACjC,kBAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC;qBAClD,kBAAkB,CAAC,mBAAQ,EAAE,UAAU,EAAE,gCAAgC,CAAC;qBAC1E,KAAK,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAE9D,MAAM,YAAY,GAAkB,MAAM,EAAE,CAAC,UAAU,EAAE,CAAA;gBAEzD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACtC,MAAM,eAAe,GAAa,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;oBACnG,MAAM,iBAAiB,GAAsB,MAAM,EAAE,CAAC,aAAa,CAAC,2CAAiB,CAAC,CAAC,IAAI,CAAC;wBAC1F,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;qBAC1C,CAAC,CAAA;oBACF,MAAM,gEAAQ,CAAC,yBAAyB,CACtC,IAAI,EACJ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAChG,OAAO,CACR,CAAA;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SACf;IACH,CAAC;CACF,CAAA","sourcesContent":["import { getConnection } from 'typeorm'\n\nimport { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'\nimport { FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { Sellercraft } from '@things-factory/integration-sellercraft'\n\nimport { syncProductsToSellercraftResolver as resolver } from './sync-products-to-sellercraft'\n\nexport const syncAllProductsToSellercraftResolver = {\n async syncAllProductsToSellercraft(_: any, {}, context: ResolverContext): Promise<void> {\n const { user } = context.state\n try {\n await getConnection().transaction(async tx => {\n const qb = await tx\n .getRepository(Sellercraft)\n .createQueryBuilder('sellercraft')\n .innerJoinAndSelect('sellercraft.domain', 'domain')\n .innerJoinAndSelect(Bizplace, 'bizplace', 'bizplace.domain_id = domain.id')\n .where('sellercraft.status = :status', { status: 'ACTIVE' })\n\n const sellercrafts: Sellercraft[] = await qb.getRawMany()\n\n for (const sellercraft of sellercrafts) {\n const companyBizplace: Bizplace = await getCompanyBizplace(null, null, sellercraft.bizplace_id, tx)\n const fulfillmentCenter: FulfillmentCenter = await tx.getRepository(FulfillmentCenter).find({\n where: { domain: companyBizplace.domain }\n })\n await resolver.syncProductsToSellercraft(\n null,\n { sellercraftId: sellercraft.id, fulfillmentCenterId: fulfillmentCenter.id, toCreateSku: false },\n context\n )\n }\n })\n } catch (e) {\n console.log(e)\n }\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ exports.syncProductsFromAccountResolver = {
|
|
|
10
10
|
try {
|
|
11
11
|
const { tx } = context.state;
|
|
12
12
|
let platformProducts = await (0, fetch_sync_products_1.getAccountingProducts)(accountId);
|
|
13
|
-
const bizplace = await tx.getRepository(biz_base_1.Bizplace).
|
|
13
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
|
|
14
14
|
const platformProductsMap = (0, build_map_1.buildMap)(platformProducts, 'sku');
|
|
15
15
|
let bizplaceProducts = await tx.getRepository(product_base_1.Product).find({ where: { bizplace } });
|
|
16
16
|
const updateTargetProducts = bizplaceProducts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-products-from-account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-from-account.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,+DAAsD;AAEtD,wDAAmD;AACnD,+DAA6D;AAEhD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAC3B,CAAO,EACP,EAAE,SAAS,EAAE,UAAU,EAA6C,EACpE,
|
|
1
|
+
{"version":3,"file":"sync-products-from-account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-from-account.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,+DAAsD;AAEtD,wDAAmD;AACnD,+DAA6D;AAEhD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAC3B,CAAO,EACP,EAAE,SAAS,EAAE,UAAU,EAA6C,EACpE,OAAwB;QAExB,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAC5B,IAAI,gBAAgB,GAAc,MAAM,IAAA,2CAAqB,EAAC,SAAS,CAAC,CAAA;YACxE,MAAM,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;YACzF,MAAM,mBAAmB,GAAyB,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;YAEnF,IAAI,gBAAgB,GAAc,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;YAE/F,MAAM,oBAAoB,GAAc,gBAAgB;iBACrD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC1D,GAAG,CAAC,CAAC,eAAwB,EAAE,EAAE;gBAChC,MAAM,eAAe,GAAY,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBAE7E,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;oBACnD,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBACzF,CAAC,CAAC,CAAA;gBAEF,OAAO,eAAe,CAAA;YACxB,CAAC,CAAC,CAAA;YAEJ,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;SAC3E;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { Product } from '@things-factory/product-base'\n\nimport { buildMap } from '../../../utils/build-map'\nimport { getAccountingProducts } from './fetch-sync-products'\n\nexport const syncProductsFromAccountResolver = {\n async syncProductsFromAccount(\n _: void,\n { accountId, bizplaceId }: { accountId: string; bizplaceId: string },\n context: ResolverContext\n ): Promise<void> {\n try {\n const { tx } = context.state\n let platformProducts: Product[] = await getAccountingProducts(accountId)\n const bizplace: Bizplace = await tx.getRepository(Bizplace).findOneBy({ id: bizplaceId })\n const platformProductsMap: Map<string, Product> = buildMap(platformProducts, 'sku')\n\n let bizplaceProducts: Product[] = await tx.getRepository(Product).find({ where: { bizplace } })\n\n const updateTargetProducts: Product[] = bizplaceProducts\n .filter(({ sku }: Product) => platformProductsMap.has(sku))\n .map((bizplaceProduct: Product) => {\n const platformProduct: Product = platformProductsMap.get(bizplaceProduct.sku)\n\n Object.keys(platformProduct).forEach((key: string) => {\n bizplaceProduct[key] = platformProduct[key] === undefined ? null : platformProduct[key]\n })\n\n return bizplaceProduct\n })\n\n await tx.getRepository(Product).save(updateTargetProducts, { chunk: 500 })\n } catch (e) {\n throw e\n }\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ exports.syncProductsToAccountResolver = {
|
|
|
10
10
|
async syncProductsToAccount(_, { accountId, bizplaceId }, context) {
|
|
11
11
|
try {
|
|
12
12
|
const { tx } = context.state;
|
|
13
|
-
const bizplace = await tx.getRepository(biz_base_1.Bizplace).
|
|
13
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
|
|
14
14
|
const bizplaceProducts = await tx.getRepository(product_base_1.Product).find({ where: { bizplace } });
|
|
15
15
|
let platformProducts = await (0, fetch_sync_products_1.getAccountingProducts)(accountId);
|
|
16
16
|
let platformProductsMap = (0, build_map_1.buildMap)(platformProducts, 'sku');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-products-to-account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-to-account.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,mFAAsE;AACtE,+DAAsD;AAEtD,wDAAmD;AACnD,+DAA6D;AAEhD,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CACzB,CAAO,EACP,EAAE,SAAS,EAAE,UAAU,EAA6C,EACpE,
|
|
1
|
+
{"version":3,"file":"sync-products-to-account.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sync-products-to-account.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,mFAAsE;AACtE,+DAAsD;AAEtD,wDAAmD;AACnD,+DAA6D;AAEhD,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CACzB,CAAO,EACP,EAAE,SAAS,EAAE,UAAU,EAA6C,EACpE,OAAwB;QAExB,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,MAAM,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;YACzF,MAAM,gBAAgB,GAAc,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;YAEjG,IAAI,gBAAgB,GAAc,MAAM,IAAA,2CAAqB,EAAC,SAAS,CAAC,CAAA;YACxE,IAAI,mBAAmB,GAAyB,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;YAEjF,MAAM,oBAAoB,GAAc,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAwB,EAAE,EAAE;gBACxF,IAAI,eAAe,GAAY,EAAE,CAAA;gBACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;oBAChD,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;iBAC/D;gBAED,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;oBACnD,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;gBAC7C,CAAC,CAAC,CAAA;gBAEF,OAAO,eAAe,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,MAAM,eAAe,GAAgB,UAAU,CAAC,oBAAoB,CAAC,CAAA;YACrE,MAAM,UAAU,GAAkB,MAAM,sCAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAE9E,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAc,eAAe,CAAC,CAAC,CAAC,CAAA;gBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;gBACvB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBACvB,IAAI;oBACF,MAAM,sCAAa,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;iBAC9B;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;CACF,CAAA;AAED,SAAS,UAAU,CAAI,IAAS,EAAE,UAAkB,GAAG;IACrD,IAAI,UAAU,GAAU,EAAE,CAAA;IAC1B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;KACzC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { AccountingAPI } from '@things-factory/integration-accounting'\nimport { Product } from '@things-factory/product-base'\n\nimport { buildMap } from '../../../utils/build-map'\nimport { getAccountingProducts } from './fetch-sync-products'\n\nexport const syncProductsToAccountResolver = {\n async syncProductsToAccount(\n _: void,\n { accountId, bizplaceId }: { accountId: string; bizplaceId: string },\n context: ResolverContext\n ): Promise<void> {\n try {\n const { tx } = context.state\n\n const bizplace: Bizplace = await tx.getRepository(Bizplace).findOneBy({ id: bizplaceId })\n const bizplaceProducts: Product[] = await tx.getRepository(Product).find({ where: { bizplace } })\n\n let platformProducts: Product[] = await getAccountingProducts(accountId)\n let platformProductsMap: Map<string, Product> = buildMap(platformProducts, 'sku')\n\n const updateTargetProducts: Product[] = bizplaceProducts.map((bizplaceProduct: Product) => {\n let platformProduct: Product = {}\n if (platformProductsMap.has(bizplaceProduct.sku)) {\n platformProduct = platformProductsMap.get(bizplaceProduct.sku)\n }\n\n Object.keys(bizplaceProduct).forEach((key: string) => {\n platformProduct[key] = bizplaceProduct[key]\n })\n\n return platformProduct\n })\n\n const chunkedProducts: Product[][] = splitChunk(updateTargetProducts)\n const accounting: AccountingAPI = await AccountingAPI.getAccounting(accountId)\n\n for (let i: number = 0; i < chunkedProducts.length; i++) {\n const products: Product[] = chunkedProducts[i]\n const req = context.req\n req.products = products\n try {\n await AccountingAPI.updateItems(accounting, req)\n } catch (e) {\n throw new Error(e.statusText)\n }\n }\n } catch (e) {\n throw e\n }\n }\n}\n\nfunction splitChunk<T>(data: T[], unitCnt: number = 100): T[][] {\n let splitChunk: T[][] = []\n while (data.length > 0) {\n splitChunk.push(data.splice(0, unitCnt))\n }\n\n return splitChunk\n}\n"]}
|
|
@@ -13,7 +13,9 @@ exports.syncProductsToSellercraftResolver = {
|
|
|
13
13
|
let page = 0;
|
|
14
14
|
let hasMorePage = true;
|
|
15
15
|
const limit = 50;
|
|
16
|
-
const sellercraft = await tx
|
|
16
|
+
const sellercraft = await tx
|
|
17
|
+
.getRepository(integration_sellercraft_1.Sellercraft)
|
|
18
|
+
.findOne({ where: { id: sellercraftId }, relations: ['domain'] });
|
|
17
19
|
const customerDomain = sellercraft.domain;
|
|
18
20
|
const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(fulfillmentCenterId);
|
|
19
21
|
const customerBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: customerDomain } });
|
|
@@ -79,7 +81,7 @@ exports.syncProductsToSellercraftResolver = {
|
|
|
79
81
|
await delay(500);
|
|
80
82
|
await integration_sellercraft_1.SellercraftAPI.updateProduct(sellercraft, { context, accountId: sellercraft.accountId, sellercraftInv });
|
|
81
83
|
page++;
|
|
82
|
-
hasMorePage = (((_a = total[0]) === null || _a === void 0 ? void 0 : _a.count) || 0) >
|
|
84
|
+
hasMorePage = (((_a = total[0]) === null || _a === void 0 ? void 0 : _a.count) || 0) > page * limit;
|
|
83
85
|
}
|
|
84
86
|
catch (e) {
|
|
85
87
|
env_1.logger.error(`[syncProductsToSellercraftResolver] sellercraftID:${sellercraftId} fulfillmentCenterId:${fulfillmentCenterId} page:${page} - ${e}`);
|
|
@@ -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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","sourcesContent":["import { EntityManager, getRepository } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport { WarehouseBizplaceOnhandInventory } from '@things-factory/worksheet-base'\nimport { Domain } from '@things-factory/shell'\n\nexport const syncProductsToSellercraftResolver = {\n async syncProductsToSellercraft(\n _: void,\n {\n sellercraftId,\n fulfillmentCenterId\n }: { sellercraftId: string; fulfillmentCenterId: string; toCreateSku: boolean },\n context: any\n ): Promise<void> {\n try {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n let page: number = 0\n let hasMorePage: boolean = true\n const limit: number = 50\n\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({ where: { id: sellercraftId }, relations: ['domain'] })\n const customerDomain: Domain = sellercraft.domain\n const fulfilmentCenter: FulfillmentCenter = await FulfillmentAPI.getFulfillmentCenter(fulfillmentCenterId)\n const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: customerDomain } })\n\n await tx.query(`\n create temp table temp_warehouse_product_inventory ON COMMIT DROP as (\n select p.id, p.sku as product_sku, p.name as product_name, p.description as product_description, \n pd.gtin, pd.uom, pd.packing_size, coalesce(pd.nett_weight, 0) as nett_weight, pd.width, pd.\"depth\", pd.height,\n coalesce(src.qty, 0) as available_qty, coalesce(src.qty - src.\"remainQty\", 0) as reserved_qty, coalesce(src.\"remainQty\",0) as remain_qty\n from bizplaces b\n inner join companies c on c.id = b.company_id \n inner join domains d on d.id = c.domain_id\n inner join products p on p.domain_id = b.domain_id or p.domain_id = c.domain_id \n inner join product_details pd on pd.product_id = p.id\n left join (\n select wboi.* from warehouse_bizplace_onhand_inventories wboi \n inner join domains d on d.id = wboi.\"domainId\"\n inner join fulfillment_centers fc on d.subdomain = fc.center_id \n where fc.id= $1 \n and wboi.\"bizplaceId\" = $2 and \"groupType\" = 'SINGLE'\n ) src on src.\"productId\" = pd.\"product_id\" \n and src.\"packingType\" = pd.\"packing_type\" \n and src.\"packingSize\" = pd.\"packing_size\" \n and src.\"uom\" = pd.\"uom\" \n where b.id = $2\n )\n `, [fulfilmentCenter.id, customerBizplace.id])\n\n let total = await tx.query(`\n select count(*) from temp_warehouse_product_inventory \n `)\n\n while (hasMorePage) {\n hasMorePage = false\n try {\n // const { items, total } = await FulfillmentAPI.getInventoryProductGroupOpenAPI(fulfilmentCenter, {\n // warehouseId: customerBizplace.id,\n // paginationEntriesPerPage: limit,\n // paginationOffset: page\n // })\n\n const items = await tx.query(`\n select * from temp_warehouse_product_inventory limit $1 offset $2\n `, [limit, page * limit])\n\n let sellercraftInv: any[] = []\n\n items.map(async item => {\n let packingSize: number = 1\n\n sellercraftInv.push({\n sku: item.product_sku,\n gtin: item.gtin,\n stock: {\n quantity_total: item.available_qty * packingSize < 0 ? 0 : item.available_qty * packingSize,\n quantity_reserved: item.reserved_qty * packingSize < 0 ? 0 : item.reserved_qty * packingSize,\n unit_of_measure: 'EA'\n },\n package_weight_gm: item.nett_weight <= 0 ? 1 : item.nett_weight,\n package_dimensions: {\n length_mm: item.depth <= 0 ? 1 : item.depth,\n width_mm: item.width <= 0 ? 1 : item.width,\n height_mm: item.height <= 0 ? 1 : item.height\n }\n })\n })\n\n const delay = (ms: number) => {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n await delay(500)\n\n await SellercraftAPI.updateProduct(sellercraft, { context, accountId: sellercraft.accountId, sellercraftInv })\n\n page++\n hasMorePage = (total[0]?.count || 0) > (page * limit)\n } catch (e) {\n logger.error(`[syncProductsToSellercraftResolver] sellercraftID:${sellercraftId} fulfillmentCenterId:${fulfillmentCenterId} page:${page} - ${e}`)\n }\n }\n } catch (e) {\n logger.error(`syncProductsToSellercraftResolver: ${e}`)\n }\n }\n}\n\n/**\n * @summary Check for product child qty at any scanned level\n * @description It will check every level of product detail by comparing scanned level and GAN registered level.\n * By getting the level that has relation, child qty will be retrieved\n * 1st level: PALLET -> 2 CARTONS (scan), 2nd level: CARTON -> 6 BAGS, 3rd level: BAG -> 10 UNITS, lowest: UNIT (order registered packing type)\n */\nexport async function getChildPackingSize(\n productDetails: ProductDetail[],\n defaultProductDetail: ProductDetail,\n unmatchingProductDetail: ProductDetail\n): Promise<number> {\n let hasChildRelation: boolean = Boolean(unmatchingProductDetail?.childProductDetail)\n let hasMatchingChild: boolean\n let packingSize: number = 1\n let currentChildProductDetail: ProductDetail\n\n if (hasChildRelation) {\n currentChildProductDetail = productDetails.find(\n (productDetail: ProductDetail) => productDetail.id === unmatchingProductDetail.childProductDetail.id\n )\n\n if (!currentChildProductDetail) {\n throw new Error(`Unable to find matching packing type for GTIN (${unmatchingProductDetail.gtin})`)\n }\n\n hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)\n if (hasMatchingChild) {\n packingSize = unmatchingProductDetail.packingSize\n } else {\n packingSize = unmatchingProductDetail.packingSize * packingSize\n }\n } else {\n throw new Error(`No child product result for GTIN (${unmatchingProductDetail.gtin})`)\n }\n\n while (hasChildRelation && !hasMatchingChild) {\n if (hasMatchingChild) {\n packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10\n } else if (!hasMatchingChild && hasChildRelation) {\n packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10\n currentChildProductDetail = productDetails.find(\n (productDetail: ProductDetail) => productDetail.id === currentChildProductDetail.childProductDetail.id\n )\n\n hasChildRelation = Boolean(currentChildProductDetail?.childProductDetail)\n hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)\n } else if (!hasChildRelation && !hasMatchingChild) {\n throw new Error(`Unable to find matching packing type for GTIN (${unmatchingProductDetail.gtin})`)\n }\n }\n\n return packingSize\n}\n"]}
|
|
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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","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { ProductDetail } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\n\nexport const syncProductsToSellercraftResolver = {\n async syncProductsToSellercraft(\n _: void,\n {\n sellercraftId,\n fulfillmentCenterId\n }: { sellercraftId: string; fulfillmentCenterId: string; toCreateSku: boolean },\n context: any\n ): Promise<void> {\n try {\n const { domain, tx } = context.state\n\n let page: number = 0\n let hasMorePage: boolean = true\n const limit: number = 50\n\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ where: { id: sellercraftId }, relations: ['domain'] })\n const customerDomain: Domain = sellercraft.domain\n const fulfilmentCenter: FulfillmentCenter = await FulfillmentAPI.getFulfillmentCenter(fulfillmentCenterId)\n const customerBizplace: Bizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: customerDomain } })\n\n await tx.query(\n `\n create temp table temp_warehouse_product_inventory ON COMMIT DROP as (\n select p.id, p.sku as product_sku, p.name as product_name, p.description as product_description, \n pd.gtin, pd.uom, pd.packing_size, coalesce(pd.nett_weight, 0) as nett_weight, pd.width, pd.\"depth\", pd.height,\n coalesce(src.qty, 0) as available_qty, coalesce(src.qty - src.\"remainQty\", 0) as reserved_qty, coalesce(src.\"remainQty\",0) as remain_qty\n from bizplaces b\n inner join companies c on c.id = b.company_id \n inner join domains d on d.id = c.domain_id\n inner join products p on p.domain_id = b.domain_id or p.domain_id = c.domain_id \n inner join product_details pd on pd.product_id = p.id\n left join (\n select wboi.* from warehouse_bizplace_onhand_inventories wboi \n inner join domains d on d.id = wboi.\"domainId\"\n inner join fulfillment_centers fc on d.subdomain = fc.center_id \n where fc.id= $1 \n and wboi.\"bizplaceId\" = $2 and \"groupType\" = 'SINGLE'\n ) src on src.\"productId\" = pd.\"product_id\" \n and src.\"packingType\" = pd.\"packing_type\" \n and src.\"packingSize\" = pd.\"packing_size\" \n and src.\"uom\" = pd.\"uom\" \n where b.id = $2\n )\n `,\n [fulfilmentCenter.id, customerBizplace.id]\n )\n\n let total = await tx.query(`\n select count(*) from temp_warehouse_product_inventory \n `)\n\n while (hasMorePage) {\n hasMorePage = false\n try {\n // const { items, total } = await FulfillmentAPI.getInventoryProductGroupOpenAPI(fulfilmentCenter, {\n // warehouseId: customerBizplace.id,\n // paginationEntriesPerPage: limit,\n // paginationOffset: page\n // })\n\n const items = await tx.query(\n `\n select * from temp_warehouse_product_inventory limit $1 offset $2\n `,\n [limit, page * limit]\n )\n\n let sellercraftInv: any[] = []\n\n items.map(async item => {\n let packingSize: number = 1\n\n sellercraftInv.push({\n sku: item.product_sku,\n gtin: item.gtin,\n stock: {\n quantity_total: item.available_qty * packingSize < 0 ? 0 : item.available_qty * packingSize,\n quantity_reserved: item.reserved_qty * packingSize < 0 ? 0 : item.reserved_qty * packingSize,\n unit_of_measure: 'EA'\n },\n package_weight_gm: item.nett_weight <= 0 ? 1 : item.nett_weight,\n package_dimensions: {\n length_mm: item.depth <= 0 ? 1 : item.depth,\n width_mm: item.width <= 0 ? 1 : item.width,\n height_mm: item.height <= 0 ? 1 : item.height\n }\n })\n })\n\n const delay = (ms: number) => {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n await delay(500)\n\n await SellercraftAPI.updateProduct(sellercraft, { context, accountId: sellercraft.accountId, sellercraftInv })\n\n page++\n hasMorePage = (total[0]?.count || 0) > page * limit\n } catch (e) {\n logger.error(\n `[syncProductsToSellercraftResolver] sellercraftID:${sellercraftId} fulfillmentCenterId:${fulfillmentCenterId} page:${page} - ${e}`\n )\n }\n }\n } catch (e) {\n logger.error(`syncProductsToSellercraftResolver: ${e}`)\n }\n }\n}\n\n/**\n * @summary Check for product child qty at any scanned level\n * @description It will check every level of product detail by comparing scanned level and GAN registered level.\n * By getting the level that has relation, child qty will be retrieved\n * 1st level: PALLET -> 2 CARTONS (scan), 2nd level: CARTON -> 6 BAGS, 3rd level: BAG -> 10 UNITS, lowest: UNIT (order registered packing type)\n */\nexport async function getChildPackingSize(\n productDetails: ProductDetail[],\n defaultProductDetail: ProductDetail,\n unmatchingProductDetail: ProductDetail\n): Promise<number> {\n let hasChildRelation: boolean = Boolean(unmatchingProductDetail?.childProductDetail)\n let hasMatchingChild: boolean\n let packingSize: number = 1\n let currentChildProductDetail: ProductDetail\n\n if (hasChildRelation) {\n currentChildProductDetail = productDetails.find(\n (productDetail: ProductDetail) => productDetail.id === unmatchingProductDetail.childProductDetail.id\n )\n\n if (!currentChildProductDetail) {\n throw new Error(`Unable to find matching packing type for GTIN (${unmatchingProductDetail.gtin})`)\n }\n\n hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)\n if (hasMatchingChild) {\n packingSize = unmatchingProductDetail.packingSize\n } else {\n packingSize = unmatchingProductDetail.packingSize * packingSize\n }\n } else {\n throw new Error(`No child product result for GTIN (${unmatchingProductDetail.gtin})`)\n }\n\n while (hasChildRelation && !hasMatchingChild) {\n if (hasMatchingChild) {\n packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10\n } else if (!hasMatchingChild && hasChildRelation) {\n packingSize = currentChildProductDetail.packingSize * packingSize // 12 x 10\n currentChildProductDetail = productDetails.find(\n (productDetail: ProductDetail) => productDetail.id === currentChildProductDetail.childProductDetail.id\n )\n\n hasChildRelation = Boolean(currentChildProductDetail?.childProductDetail)\n hasMatchingChild = Boolean(defaultProductDetail.id === currentChildProductDetail.id)\n } else if (!hasChildRelation && !hasMatchingChild) {\n throw new Error(`Unable to find matching packing type for GTIN (${unmatchingProductDetail.gtin})`)\n }\n }\n\n return packingSize\n}\n"]}
|
|
@@ -16,6 +16,10 @@ exports.Mutation = `
|
|
|
16
16
|
syncProductsToSellercraft(sellercraftId: String!, fulfillmentCenterId: String!): Boolean @transaction
|
|
17
17
|
syncProductsFromAccount(accountId: String!, bizplaceId: String!): Boolean @transaction
|
|
18
18
|
syncProductsToAccount(accountId: String!, bizplaceId: String!): Boolean @transaction
|
|
19
|
+
syncAllProductsToSellercraft: Boolean @transaction
|
|
20
|
+
sellercraftPackMarketplaceOrder: Boolean @transaction
|
|
21
|
+
createDatShipments: Boolean @transaction
|
|
22
|
+
autoUpdateAllMarketplaceProductVariationQuantity(companyDomainId: String, warehouseId: String): Boolean @transaction
|
|
19
23
|
`;
|
|
20
24
|
exports.Types = [
|
|
21
25
|
sync_product_set_1.SyncProductSet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/synchronization/index.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,yDAAoE;AACpE,2DAAqD;AACrD,yDAAmD;AACnD,yEAAkE;AAClE,uEAAiF;AAEpE,QAAA,KAAK,GAAiB;;;;CAIlC,CAAA;AAEY,QAAA,QAAQ,GAAiB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/synchronization/index.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,yDAAoE;AACpE,2DAAqD;AACrD,yDAAmD;AACnD,yEAAkE;AAClE,uEAAiF;AAEpE,QAAA,KAAK,GAAiB;;;;CAIlC,CAAA;AAEY,QAAA,QAAQ,GAAiB;;;;;;;;CAQrC,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,iCAAc;IACd,mCAAe;IACf,8CAAoB;IACpB,gDAAqB;IACrB,GAAG,+BAAM;IACT,iCAAc;IACd,mCAAe;IACf,GAAG,wBAAM;CACV,CAAA","sourcesContent":["import { SyncInvoiceList } from './sync-invoice-list'\nimport { SyncInvoiceSet, Types as iTypes } from './sync-invoice-set'\nimport { SyncProductList } from './sync-product-list'\nimport { SyncProductSet } from './sync-product-set'\nimport { SyncPurchaseOrderList } from './sync-purchase-order-list'\nimport { SyncPurchaseOrderSet, Types as pTypes } from './sync-purchase-order-set'\n\nexport const Query = /* GraphQL */ `\n fetchSyncProducts(accountId: String!, bizplaceId: String!, pagination: Pagination): SyncProductList\n fetchSyncPurchaseOrders(accountId: String!, warehouseId: String!, customerBizplaceId: String, fromDate: String, toDate: String): Boolean\n fetchSyncInvoices(accountId: String!, warehouseId: String!, customerBizplaceId: String!): Boolean\n`\n\nexport const Mutation = /* GraphQL */ `\n syncProductsToSellercraft(sellercraftId: String!, fulfillmentCenterId: String!): Boolean @transaction\n syncProductsFromAccount(accountId: String!, bizplaceId: String!): Boolean @transaction\n syncProductsToAccount(accountId: String!, bizplaceId: String!): Boolean @transaction\n syncAllProductsToSellercraft: Boolean @transaction\n sellercraftPackMarketplaceOrder: Boolean @transaction\n createDatShipments: Boolean @transaction\n autoUpdateAllMarketplaceProductVariationQuantity(companyDomainId: String, warehouseId: String): Boolean @transaction\n`\n\nexport const Types = [\n SyncProductSet,\n SyncProductList,\n SyncPurchaseOrderSet,\n SyncPurchaseOrderList,\n ...pTypes,\n SyncInvoiceSet,\n SyncInvoiceList,\n ...iTypes\n]\n"]}
|
package/dist-server/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
require("./routers/api");
|
|
5
|
+
require("./routes");
|
|
6
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
4
8
|
tslib_1.__exportStar(require("./graphql"), exports);
|
|
5
9
|
tslib_1.__exportStar(require("./middlewares"), exports);
|
|
6
10
|
tslib_1.__exportStar(require("./migrations"), exports);
|
|
7
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
8
|
-
const typeorm_1 = require("typeorm");
|
|
9
|
-
require("./routers/api");
|
|
10
|
-
require("./routes");
|
|
11
11
|
process.on('bootstrap-module-start', async ({ app, config, schema }) => {
|
|
12
12
|
process.superUserGranted = async (domain, user) => {
|
|
13
13
|
if (!domain || !user) {
|
|
@@ -17,7 +17,7 @@ process.on('bootstrap-module-start', async ({ app, config, schema }) => {
|
|
|
17
17
|
return domain.owner === user.id;
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
|
-
const { company } = await (0,
|
|
20
|
+
const { company } = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
21
21
|
where: { domain },
|
|
22
22
|
relations: ['company', 'company.domain']
|
|
23
23
|
});
|
package/dist-server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,yBAAsB;AACtB,oBAAiB;AAGjB,uDAAmD;AACnD,iDAA6D;AAE7D,oDAAyB;AACzB,wDAA6B;AAC7B,uDAA4B;AAU5B,OAAO,CAAC,EAAE,CAAC,wBAA+B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE;IACjF,OAAO,CAAC,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,IAAU,EAAoB,EAAE;QAChF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE;YACpB,OAAO,KAAK,CAAA;SACb;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;SAChC;aAAM;YACL,MAAM,EAAE,OAAO,EAAE,GAAa,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAClE,KAAK,EAAE,EAAE,MAAM,EAAE;gBACjB,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;aACzC,CAAC,CAAA;YACF,MAAM,aAAa,GAAW,OAAO,CAAC,MAAM,CAAA;YAC5C,OAAO,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;SACvC;IACH,CAAC,CAAA;AACH,CAAC,CAAC,CAAA","sourcesContent":["import './routers/api'\nimport './routes'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport * from './graphql'\nexport * from './middlewares'\nexport * from './migrations'\n\ndeclare global {\n namespace NodeJS {\n interface Process {\n superUserGranted: (domain: Domain, user: User) => Promise<boolean>\n }\n }\n}\n\nprocess.on('bootstrap-module-start' as any, async ({ app, config, schema }: any) => {\n process.superUserGranted = async (domain: Domain, user: User): Promise<boolean> => {\n if (!domain || !user) {\n return false\n }\n\n if (domain.extType === 'company') {\n return domain.owner === user.id\n } else {\n const { company }: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain },\n relations: ['company', 'company.domain']\n })\n const companyDomain: Domain = company.domain\n return companyDomain.owner === user.id\n }\n }\n})\n"]}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.businessMiddleware = void 0;
|
|
4
4
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
5
|
const shell_1 = require("@things-factory/shell");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
6
|
const debug = require('debug')('things-factory:operato-hub:business-middleware');
|
|
8
7
|
async function businessMiddleware(context, next) {
|
|
9
8
|
const { user } = context.state;
|
|
@@ -12,10 +11,10 @@ async function businessMiddleware(context, next) {
|
|
|
12
11
|
const domain = await (0, shell_1.getDomainFromURL)(context);
|
|
13
12
|
let company;
|
|
14
13
|
if (domain.extType === 'company') {
|
|
15
|
-
company = await (0,
|
|
14
|
+
company = await (0, shell_1.getRepository)(biz_base_1.Company).findOne({ where: { domain }, relations: ['domain'] });
|
|
16
15
|
}
|
|
17
16
|
else {
|
|
18
|
-
const bizplace = await (0,
|
|
17
|
+
const bizplace = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
19
18
|
where: { domain },
|
|
20
19
|
relations: ['company', 'domain']
|
|
21
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business-middleware.js","sourceRoot":"","sources":["../../server/middlewares/business-middleware.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"business-middleware.js","sourceRoot":"","sources":["../../server/middlewares/business-middleware.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAC5D,iDAA+E;AAE/E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,gDAAgD,CAAC,CAAA;AAEzE,KAAK,UAAU,kBAAkB,CAAC,OAAO,EAAE,IAAI;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,KAAK,CAAC,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,CAAA;IAE1B,IAAI,IAAI,EAAE;QACR,MAAM,MAAM,GAAW,MAAM,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;QAEtD,IAAI,OAAgB,CAAA;QACpB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;SAC7F;aAAM;YACL,MAAM,QAAQ,GAAa,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAC/D,KAAK,EAAE,EAAE,MAAM,EAAE;gBACjB,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;aACjC,CAAC,CAAA;YACF,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;SAC3B;QAED,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAA;KACjC;IAED,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AAvBD,gDAuBC","sourcesContent":["import { Bizplace, Company } from '@things-factory/biz-base'\nimport { Domain, getDomainFromURL, getRepository } from '@things-factory/shell'\n\nconst debug = require('debug')('things-factory:operato-hub:business-middleware')\n\nexport async function businessMiddleware(context, next) {\n const { user } = context.state\n\n debug('user', user?.email)\n\n if (user) {\n const domain: Domain = await getDomainFromURL(context)\n\n let company: Company\n if (domain.extType === 'company') {\n company = await getRepository(Company).findOne({ where: { domain }, relations: ['domain'] })\n } else {\n const bizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain },\n relations: ['company', 'domain']\n })\n company = bizplace.company\n }\n\n context.state.business = company\n }\n\n await next()\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.storeMiddleware = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
6
|
const debug = require('debug')('things-factory:operato-hub:store-middleware');
|
|
7
7
|
async function storeMiddleware(context, next) {
|
|
8
8
|
var _a;
|
|
@@ -15,7 +15,7 @@ async function storeMiddleware(context, next) {
|
|
|
15
15
|
context.throw(404, t('error.company not found'));
|
|
16
16
|
}
|
|
17
17
|
if (storeId) {
|
|
18
|
-
marketplaceStore = await (0,
|
|
18
|
+
marketplaceStore = await (0, shell_1.getRepository)(integration_marketplace_1.MarketplaceStore).findOne({
|
|
19
19
|
where: { domain: business.domain, name: storeId, status: 'ACTIVE' },
|
|
20
20
|
relations: ['domain']
|
|
21
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-middleware.js","sourceRoot":"","sources":["../../server/middlewares/store-middleware.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"store-middleware.js","sourceRoot":"","sources":["../../server/middlewares/store-middleware.ts"],"names":[],"mappings":";;;AAAA,qFAAoG;AACpG,iDAAqD;AAErD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,6CAA6C,CAAC,CAAA;AAEtE,KAAK,UAAU,eAAe,CAAC,OAAO,EAAE,IAAI;;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAClC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAErB,IAAI,gBAAwC,CAAA;IAE5C,KAAK,CAAC,mBAAmB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE7C,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;KACjD;IAED,IAAI,OAAO,EAAE;QACX,gBAAgB,GAAG,MAAM,IAAA,qBAAa,EAAC,0CAAsB,CAAC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;YACnE,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;QACF,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,0CAAE,SAAS,CAAC,CAAA;QAExE,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAA;SACnE;KACF;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAA;KAClD;IAED,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAEjD,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AA9BD,0CA8BC","sourcesContent":["import { MarketplaceStore as MarketplaceStoreEntity } from '@things-factory/integration-marketplace'\nimport { getRepository } from '@things-factory/shell'\n\nconst debug = require('debug')('things-factory:operato-hub:store-middleware')\n\nexport async function storeMiddleware(context, next) {\n const { storeId } = context.params\n const { business } = context.state\n const { t } = context\n\n let marketplaceStore: MarketplaceStoreEntity\n\n debug('company and store', business, storeId)\n\n if (!business) {\n context.throw(404, t('error.company not found'))\n }\n\n if (storeId) {\n marketplaceStore = await getRepository(MarketplaceStoreEntity).findOne({\n where: { domain: business.domain, name: storeId, status: 'ACTIVE' },\n relations: ['domain']\n })\n debug('marketplace-store', storeId, marketplaceStore?.domain?.subdomain)\n\n if (!marketplaceStore) {\n context.throw(404, t('error.operato marketplace store not found'))\n }\n } else {\n context.throw(404, t('error.store id not found'))\n }\n\n context.state.marketplaceStore = marketplaceStore\n\n await next()\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.warehouseMiddleware = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
6
|
const debug = require('debug')('things-factory:operato-hub:warehouse-middleware');
|
|
7
7
|
async function warehouseMiddleware(context, next) {
|
|
8
8
|
var _a;
|
|
@@ -15,7 +15,8 @@ async function warehouseMiddleware(context, next) {
|
|
|
15
15
|
context.throw(404, t('error.company not found'));
|
|
16
16
|
}
|
|
17
17
|
if (warehouseId) {
|
|
18
|
-
warehouse = await (0,
|
|
18
|
+
warehouse = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
19
|
+
where: { id: warehouseId },
|
|
19
20
|
relations: ['company', 'domain']
|
|
20
21
|
});
|
|
21
22
|
debug('warehouse', warehouseId, (_a = warehouse === null || warehouse === void 0 ? void 0 : warehouse.domain) === null || _a === void 0 ? void 0 : _a.subdomain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouse-middleware.js","sourceRoot":"","sources":["../../server/middlewares/warehouse-middleware.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"warehouse-middleware.js","sourceRoot":"","sources":["../../server/middlewares/warehouse-middleware.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,iDAAqD;AAErD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,iDAAiD,CAAC,CAAA;AAE1E,KAAK,UAAU,mBAAmB,CAAC,OAAO,EAAE,IAAI;;IACrD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAClC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAErB,IAAI,SAAmB,CAAA;IAEvB,KAAK,CAAC,uBAAuB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAErD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;KACjD;IAED,IAAI,WAAW,EAAE;QACf,SAAS,GAAG,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;YAC1B,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;SACjC,CAAC,CAAA;QACF,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,SAAS,CAAC,CAAA;QAE7D,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAA;SACnD;KACF;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAA;KACnD;IAED,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;IAEnC,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AA9BD,kDA8BC","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { getRepository } from '@things-factory/shell'\n\nconst debug = require('debug')('things-factory:operato-hub:warehouse-middleware')\n\nexport async function warehouseMiddleware(context, next) {\n const { warehouseId } = context.params\n const { business } = context.state\n const { t } = context\n\n let warehouse: Bizplace\n\n debug('company and warehouse', business, warehouseId)\n\n if (!business) {\n context.throw(404, t('error.company not found'))\n }\n\n if (warehouseId) {\n warehouse = await getRepository(Bizplace).findOne({\n where: { id: warehouseId },\n relations: ['company', 'domain']\n })\n debug('warehouse', warehouseId, warehouse?.domain?.subdomain)\n\n if (!warehouse) {\n context.throw(404, t('error.warehouse not found'))\n }\n } else {\n context.throw(404, t('error.warehouse not found'))\n }\n\n context.state.warehouse = warehouse\n\n await next()\n}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SeedBusinessDomain1597668478399 = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const shell_1 = require("@things-factory/shell");
|
|
6
5
|
const SEED_BUSINESS_DOMAIN = [
|
|
7
6
|
{
|
|
@@ -11,13 +10,13 @@ const SEED_BUSINESS_DOMAIN = [
|
|
|
11
10
|
];
|
|
12
11
|
class SeedBusinessDomain1597668478399 {
|
|
13
12
|
async up(queryRunner) {
|
|
14
|
-
const repository = (0,
|
|
13
|
+
const repository = (0, shell_1.getRepository)(shell_1.Domain);
|
|
15
14
|
return await Promise.all(SEED_BUSINESS_DOMAIN.map(async (domain) => {
|
|
16
15
|
await repository.save(Object.assign({}, domain));
|
|
17
16
|
}));
|
|
18
17
|
}
|
|
19
18
|
async down(queryRunner) {
|
|
20
|
-
const repository = (0,
|
|
19
|
+
const repository = (0, shell_1.getRepository)(shell_1.Domain);
|
|
21
20
|
return await Promise.all(SEED_BUSINESS_DOMAIN.reverse().map(async (domain) => {
|
|
22
21
|
await repository.delete({ subdomain: domain.subdomain });
|
|
23
22
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1597668478399-SeedBusinessDomain.js","sourceRoot":"","sources":["../../server/migrations/1597668478399-SeedBusinessDomain.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"1597668478399-SeedBusinessDomain.js","sourceRoot":"","sources":["../../server/migrations/1597668478399-SeedBusinessDomain.ts"],"names":[],"mappings":";;;AAEA,iDAA6D;AAE7D,MAAM,oBAAoB,GAAG;IAC3B;QACE,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,qBAAqB;KAC5B;CACF,CAAA;AAED,MAAa,+BAA+B;IACnC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACtC,MAAM,UAAU,CAAC,IAAI,mBAChB,MAAM,EACT,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,oBAAoB,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAtBD,0EAsBC","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nconst SEED_BUSINESS_DOMAIN = [\n {\n subdomain: 'business',\n name: 'Business Hub Domain'\n }\n]\n\nexport class SeedBusinessDomain1597668478399 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Domain)\n\n return await Promise.all(\n SEED_BUSINESS_DOMAIN.map(async domain => {\n await repository.save({\n ...domain\n })\n })\n )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Domain)\n\n return await Promise.all(\n SEED_BUSINESS_DOMAIN.reverse().map(async (domain: Domain) => {\n await repository.delete({ subdomain: domain.subdomain })\n })\n )\n }\n}\n"]}
|
|
@@ -350,7 +350,7 @@ class SeedBusinessRoles1597668478401 {
|
|
|
350
350
|
// const privileges = await Promise.all(
|
|
351
351
|
// role.privileges.map(
|
|
352
352
|
// async privilege =>
|
|
353
|
-
// await privilegeRepo.
|
|
353
|
+
// await privilegeRepo.findOneBy({
|
|
354
354
|
// ...privilege
|
|
355
355
|
// })
|
|
356
356
|
// )
|
|
@@ -365,7 +365,7 @@ class SeedBusinessRoles1597668478401 {
|
|
|
365
365
|
async down(queryRunner) {
|
|
366
366
|
// const roleRepo = getRepository(Role)
|
|
367
367
|
// const domainRepo = getRepository(Domain)
|
|
368
|
-
// const domain = await domainRepo.findOne({ where: })
|
|
368
|
+
// const domain = await domainRepo.findOne({ where: ...})
|
|
369
369
|
// return await Promise.all(
|
|
370
370
|
// SEED_ROLES_PRIVILEGES.reverse().map(async (role: Role) => {
|
|
371
371
|
// await roleRepo.delete({ domain, name: role.name })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1597668478401-SeedBusinessRoles.js","sourceRoot":"","sources":["../../server/migrations/1597668478401-SeedBusinessRoles.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nconst SEED_ROLES_PRIVILEGES = [\n {\n name: 'BUSINESS-OWNER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n },\n {\n name: 'BUSINESS-MANAGER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n },\n {\n name: 'DEVELOPER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n }\n // },\n // {\n // name: 'CUSTOMER',\n // privileges: [\n // {\n // name: 'query',\n // category: 'order_customer'\n // },\n // {\n // name: 'mutation',\n // category: 'order_customer'\n // },\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'company'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'tutorial'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory_adjustment_approval'\n // },\n // {\n // name: 'query',\n // category: 'vendor'\n // },\n // {\n // name: 'query',\n // category: 'contact_point'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_customer'\n // }\n // ]\n // },\n // {\n // name: 'OFFICE ADMIN',\n // privileges: [\n // {\n // name: 'query',\n // category: 'company'\n // },\n // {\n // name: 'mutation',\n // category: 'company'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'mutation',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'customer'\n // },\n // {\n // name: 'mutation',\n // category: 'customer'\n // },\n // {\n // name: 'query',\n // category: 'contact_point'\n // },\n // {\n // name: 'mutation',\n // category: 'contact_point'\n // },\n // {\n // name: 'query',\n // category: 'worksheet_control'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // },\n // {\n // name: 'query',\n // category: 'order_warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'order_warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory_adjustment_approval'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'warehouse'\n // },\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'mutation',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'transport'\n // },\n // {\n // name: 'mutation',\n // category: 'transport'\n // }\n // ]\n // },\n // {\n // name: 'WAREHOUSE_MANAGER',\n // privileges: [\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // }\n // ]\n // },\n // {\n // name: 'WAREHOUSE_STAFF',\n // privileges: [\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouses'\n // },\n // {\n // name: 'query',\n // category: 'worksheet_execute'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_execute'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // }\n // ]\n // },\n // {\n // name: 'ACCOUNTANT',\n // privileges: [\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouses'\n // },\n // {\n // name: 'query',\n // category: 'order_warehouse'\n // }\n // ]\n // }\n]\n\nconst SEED_BUSINESS_DOMAIN = { subdomain: 'business', name: 'Business Hub Domain' }\n\nexport class SeedBusinessRoles1597668478401 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n // const roleRepo = getRepository(Role)\n // const privilegeRepo = getRepository(Privilege)\n // return await Promise.all(\n // SEED_ROLES_PRIVILEGES.map(async role => {\n // const privileges = await Promise.all(\n // role.privileges.map(\n // async privilege =>\n // await privilegeRepo.findOne({\n // ...privilege\n // })\n // )\n // )\n // await roleRepo.save({\n // name: role.name,\n // privileges\n // })\n // })\n // )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n // const roleRepo = getRepository(Role)\n // const domainRepo = getRepository(Domain)\n // const domain = await domainRepo.findOne({ where: })\n // return await Promise.all(\n // SEED_ROLES_PRIVILEGES.reverse().map(async (role: Role) => {\n // await roleRepo.delete({ domain, name: role.name })\n // })\n // )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"1597668478401-SeedBusinessRoles.js","sourceRoot":"","sources":["../../server/migrations/1597668478401-SeedBusinessRoles.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nconst SEED_ROLES_PRIVILEGES = [\n {\n name: 'BUSINESS-OWNER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n },\n {\n name: 'BUSINESS-MANAGER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n },\n {\n name: 'DEVELOPER',\n privileges: [\n {\n name: 'query',\n category: 'company'\n },\n {\n name: 'mutation',\n category: 'company'\n },\n {\n name: 'query',\n category: 'bizplace'\n },\n {\n name: 'mutation',\n category: 'bizplace'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'user'\n }\n ]\n }\n // },\n // {\n // name: 'CUSTOMER',\n // privileges: [\n // {\n // name: 'query',\n // category: 'order_customer'\n // },\n // {\n // name: 'mutation',\n // category: 'order_customer'\n // },\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'company'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'tutorial'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory_adjustment_approval'\n // },\n // {\n // name: 'query',\n // category: 'vendor'\n // },\n // {\n // name: 'query',\n // category: 'contact_point'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_customer'\n // }\n // ]\n // },\n // {\n // name: 'OFFICE ADMIN',\n // privileges: [\n // {\n // name: 'query',\n // category: 'company'\n // },\n // {\n // name: 'mutation',\n // category: 'company'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'mutation',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'customer'\n // },\n // {\n // name: 'mutation',\n // category: 'customer'\n // },\n // {\n // name: 'query',\n // category: 'contact_point'\n // },\n // {\n // name: 'mutation',\n // category: 'contact_point'\n // },\n // {\n // name: 'query',\n // category: 'worksheet_control'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // },\n // {\n // name: 'query',\n // category: 'order_warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'order_warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory_adjustment_approval'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'warehouse'\n // },\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'mutation',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'transport'\n // },\n // {\n // name: 'mutation',\n // category: 'transport'\n // }\n // ]\n // },\n // {\n // name: 'WAREHOUSE_MANAGER',\n // privileges: [\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouse'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // }\n // ]\n // },\n // {\n // name: 'WAREHOUSE_STAFF',\n // privileges: [\n // {\n // name: 'query',\n // category: 'vas'\n // },\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'mutation',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouses'\n // },\n // {\n // name: 'query',\n // category: 'worksheet_execute'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_execute'\n // },\n // {\n // name: 'mutation',\n // category: 'worksheet_control'\n // }\n // ]\n // },\n // {\n // name: 'ACCOUNTANT',\n // privileges: [\n // {\n // name: 'query',\n // category: 'user'\n // },\n // {\n // name: 'query',\n // category: 'bizplace'\n // },\n // {\n // name: 'query',\n // category: 'inventory'\n // },\n // {\n // name: 'query',\n // category: 'warehouses'\n // },\n // {\n // name: 'query',\n // category: 'order_warehouse'\n // }\n // ]\n // }\n]\n\nconst SEED_BUSINESS_DOMAIN = { subdomain: 'business', name: 'Business Hub Domain' }\n\nexport class SeedBusinessRoles1597668478401 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n // const roleRepo = getRepository(Role)\n // const privilegeRepo = getRepository(Privilege)\n // return await Promise.all(\n // SEED_ROLES_PRIVILEGES.map(async role => {\n // const privileges = await Promise.all(\n // role.privileges.map(\n // async privilege =>\n // await privilegeRepo.findOneBy({\n // ...privilege\n // })\n // )\n // )\n // await roleRepo.save({\n // name: role.name,\n // privileges\n // })\n // })\n // )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n // const roleRepo = getRepository(Role)\n // const domainRepo = getRepository(Domain)\n // const domain = await domainRepo.findOne({ where: ...})\n // return await Promise.all(\n // SEED_ROLES_PRIVILEGES.reverse().map(async (role: Role) => {\n // await roleRepo.delete({ domain, name: role.name })\n // })\n // )\n }\n}\n"]}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SeedUser1608009991065 = void 0;
|
|
4
4
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
5
|
const shell_1 = require("@things-factory/shell");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
6
|
const company_initializer_1 = require("../controllers/company-initializer");
|
|
8
7
|
const ADMIN_USER = {
|
|
9
8
|
name: 'Admin',
|
|
@@ -14,8 +13,8 @@ const ADMIN_USER = {
|
|
|
14
13
|
};
|
|
15
14
|
class SeedUser1608009991065 {
|
|
16
15
|
async up(queryRunner) {
|
|
17
|
-
const userRepository = (0,
|
|
18
|
-
const domainRepository = (0,
|
|
16
|
+
const userRepository = (0, shell_1.getRepository)(auth_base_1.User);
|
|
17
|
+
const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
|
|
19
18
|
let adminUser = await userRepository.findOne({ where: { name: ADMIN_USER.name }, relations: ['domains'] });
|
|
20
19
|
let systemDomain = await domainRepository.findOne({ where: { systemFlag: true } });
|
|
21
20
|
if (!adminUser) {
|
|
@@ -41,10 +40,10 @@ class SeedUser1608009991065 {
|
|
|
41
40
|
await (0, company_initializer_1.businessRegister)(systemDomain, companyInput, adminUser);
|
|
42
41
|
}
|
|
43
42
|
async down(queryRunner) {
|
|
44
|
-
const userRepository = (0,
|
|
45
|
-
const domainRepository = (0,
|
|
43
|
+
const userRepository = (0, shell_1.getRepository)(auth_base_1.User);
|
|
44
|
+
const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
|
|
46
45
|
const user = await userRepository.findOne({ where: { name: ADMIN_USER.name } });
|
|
47
|
-
await userRepository.delete(user);
|
|
46
|
+
await userRepository.delete({ id: user.id });
|
|
48
47
|
const systemDomain = await domainRepository.findOne({ where: { systemFlag: true } });
|
|
49
48
|
await domainRepository.delete(systemDomain);
|
|
50
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1608009991065-SeedUser.js","sourceRoot":"","sources":["../../server/migrations/1608009991065-SeedUser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"1608009991065-SeedUser.js","sourceRoot":"","sources":["../../server/migrations/1608009991065-SeedUser.ts"],"names":[],"mappings":";;;AAEA,yDAA4D;AAE5D,iDAA6D;AAE7D,4EAAqE;AAErE,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,sBAAU,CAAC,SAAS;CAC7B,CAAA;AACD,MAAa,qBAAqB;IACzB,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,cAAc,GAAqB,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAC5D,MAAM,gBAAgB,GAAuB,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAElE,IAAI,SAAS,GAAS,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChH,IAAI,YAAY,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAE1F,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,GAAG,gBAAI,CAAC,YAAY,EAAE,CAAA;YAEhC,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,iCAChC,UAAU,KACb,IAAI,EACJ,QAAQ,EAAE,gBAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAChD,CAAA;SACH;aAAM;YACL,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAA;YAC3B,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACrC;QAED,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,OAAO,GAAG,SAAS,CAAA;YAChC,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;SAC1C;QAED,MAAM,YAAY,GAAY;YAC5B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,IAAI;YAC7C,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;SACR,CAAA;QAED,MAAM,IAAA,sCAAgB,EAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAC1C,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAE9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE5C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QACpF,MAAM,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC;CACF;AAhDD,sDAgDC","sourcesContent":["import { MigrationInterface, QueryRunner, Repository } from 'typeorm'\n\nimport { User, UserStatus } from '@things-factory/auth-base'\nimport { Company } from '@things-factory/biz-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { businessRegister } from '../controllers/company-initializer'\n\nconst ADMIN_USER = {\n name: 'Admin',\n email: 'admin@hatiolab.com',\n password: 'admin',\n userType: 'user',\n status: UserStatus.ACTIVATED\n}\nexport class SeedUser1608009991065 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const userRepository: Repository<User> = getRepository(User)\n const domainRepository: Repository<Domain> = getRepository(Domain)\n\n let adminUser: User = await userRepository.findOne({ where: { name: ADMIN_USER.name }, relations: ['domains'] })\n let systemDomain: Domain = await domainRepository.findOne({ where: { systemFlag: true } })\n\n if (!adminUser) {\n const salt = User.generateSalt()\n\n adminUser = await userRepository.save({\n ...ADMIN_USER,\n salt,\n password: User.encode(ADMIN_USER.password, salt)\n })\n } else {\n adminUser.userType = 'user'\n await userRepository.save(adminUser)\n }\n\n if (systemDomain) {\n systemDomain.extType = 'company'\n await domainRepository.save(systemDomain)\n }\n\n const companyInput: Company = {\n name: systemDomain.name,\n description: systemDomain.description || null,\n address: '',\n postalCode: '',\n countryCode: '',\n brn: ''\n }\n\n await businessRegister(systemDomain, companyInput, adminUser)\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const userRepository = getRepository(User)\n const domainRepository = getRepository(Domain)\n\n const user = await userRepository.findOne({ where: { name: ADMIN_USER.name } })\n await userRepository.delete({ id: user.id })\n\n const systemDomain = await domainRepository.findOne({ where: { systemFlag: true } })\n await domainRepository.delete(systemDomain)\n }\n}\n"]}
|
|
@@ -116,7 +116,8 @@ api_1.restfulApiRouter.post('/unstable/warehouse/:warehouseId/add-draft-release-
|
|
|
116
116
|
country: ((_o = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _o === void 0 ? void 0 : _o.country) || null,
|
|
117
117
|
phone1: ((_p = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _p === void 0 ? void 0 : _p.phone1) || null,
|
|
118
118
|
phone2: ((_q = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _q === void 0 ? void 0 : _q.phone2) || null,
|
|
119
|
-
email: ((_r = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _r === void 0 ? void 0 : _r.email) || null
|
|
119
|
+
email: ((_r = bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.deliverTo) === null || _r === void 0 ? void 0 : _r.email) || null,
|
|
120
|
+
packageId: (bodyReq === null || bodyReq === void 0 ? void 0 : bodyReq.packageId) || null
|
|
120
121
|
},
|
|
121
122
|
orderProducts: orderInventories,
|
|
122
123
|
files: []
|