@things-factory/operato-hub 6.2.102 → 6.2.103
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/codes.js +21 -0
- package/dist-server/controllers/bizplace-initializer/codes.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js +402 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/groups.js +24 -0
- package/dist-server/controllers/bizplace-initializer/dataset/groups.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/index.js +9 -0
- package/dist-server/controllers/bizplace-initializer/dataset/index.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/menus.js +504 -0
- package/dist-server/controllers/bizplace-initializer/dataset/menus.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js +406 -0
- package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js +94 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +26 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +44 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/groups.js +18 -0
- package/dist-server/controllers/bizplace-initializer/groups.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/index.js +9 -0
- package/dist-server/controllers/bizplace-initializer/index.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/menus.js +28 -0
- package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/settings.js +16 -0
- package/dist-server/controllers/bizplace-initializer/settings.js.map +1 -0
- package/dist-server/controllers/company-initializer/business-register.js +48 -0
- package/dist-server/controllers/company-initializer/business-register.js.map +1 -0
- package/dist-server/controllers/company-initializer/codes.js +137 -0
- package/dist-server/controllers/company-initializer/codes.js.map +1 -0
- package/dist-server/controllers/company-initializer/generate-company-roles.js +117 -0
- package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -0
- package/dist-server/controllers/company-initializer/index.js +10 -0
- package/dist-server/controllers/company-initializer/index.js.map +1 -0
- package/dist-server/controllers/company-initializer/menus.js +348 -0
- package/dist-server/controllers/company-initializer/menus.js.map +1 -0
- package/dist-server/controllers/company-initializer/settings.js +31 -0
- package/dist-server/controllers/company-initializer/settings.js.map +1 -0
- package/dist-server/controllers/company-initializer/transporter.js +18 -0
- package/dist-server/controllers/company-initializer/transporter.js.map +1 -0
- package/dist-server/controllers/index.js +1 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/invitation.js +119 -0
- package/dist-server/controllers/invitation.js.map +1 -0
- package/dist-server/controllers/utils/make-invitation-token.js +10 -0
- package/dist-server/controllers/utils/make-invitation-token.js.map +1 -0
- package/dist-server/controllers/utils/save-invitation-token.js +13 -0
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -0
- package/dist-server/entities/index.js +1 -0
- package/dist-server/entities/index.js.map +1 -0
- package/dist-server/errors/index.js +5 -0
- package/dist-server/errors/index.js.map +1 -0
- package/dist-server/errors/validation-error.js +14 -0
- package/dist-server/errors/validation-error.js.map +1 -0
- package/dist-server/graphql/index.js +11 -0
- package/dist-server/graphql/index.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js +38 -0
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/generate-company.js +61 -0
- package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/index.js +8 -0
- package/dist-server/graphql/resolvers/generators/index.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js +46 -0
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +11 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -0
- package/dist-server/graphql/resolvers/invitations/index.js +6 -0
- package/dist-server/graphql/resolvers/invitations/index.js.map +1 -0
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js +52 -0
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -0
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +33 -0
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -0
- package/dist-server/graphql/resolvers/oauth2/index.js +6 -0
- package/dist-server/graphql/resolvers/oauth2/index.js.map +1 -0
- 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-invoices.js +41 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-invoices.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +81 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js +57 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/index.js +16 -0
- package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -0
- 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 +34 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +55 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +142 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/types/generators/generate-bizplace-input.js +15 -0
- package/dist-server/graphql/types/generators/generate-bizplace-input.js.map +1 -0
- package/dist-server/graphql/types/generators/generate-company-input.js +15 -0
- package/dist-server/graphql/types/generators/generate-company-input.js.map +1 -0
- package/dist-server/graphql/types/generators/index.js +13 -0
- package/dist-server/graphql/types/generators/index.js.map +1 -0
- package/dist-server/graphql/types/generators/update-domain-type-input.js +12 -0
- package/dist-server/graphql/types/generators/update-domain-type-input.js.map +1 -0
- package/dist-server/graphql/types/index.js +12 -0
- package/dist-server/graphql/types/index.js.map +1 -0
- package/dist-server/graphql/types/invitations/index.js +9 -0
- package/dist-server/graphql/types/invitations/index.js.map +1 -0
- package/dist-server/graphql/types/oauth2/company-role.js +12 -0
- package/dist-server/graphql/types/oauth2/company-role.js.map +1 -0
- package/dist-server/graphql/types/oauth2/index.js +9 -0
- package/dist-server/graphql/types/oauth2/index.js.map +1 -0
- package/dist-server/graphql/types/synchronization/index.js +34 -0
- package/dist-server/graphql/types/synchronization/index.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-list.js +12 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-set.js +42 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-set.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-product-list.js +12 -0
- package/dist-server/graphql/types/synchronization/sync-product-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-product-set.js +12 -0
- package/dist-server/graphql/types/synchronization/sync-product-set.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js +12 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js +32 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js.map +1 -0
- package/dist-server/index.js +29 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/business-middleware.js +31 -0
- package/dist-server/middlewares/business-middleware.js.map +1 -0
- package/dist-server/middlewares/index.js +21 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/middlewares/store-middleware.js +34 -0
- package/dist-server/middlewares/store-middleware.js.map +1 -0
- package/dist-server/middlewares/warehouse-middleware.js +34 -0
- package/dist-server/middlewares/warehouse-middleware.js.map +1 -0
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +26 -0
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -0
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +377 -0
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -0
- package/dist-server/migrations/1608009991065-SeedUser.js +52 -0
- package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routers/api/index.js +6 -0
- package/dist-server/routers/api/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js +74 -0
- package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +171 -0
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +215 -0
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +142 -0
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-products.js +86 -0
- package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +850 -0
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js +127 -0
- package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/bizplace.js +43 -0
- package/dist-server/routers/api/restful-apis/unstable/bizplace.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js +61 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +64 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js +101 -0
- package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js +45 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js +122 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +162 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +118 -0
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js +113 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js +123 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js +86 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js +93 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js +144 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js +77 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +108 -0
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js +24 -0
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js +208 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js +123 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js +191 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +20 -0
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/index.js +35 -0
- package/dist-server/routers/api/restful-apis/unstable/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js +33 -0
- package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js +43 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js +43 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js +91 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js +86 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +80 -0
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-contact-point.js +62 -0
- package/dist-server/routers/api/restful-apis/v1/add-contact-point.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js +169 -0
- package/dist-server/routers/api/restful-apis/v1/add-draft-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +212 -0
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +142 -0
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-products.js +86 -0
- package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js +772 -0
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/bizplace.js +43 -0
- package/dist-server/routers/api/restful-apis/v1/bizplace.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js +61 -0
- package/dist-server/routers/api/restful-apis/v1/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +64 -0
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js +101 -0
- package/dist-server/routers/api/restful-apis/v1/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js +45 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js +122 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +162 -0
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +118 -0
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js +113 -0
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js +123 -0
- package/dist-server/routers/api/restful-apis/v1/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js +86 -0
- package/dist-server/routers/api/restful-apis/v1/get-inventory-overall-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js +99 -0
- package/dist-server/routers/api/restful-apis/v1/get-inventory-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js +144 -0
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js +77 -0
- package/dist-server/routers/api/restful-apis/v1/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +108 -0
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-partners.js +24 -0
- package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-products.js +208 -0
- package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js +120 -0
- package/dist-server/routers/api/restful-apis/v1/get-release-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js +189 -0
- package/dist-server/routers/api/restful-apis/v1/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +20 -0
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/index.js +34 -0
- package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js +33 -0
- package/dist-server/routers/api/restful-apis/v1/reject-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js +43 -0
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js +43 -0
- package/dist-server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js +91 -0
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js +83 -0
- package/dist-server/routers/api/restful-apis/v1/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +80 -0
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-contact-point.js +62 -0
- package/dist-server/routers/api/restful-apis/v2/add-contact-point.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js +169 -0
- package/dist-server/routers/api/restful-apis/v2/add-draft-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +212 -0
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +142 -0
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-products.js +86 -0
- package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js +772 -0
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/bizplace.js +43 -0
- package/dist-server/routers/api/restful-apis/v2/bizplace.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js +61 -0
- package/dist-server/routers/api/restful-apis/v2/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +64 -0
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js +101 -0
- package/dist-server/routers/api/restful-apis/v2/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js +45 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js +122 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +162 -0
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +118 -0
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js +113 -0
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js +123 -0
- package/dist-server/routers/api/restful-apis/v2/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js +86 -0
- package/dist-server/routers/api/restful-apis/v2/get-inventory-overall-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js +99 -0
- package/dist-server/routers/api/restful-apis/v2/get-inventory-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js +144 -0
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js +77 -0
- package/dist-server/routers/api/restful-apis/v2/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +108 -0
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-partners.js +24 -0
- package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-products.js +208 -0
- package/dist-server/routers/api/restful-apis/v2/get-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js +120 -0
- package/dist-server/routers/api/restful-apis/v2/get-release-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js +189 -0
- package/dist-server/routers/api/restful-apis/v2/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +20 -0
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/index.js +34 -0
- package/dist-server/routers/api/restful-apis/v2/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js +33 -0
- package/dist-server/routers/api/restful-apis/v2/reject-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js +43 -0
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js +43 -0
- package/dist-server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js +91 -0
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js +83 -0
- package/dist-server/routers/api/restful-apis/v2/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +80 -0
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +1 -0
- package/dist-server/routers/auth-invitation-router.js +23 -0
- package/dist-server/routers/auth-invitation-router.js.map +1 -0
- package/dist-server/routers/business/bizplace-register-router.js +23 -0
- package/dist-server/routers/business/bizplace-register-router.js.map +1 -0
- package/dist-server/routers/business/business-register-router.js +25 -0
- package/dist-server/routers/business/business-register-router.js.map +1 -0
- package/dist-server/routers/business/index.js +7 -0
- package/dist-server/routers/business/index.js.map +1 -0
- package/dist-server/routers/business/path-base-business-router.js +16 -0
- package/dist-server/routers/business/path-base-business-router.js.map +1 -0
- package/dist-server/routes.js +18 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/templates/account-unlock-email.js +70 -0
- package/dist-server/templates/account-unlock-email.js.map +1 -0
- package/dist-server/templates/invitation-email.js +71 -0
- package/dist-server/templates/invitation-email.js.map +1 -0
- package/dist-server/templates/reset-password-email.js +70 -0
- package/dist-server/templates/reset-password-email.js.map +1 -0
- package/dist-server/templates/verification-email.js +71 -0
- package/dist-server/templates/verification-email.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/dist-server/utils/build-map.js +19 -0
- package/dist-server/utils/build-map.js.map +1 -0
- package/dist-server/utils/get-warehouses.js +117 -0
- package/dist-server/utils/get-warehouses.js.map +1 -0
- package/dist-server/utils/index.js +7 -0
- package/dist-server/utils/index.js.map +1 -0
- package/dist-server/utils/order-no-generator.js +11 -0
- package/dist-server/utils/order-no-generator.js.map +1 -0
- package/package.json +43 -43
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationError = void 0;
|
|
4
|
+
class ValidationError extends Error {
|
|
5
|
+
constructor({ errorCode, message, detail }) {
|
|
6
|
+
super(errorCode);
|
|
7
|
+
this.name = 'validation-error';
|
|
8
|
+
this.errorCode = errorCode,
|
|
9
|
+
this.message = message;
|
|
10
|
+
this.detail = detail;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ValidationError = ValidationError;
|
|
14
|
+
//# sourceMappingURL=validation-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-error.js","sourceRoot":"","sources":["../../server/errors/validation-error.ts"],"names":[],"mappings":";;;AAMA,MAAa,eAAgB,SAAQ,KAAK;IAGxC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAA2B;QACjE,KAAK,CAAC,SAAS,CAAC,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS;YACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAVD,0CAUC","sourcesContent":["type ValidationErrorArgument = {\n errorCode: string\n message: string\n detail?: Object\n}\n\nexport class ValidationError extends Error {\n errorCode: any\n detail: Object\n constructor({ errorCode, message, detail }: ValidationErrorArgument) {\n super(errorCode)\n this.name = 'validation-error'\n this.errorCode = errorCode,\n this.message = message\n this.detail = detail\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.schema = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const typeDefs = tslib_1.__importStar(require("./types"));
|
|
6
|
+
const resolvers = tslib_1.__importStar(require("./resolvers"));
|
|
7
|
+
exports.schema = {
|
|
8
|
+
typeDefs,
|
|
9
|
+
resolvers
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/graphql/index.ts"],"names":[],"mappings":";;;;AAAA,0DAAmC;AACnC,+DAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,SAAS;CACV,CAAA","sourcesContent":["import * as typeDefs from './types'\nimport * as resolvers from './resolvers'\n\nexport const schema = {\n typeDefs,\n resolvers\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateBizplace = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const generate_bizplace_domain_1 = require("../../../controllers/bizplace-initializer/generate-bizplace-domain");
|
|
7
|
+
exports.generateBizplace = {
|
|
8
|
+
async generateBizplace(_, { bizplaceInput }, context) {
|
|
9
|
+
const { tx, business: company, user } = context.state;
|
|
10
|
+
const { name, description, address, postalCode, latlng } = bizplaceInput;
|
|
11
|
+
if (/^[a-zA-Z ]+$/.test(name)) {
|
|
12
|
+
const oldBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
13
|
+
where: {
|
|
14
|
+
name: (0, typeorm_1.Raw)(alias => `LOWER(${alias}) LIKE '${name.toLowerCase()}'`)
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
if (oldBizplace) {
|
|
18
|
+
throw new Error('bizplace name is duplicated');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
throw new Error('bizplace name should consist only of letters or dashes');
|
|
23
|
+
}
|
|
24
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).save({
|
|
25
|
+
name,
|
|
26
|
+
description,
|
|
27
|
+
address,
|
|
28
|
+
postalCode,
|
|
29
|
+
latlng,
|
|
30
|
+
company,
|
|
31
|
+
updater: user,
|
|
32
|
+
creator: user
|
|
33
|
+
});
|
|
34
|
+
await (0, generate_bizplace_domain_1.generateBizplaceDomain)(bizplace.id, user, tx);
|
|
35
|
+
return bizplace;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=generate-bizplace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-bizplace.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/generators/generate-bizplace.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAE7B,uDAAmD;AAEnD,iHAA2G;AAE9F,QAAA,gBAAgB,GAAG;IAC9B,KAAK,CAAC,gBAAgB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAwB;QACxE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACrD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,CAAA;QAExE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAC3D,KAAK,EAAE;oBACL,IAAI,EAAE,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,SAAS,KAAK,WAAW,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;iBACnE;aACF,CAAC,CAAA;YACF,IAAI,WAAW,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;aAC/C;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SAC1E;QAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,IAAI,CAAC;YACrD,IAAI;YACJ,WAAW;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,OAAO;YACP,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,MAAM,IAAA,iDAAsB,EAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAEnD,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF,CAAA","sourcesContent":["import { Raw } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\n\nimport { generateBizplaceDomain } from '../../../controllers/bizplace-initializer/generate-bizplace-domain'\n\nexport const generateBizplace = {\n async generateBizplace(_: any, { bizplaceInput }, context: ResolverContext) {\n const { tx, business: company, user } = context.state\n const { name, description, address, postalCode, latlng } = bizplaceInput\n\n if (/^[a-zA-Z ]+$/.test(name)) {\n const oldBizplace = await tx.getRepository(Bizplace).findOne({\n where: {\n name: Raw(alias => `LOWER(${alias}) LIKE '${name.toLowerCase()}'`)\n }\n })\n if (oldBizplace) {\n throw new Error('bizplace name is duplicated')\n }\n } else {\n throw new Error('bizplace name should consist only of letters or dashes')\n }\n\n const bizplace = await tx.getRepository(Bizplace).save({\n name,\n description,\n address,\n postalCode,\n latlng,\n company,\n updater: user,\n creator: user\n })\n\n await generateBizplaceDomain(bizplace.id, user, tx)\n\n return bizplace\n }\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateCompany = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
const utils_1 = require("@things-factory/utils");
|
|
9
|
+
const bizplace_initializer_1 = require("../../../controllers/bizplace-initializer");
|
|
10
|
+
const generate_company_roles_1 = require("../../../controllers/company-initializer/generate-company-roles");
|
|
11
|
+
exports.generateCompany = {
|
|
12
|
+
async generateCompany(_, { companyInput }, context) {
|
|
13
|
+
const { tx, user } = context.state;
|
|
14
|
+
const { name, description, address, postalCode, latlng } = companyInput;
|
|
15
|
+
const subdomain = (0, utils_1.slugger)(name);
|
|
16
|
+
/* check */
|
|
17
|
+
const oldCompany = await tx.getRepository(biz_base_1.Company).findOne({
|
|
18
|
+
where: {
|
|
19
|
+
name
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (oldCompany) {
|
|
23
|
+
throw new Error('company name is duplicated');
|
|
24
|
+
}
|
|
25
|
+
const oldDomain = await tx.getRepository(shell_1.Domain).findOne({
|
|
26
|
+
where: {
|
|
27
|
+
name
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
if (oldDomain) {
|
|
31
|
+
throw new Error('subdomain is duplicated');
|
|
32
|
+
}
|
|
33
|
+
/* create company */
|
|
34
|
+
const domain = await tx.getRepository(shell_1.Domain).save({
|
|
35
|
+
subdomain,
|
|
36
|
+
name,
|
|
37
|
+
extType: 'company'
|
|
38
|
+
});
|
|
39
|
+
/* create roles */
|
|
40
|
+
const domainRoles = await (0, generate_company_roles_1.generateBusinessRoles)(domain, tx);
|
|
41
|
+
const company = await tx.getRepository(biz_base_1.Company).save(Object.assign(Object.assign({}, companyInput), { owner: user, domain }));
|
|
42
|
+
const userHavingRoles = await tx.getRepository(auth_base_1.User).findOne({
|
|
43
|
+
where: { email: (0, typeorm_1.ILike)(user.email) },
|
|
44
|
+
relations: ['domains', 'roles']
|
|
45
|
+
});
|
|
46
|
+
user.domains = [...user.domains, domain];
|
|
47
|
+
user.roles = [...userHavingRoles.roles, domainRoles.find(r => r.name === 'BUSINESS-OWNER')];
|
|
48
|
+
await tx.getRepository(auth_base_1.User).save(user);
|
|
49
|
+
await (0, bizplace_initializer_1.initGroups)(tx, domain);
|
|
50
|
+
return await tx.getRepository(biz_base_1.Company).save({
|
|
51
|
+
name,
|
|
52
|
+
description,
|
|
53
|
+
address,
|
|
54
|
+
postalCode,
|
|
55
|
+
latlng,
|
|
56
|
+
updater: user,
|
|
57
|
+
creator: user
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=generate-company.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-company.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/generators/generate-company.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAC/B,yDAAgD;AAChD,uDAAkD;AAClD,iDAA8C;AAC9C,iDAA+C;AAE/C,oFAAsE;AACtE,4GAAuG;AAE1F,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAwB;QACtE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAClC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;QAEvE,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;QAE/B,WAAW;QACX,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YACzD,KAAK,EAAE;gBACL,IAAI;aACL;SACF,CAAC,CAAA;QAEF,IAAI,UAAU,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC9C;QAED,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE;gBACL,IAAI;aACL;SACF,CAAC,CAAA;QAEF,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC3C;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,IAAI,CAAC;YACzD,SAAS;YACT,IAAI;YACJ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;QAEF,kBAAkB;QAClB,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAqB,EAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAE3D,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,IAAI,iCACxD,YAAY,KACf,KAAK,EAAE,IAAI,EACX,MAAM,IACN,CAAA;QAEF,MAAM,eAAe,GAAS,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;YACjE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnC,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAA;QAE3F,MAAM,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,IAAA,iCAAU,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE5B,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,IAAI,CAAC;YAC1C,IAAI;YACJ,WAAW;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { ILike } from 'typeorm'\nimport { User } from '@things-factory/auth-base'\nimport { Company } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\nimport { slugger } from '@things-factory/utils'\n\nimport { initGroups } from '../../../controllers/bizplace-initializer'\nimport { generateBusinessRoles } from '../../../controllers/company-initializer/generate-company-roles'\n\nexport const generateCompany = {\n async generateCompany(_: any, { companyInput }, context: ResolverContext) {\n const { tx, user } = context.state\n const { name, description, address, postalCode, latlng } = companyInput\n\n const subdomain = slugger(name)\n\n /* check */\n const oldCompany = await tx.getRepository(Company).findOne({\n where: {\n name\n }\n })\n\n if (oldCompany) {\n throw new Error('company name is duplicated')\n }\n\n const oldDomain = await tx.getRepository(Domain).findOne({\n where: {\n name\n }\n })\n\n if (oldDomain) {\n throw new Error('subdomain is duplicated')\n }\n\n /* create company */\n const domain: Domain = await tx.getRepository(Domain).save({\n subdomain,\n name,\n extType: 'company'\n })\n\n /* create roles */\n const domainRoles = await generateBusinessRoles(domain, tx)\n\n const company: Company = await tx.getRepository(Company).save({\n ...companyInput,\n owner: user,\n domain\n })\n\n const userHavingRoles: User = await tx.getRepository(User).findOne({\n where: { email: ILike(user.email) },\n relations: ['domains', 'roles']\n })\n\n user.domains = [...user.domains, domain]\n user.roles = [...userHavingRoles.roles, domainRoles.find(r => r.name === 'BUSINESS-OWNER')]\n\n await tx.getRepository(User).save(user)\n\n await initGroups(tx, domain)\n\n return await tx.getRepository(Company).save({\n name,\n description,\n address,\n postalCode,\n latlng,\n updater: user,\n creator: user\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const generate_company_1 = require("./generate-company");
|
|
5
|
+
const generate_bizplace_1 = require("./generate-bizplace");
|
|
6
|
+
const update_domain_extType_1 = require("./update-domain-extType");
|
|
7
|
+
exports.Mutation = Object.assign(Object.assign(Object.assign({}, generate_company_1.generateCompany), generate_bizplace_1.generateBizplace), update_domain_extType_1.updateDomainExtType);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/generators/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,2DAAsD;AACtD,mEAA6D;AAEhD,QAAA,QAAQ,iDAChB,kCAAe,GACf,oCAAgB,GAChB,2CAAmB,EACvB","sourcesContent":["import { generateCompany } from './generate-company'\nimport { generateBizplace } from './generate-bizplace'\nimport { updateDomainExtType } from './update-domain-extType'\n\nexport const Mutation = {\n ...generateCompany,\n ...generateBizplace,\n ...updateDomainExtType\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateDomainExtType = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const bizplace_initializer_1 = require("../../../controllers/bizplace-initializer");
|
|
8
|
+
const generate_bizplace_domain_roles_1 = require("../../../controllers/bizplace-initializer/generate-bizplace-domain-roles");
|
|
9
|
+
exports.updateDomainExtType = {
|
|
10
|
+
async updateDomainType(_, { domainTypeInput }, context) {
|
|
11
|
+
const { tx, user } = context.state;
|
|
12
|
+
const { id, extType } = domainTypeInput;
|
|
13
|
+
let domain = await tx.getRepository(shell_1.Domain).findOne({ where: { id } });
|
|
14
|
+
domain.extType = extType;
|
|
15
|
+
domain = await tx.getRepository(shell_1.Domain).save(domain);
|
|
16
|
+
await (0, generate_bizplace_domain_roles_1.generateBizplaceDomainRoles)(domain, tx);
|
|
17
|
+
await (0, bizplace_initializer_1.initMenus)(tx, domain);
|
|
18
|
+
await (0, bizplace_initializer_1.initCodes)(tx, domain);
|
|
19
|
+
await (0, bizplace_initializer_1.initSettings)(tx, domain);
|
|
20
|
+
await (0, bizplace_initializer_1.initGroups)(tx, domain);
|
|
21
|
+
/* Creating relations
|
|
22
|
+
* 1) users_domains table
|
|
23
|
+
* 2) users_roles table
|
|
24
|
+
*/
|
|
25
|
+
await createRelations(tx, domain, user.email);
|
|
26
|
+
return domain;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
async function createRelations(tx, domain, email) {
|
|
30
|
+
const userRepo = tx.getRepository(auth_base_1.User);
|
|
31
|
+
const user = await userRepo.findOne({ where: { email: (0, typeorm_1.ILike)(email) }, relations: ['domains', 'roles'] });
|
|
32
|
+
const roleRepo = tx.getRepository(auth_base_1.Role);
|
|
33
|
+
const role = await roleRepo.findOne({ where: { domain: { id: domain.id } }, relations: ['domain'] });
|
|
34
|
+
const privilegeRepo = tx.getRepository(auth_base_1.Privilege);
|
|
35
|
+
const privileges = await privilegeRepo.find();
|
|
36
|
+
const domains = user.domains;
|
|
37
|
+
domains.push(domain);
|
|
38
|
+
user.domains = domains;
|
|
39
|
+
const roles = await user.roles;
|
|
40
|
+
roles.push(role);
|
|
41
|
+
user.roles = roles;
|
|
42
|
+
role.privileges = privileges;
|
|
43
|
+
await userRepo.save(user);
|
|
44
|
+
await roleRepo.save(role);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=update-domain-extType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-domain-extType.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/generators/update-domain-extType.ts"],"names":[],"mappings":";;;AAAA,qCAA0D;AAE1D,yDAAiE;AACjE,iDAA8C;AAE9C,oFAA0G;AAC1G,6HAAsH;AAEzG,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,gBAAgB,CAAC,CAAM,EAAE,EAAE,eAAe,EAAE,EAAE,OAAwB;QAC1E,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAClC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAoC,eAAe,CAAA;QAExE,IAAI,MAAM,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9E,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;QAExB,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpD,MAAM,IAAA,4DAA2B,EAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAA,gCAAS,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,IAAA,gCAAS,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,IAAA,mCAAY,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC9B,MAAM,IAAA,iCAAU,EAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE5B;;;WAGG;QACH,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAE7C,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED,KAAK,UAAU,eAAe,CAAC,EAAiB,EAAE,MAAc,EAAE,KAAa;IAC7E,MAAM,QAAQ,GAAqB,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAA;IACzD,MAAM,IAAI,GAAS,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IAC9G,MAAM,QAAQ,GAAqB,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAA;IACzD,MAAM,IAAI,GAAS,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1G,MAAM,aAAa,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;IACxE,MAAM,UAAU,GAAgB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;IAE1D,MAAM,OAAO,GAAa,IAAI,CAAC,OAAO,CAAA;IACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAEtB,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,KAAK,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAElB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAE5B,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import { EntityManager, ILike, Repository } from 'typeorm'\n\nimport { Privilege, Role, User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { initCodes, initGroups, initMenus, initSettings } from '../../../controllers/bizplace-initializer'\nimport { generateBizplaceDomainRoles } from '../../../controllers/bizplace-initializer/generate-bizplace-domain-roles'\n\nexport const updateDomainExtType = {\n async updateDomainType(_: any, { domainTypeInput }, context: ResolverContext) {\n const { tx, user } = context.state\n const { id, extType }: { id: string; extType: string } = domainTypeInput\n\n let domain: Domain = await tx.getRepository(Domain).findOne({ where: { id } })\n domain.extType = extType\n\n domain = await tx.getRepository(Domain).save(domain)\n\n await generateBizplaceDomainRoles(domain, tx)\n await initMenus(tx, domain)\n await initCodes(tx, domain)\n await initSettings(tx, domain)\n await initGroups(tx, domain)\n\n /* Creating relations\n * 1) users_domains table\n * 2) users_roles table\n */\n await createRelations(tx, domain, user.email)\n\n return domain\n }\n}\n\nasync function createRelations(tx: EntityManager, domain: Domain, email: string) {\n const userRepo: Repository<User> = tx.getRepository(User)\n const user: User = await userRepo.findOne({ where: { email: ILike(email) }, relations: ['domains', 'roles'] })\n const roleRepo: Repository<Role> = tx.getRepository(Role)\n const role: Role = await roleRepo.findOne({ where: { domain: { id: domain.id } }, relations: ['domain'] })\n const privilegeRepo: Repository<Privilege> = tx.getRepository(Privilege)\n const privileges: Privilege[] = await privilegeRepo.find()\n\n const domains: Domain[] = user.domains\n domains.push(domain)\n user.domains = domains\n\n const roles: Role[] = await user.roles\n roles.push(role)\n user.roles = roles\n\n role.privileges = privileges\n\n await userRepo.save(user)\n await roleRepo.save(role)\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mutations = exports.queries = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const Generators = tslib_1.__importStar(require("./generators"));
|
|
6
|
+
const Oauth2 = tslib_1.__importStar(require("./oauth2"));
|
|
7
|
+
const Invitations = tslib_1.__importStar(require("./invitations"));
|
|
8
|
+
const Synchronization = tslib_1.__importStar(require("./synchronization"));
|
|
9
|
+
exports.queries = [Synchronization.Query, Oauth2.Query];
|
|
10
|
+
exports.mutations = [Generators.Mutation, Invitations.Mutation, Synchronization.Mutation];
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;AAAA,iEAA0C;AAC1C,yDAAkC;AAClC,mEAA4C;AAC5C,2EAAoD;AAEvC,QAAA,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;AAE/C,QAAA,SAAS,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA","sourcesContent":["import * as Generators from './generators'\nimport * as Oauth2 from './oauth2'\nimport * as Invitations from './invitations'\nimport * as Synchronization from './synchronization'\n\nexport const queries = [Synchronization.Query, Oauth2.Query]\n\nexport const mutations = [Generators.Mutation, Invitations.Mutation, Synchronization.Mutation]\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const partner_invitation_1 = require("./partner-invitation");
|
|
5
|
+
exports.Mutation = Object.assign({}, partner_invitation_1.partnerInvitationResolver);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/invitations/index.ts"],"names":[],"mappings":";;;AAAA,6DAAgE;AAEnD,QAAA,QAAQ,qBAChB,8CAAyB,EAC7B","sourcesContent":["import { partnerInvitationResolver } from './partner-invitation'\n\nexport const Mutation = {\n ...partnerInvitationResolver\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.partnerInvitationResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
exports.partnerInvitationResolver = {
|
|
8
|
+
async partnerInvitation(_, { bizplaceName }, context) {
|
|
9
|
+
const { domain, user } = context.state;
|
|
10
|
+
// Check whether bizplace exists or not
|
|
11
|
+
const partnerBizplace = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
12
|
+
where: {
|
|
13
|
+
name: (0, typeorm_1.Raw)(alias => `LOWER(${alias}) LIKE '${bizplaceName.toLowerCase()}'`)
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const partnerDomain = await (0, shell_1.getRepository)(shell_1.Domain).findOne({
|
|
17
|
+
where: {
|
|
18
|
+
name: partnerBizplace.name
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
if (partnerDomain && partnerDomain.extType === 'company') {
|
|
22
|
+
throw new Error(context.t('error.business cannot be invited.'));
|
|
23
|
+
}
|
|
24
|
+
if (!partnerBizplace) {
|
|
25
|
+
throw new Error(context.t('error.failed to find x', { x: context.t('field.bizplace') }));
|
|
26
|
+
}
|
|
27
|
+
if (domain.name === partnerBizplace.name) {
|
|
28
|
+
throw new Error(context.t('error.failed to find x', { x: context.t('field.bizplace') }));
|
|
29
|
+
}
|
|
30
|
+
const domainBizplace = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
31
|
+
where: { domain: { id: domain.id } }
|
|
32
|
+
});
|
|
33
|
+
if (!domainBizplace) {
|
|
34
|
+
throw new Error(context.t('error.failed to find x', { x: 'domain bizplace' }));
|
|
35
|
+
}
|
|
36
|
+
// Check whether the bizplace is partner already or not
|
|
37
|
+
const partner = await (0, shell_1.getRepository)(biz_base_1.Partner).findOne({
|
|
38
|
+
where: { domainBizplace: { id: domainBizplace.id }, partnerBizplace: { id: partnerBizplace.id } }
|
|
39
|
+
});
|
|
40
|
+
if (partner) {
|
|
41
|
+
throw new Error(context.t('error.x already exists in y', { x: partnerBizplace.name, y: context.t('field.partner') }));
|
|
42
|
+
}
|
|
43
|
+
let newPartner = new biz_base_1.Partner();
|
|
44
|
+
newPartner.type = 'CUSTOMER';
|
|
45
|
+
newPartner.domainBizplace = domainBizplace;
|
|
46
|
+
newPartner.partnerBizplace = partnerBizplace;
|
|
47
|
+
newPartner.requester = user;
|
|
48
|
+
newPartner.approver = user;
|
|
49
|
+
await (0, shell_1.getRepository)(biz_base_1.Partner).save(newPartner);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=partner-invitation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partner-invitation.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/invitations/partner-invitation.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAE7B,uDAA4D;AAC5D,iDAA6D;AAEhD,QAAA,yBAAyB,GAAG;IACvC,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,YAAY,EAA4B,EAAE,OAAwB;QAClG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,uCAAuC;QACvC,MAAM,eAAe,GAAa,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;YACtE,KAAK,EAAE;gBACL,IAAI,EAAE,IAAA,aAAG,EAAC,KAAK,CAAC,EAAE,CAAC,SAAS,KAAK,WAAW,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;aAC3E;SACF,CAAC,CAAA;QAEF,MAAM,aAAa,GAAW,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC;YAChE,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B;SACF,CAAC,CAAA;QAEF,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;SACzF;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;SACzF;QAED,MAAM,cAAc,GAAa,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;SACrC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;SAC/E;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAY,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE;SAClG,CAAC,CAAA;QAEF,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6BAA6B,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CACrG,CAAA;SACF;QAED,IAAI,UAAU,GAAY,IAAI,kBAAO,EAAE,CAAA;QACvC,UAAU,CAAC,IAAI,GAAG,UAAU,CAAA;QAC5B,UAAU,CAAC,cAAc,GAAG,cAAc,CAAA;QAC1C,UAAU,CAAC,eAAe,GAAG,eAAe,CAAA;QAC5C,UAAU,CAAC,SAAS,GAAG,IAAI,CAAA;QAC3B,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,MAAM,IAAA,qBAAa,EAAC,kBAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA","sourcesContent":["import { Raw } from 'typeorm'\n\nimport { Bizplace, Partner } from '@things-factory/biz-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport const partnerInvitationResolver = {\n async partnerInvitation(_: any, { bizplaceName }: { bizplaceName: string }, context: ResolverContext): Promise<void> {\n const { domain, user } = context.state\n\n // Check whether bizplace exists or not\n const partnerBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: {\n name: Raw(alias => `LOWER(${alias}) LIKE '${bizplaceName.toLowerCase()}'`)\n }\n })\n\n const partnerDomain: Domain = await getRepository(Domain).findOne({\n where: {\n name: partnerBizplace.name\n }\n })\n\n if (partnerDomain && partnerDomain.extType === 'company') {\n throw new Error(context.t('error.business cannot be invited.'))\n }\n\n if (!partnerBizplace) {\n throw new Error(context.t('error.failed to find x', { x: context.t('field.bizplace') }))\n }\n\n if (domain.name === partnerBizplace.name) {\n throw new Error(context.t('error.failed to find x', { x: context.t('field.bizplace') }))\n }\n\n const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: { id: domain.id } }\n })\n\n if (!domainBizplace) {\n throw new Error(context.t('error.failed to find x', { x: 'domain bizplace' }))\n }\n\n // Check whether the bizplace is partner already or not\n const partner: Partner = await getRepository(Partner).findOne({\n where: { domainBizplace: { id: domainBizplace.id }, partnerBizplace: { id: partnerBizplace.id } }\n })\n\n if (partner) {\n throw new Error(\n context.t('error.x already exists in y', { x: partnerBizplace.name, y: context.t('field.partner') })\n )\n }\n\n let newPartner: Partner = new Partner()\n newPartner.type = 'CUSTOMER'\n newPartner.domainBizplace = domainBizplace\n newPartner.partnerBizplace = partnerBizplace\n newPartner.requester = user\n newPartner.approver = user\n await getRepository(Partner).save(newPartner)\n }\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.companyRolesByScopeResolver = void 0;
|
|
4
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
|
+
exports.companyRolesByScopeResolver = {
|
|
7
|
+
async companyRolesByScope(_, { scope }, context) {
|
|
8
|
+
let { user } = context.state;
|
|
9
|
+
const userDomains = await (0, auth_base_1.getUserDomains)(user);
|
|
10
|
+
const availableDomains = userDomains.filter((domain) => scope.indexOf(domain.extType) >= 0);
|
|
11
|
+
const availableDomainIDs = availableDomains.map((domain) => domain.id);
|
|
12
|
+
user = await (0, shell_1.getRepository)(auth_base_1.User).findOne({
|
|
13
|
+
where: { id: user.id },
|
|
14
|
+
relations: ['roles', 'roles.domain']
|
|
15
|
+
});
|
|
16
|
+
const availableRoles = user.roles.filter((role) => availableDomainIDs.indexOf(role.domain.id) >= 0);
|
|
17
|
+
const companyRoleMap = new Map();
|
|
18
|
+
availableRoles.forEach((role) => {
|
|
19
|
+
if (companyRoleMap.has(role.domain.id)) {
|
|
20
|
+
companyRoleMap.get(role.domain.id).push(role);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
companyRoleMap.set(role.domain.id, [role]);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
let companyRoles = [];
|
|
27
|
+
companyRoleMap.forEach((roles) => {
|
|
28
|
+
companyRoles.push({ domain: roles[0].domain, roles });
|
|
29
|
+
});
|
|
30
|
+
return companyRoles;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=company-roles-by-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"company-roles-by-scope.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2/company-roles-by-scope.ts"],"names":[],"mappings":";;;AAAA,yDAAsE;AACtE,iDAA6D;AAOhD,QAAA,2BAA2B,GAAG;IACzC,KAAK,CAAC,mBAAmB,CAAC,CAAO,EAAE,EAAE,KAAK,EAAuB,EAAE,OAAwB;QACzF,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC5B,MAAM,WAAW,GAAsB,MAAM,IAAA,0BAAc,EAAC,IAAI,CAAC,CAAA;QACjE,MAAM,gBAAgB,GAAsB,WAAW,CAAC,MAAM,CAC5D,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CACvD,CAAA;QACD,MAAM,kBAAkB,GAAa,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC;YACvC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,cAAc,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjH,MAAM,cAAc,GAAwB,IAAI,GAAG,EAAkB,CAAA;QACrE,cAAc,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;YACpC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACtC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC9C;iBAAM;gBACL,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;aAC3C;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,YAAY,GAAkB,EAAE,CAAA;QACpC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QAEF,OAAO,YAAY,CAAA;IACrB,CAAC;CACF,CAAA","sourcesContent":["import { getUserDomains, Role, User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\ntype CompanyRole = {\n domain: Domain\n roles: Role[]\n}\n\nexport const companyRolesByScopeResolver = {\n async companyRolesByScope(_: void, { scope }: { scope: string[] }, context: ResolverContext): Promise<CompanyRole[]> {\n let { user } = context.state\n const userDomains: Partial<Domain>[] = await getUserDomains(user)\n const availableDomains: Partial<Domain>[] = userDomains.filter(\n (domain: Domain) => scope.indexOf(domain.extType) >= 0\n )\n const availableDomainIDs: string[] = availableDomains.map((domain: Domain) => domain.id)\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles', 'roles.domain']\n })\n\n const availableRoles: Role[] = user.roles.filter((role: Role) => availableDomainIDs.indexOf(role.domain.id) >= 0)\n\n const companyRoleMap: Map<string, Role[]> = new Map<string, Role[]>()\n availableRoles.forEach((role: Role) => {\n if (companyRoleMap.has(role.domain.id)) {\n companyRoleMap.get(role.domain.id).push(role)\n } else {\n companyRoleMap.set(role.domain.id, [role])\n }\n })\n\n let companyRoles: CompanyRole[] = []\n companyRoleMap.forEach((roles: Role[]) => {\n companyRoles.push({ domain: roles[0].domain, roles })\n })\n\n return companyRoles\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Query = void 0;
|
|
4
|
+
const company_roles_by_scope_1 = require("./company-roles-by-scope");
|
|
5
|
+
exports.Query = Object.assign({}, company_roles_by_scope_1.companyRolesByScopeResolver);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/oauth2/index.ts"],"names":[],"mappings":";;;AAAA,qEAAsE;AAEzD,QAAA,KAAK,qBACb,oDAA2B,EAC/B","sourcesContent":["import { companyRolesByScopeResolver } from './company-roles-by-scope'\n\nexport const Query = {\n ...companyRolesByScopeResolver\n}\n"]}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.autoUpdateAllMarketplaceProductVariationQuantityResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const env_1 = require("@things-factory/env");
|
|
6
|
+
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
7
|
+
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
8
|
+
const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
9
|
+
const product_base_1 = require("@things-factory/product-base");
|
|
10
|
+
const shell_1 = require("@things-factory/shell");
|
|
11
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
12
|
+
exports.autoUpdateAllMarketplaceProductVariationQuantityResolver = {
|
|
13
|
+
async autoUpdateAllMarketplaceProductVariationQuantity(_, { companyDomainId, warehouseId }, context) {
|
|
14
|
+
const companyDomain = await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(companyDomainId);
|
|
15
|
+
const marketplaceStores = await (0, typeorm_1.getRepository)(integration_marketplace_1.MarketplaceStore).find({
|
|
16
|
+
where: { domain: { id: companyDomain.id }, status: 'ACTIVE' },
|
|
17
|
+
relations: ['marketplaceDistributors']
|
|
18
|
+
});
|
|
19
|
+
const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
|
|
20
|
+
const centerId = fulfilmentCenter.centerId;
|
|
21
|
+
const warehouseDomain = await (0, typeorm_1.getRepository)(shell_1.Domain).findOne({ where: { subdomain: centerId } });
|
|
22
|
+
let products = await (0, typeorm_1.getRepository)(product_base_1.Product).find({
|
|
23
|
+
where: { domain: { id: companyDomain.id } },
|
|
24
|
+
relations: ['productDetails']
|
|
25
|
+
});
|
|
26
|
+
let inventoryProducts = await Promise.all(products.map(async (product) => {
|
|
27
|
+
const productDetails = product.productDetails;
|
|
28
|
+
const defaultProductDetail = productDetails.filter(productDetail => productDetail.isDefault)[0];
|
|
29
|
+
let qb = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).createQueryBuilder('inv');
|
|
30
|
+
qb.leftJoinAndSelect('inv.location', 'loc')
|
|
31
|
+
.andWhere('"inv"."domain_id" = :domainId')
|
|
32
|
+
.andWhere('"inv"."product_id" = :productId')
|
|
33
|
+
.andWhere('"inv"."status" != :status')
|
|
34
|
+
.andWhere('"loc"."type" NOT IN (:...locationTypes)')
|
|
35
|
+
.setParameters({
|
|
36
|
+
domainId: warehouseDomain.id,
|
|
37
|
+
productId: product.id,
|
|
38
|
+
status: warehouse_base_1.INVENTORY_STATUS.TERMINATED,
|
|
39
|
+
locationTypes: [warehouse_base_1.LOCATION_TYPE.QUARANTINE, warehouse_base_1.LOCATION_TYPE.RESERVE]
|
|
40
|
+
});
|
|
41
|
+
let inventories = await qb.getMany();
|
|
42
|
+
const inventoryQty = inventories.reduce((total, currentValue) => {
|
|
43
|
+
total += currentValue.qty;
|
|
44
|
+
return total;
|
|
45
|
+
}, 0);
|
|
46
|
+
const inventoryLockedQty = inventories.reduce((total, currentValue) => {
|
|
47
|
+
total += currentValue.lockedQty;
|
|
48
|
+
return total;
|
|
49
|
+
}, 0);
|
|
50
|
+
return {
|
|
51
|
+
product,
|
|
52
|
+
sku: product.sku,
|
|
53
|
+
name: product.name,
|
|
54
|
+
packingType: defaultProductDetail.packingType,
|
|
55
|
+
packingSize: defaultProductDetail.packingSize,
|
|
56
|
+
uom: defaultProductDetail.uom,
|
|
57
|
+
qty: inventoryQty - inventoryLockedQty
|
|
58
|
+
};
|
|
59
|
+
}));
|
|
60
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
61
|
+
let bundleProductInventories = await (0, warehouse_base_1.getProductBundleInventory)(warehouseDomain, companyDomain, inventoryProducts, tx);
|
|
62
|
+
bundleProductInventories.map(bundleProductInventory => {
|
|
63
|
+
inventoryProducts.push(bundleProductInventory);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
for (let i = 0; i < marketplaceStores.length; i++) {
|
|
67
|
+
try {
|
|
68
|
+
const marketplaceStore = marketplaceStores[i];
|
|
69
|
+
const marketplaceSetting = await (0, typeorm_1.getRepository)(integration_marketplace_1.MarketplaceSetting).findOne({
|
|
70
|
+
where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }
|
|
71
|
+
});
|
|
72
|
+
for (let j = 0; j < inventoryProducts.length; j++) {
|
|
73
|
+
try {
|
|
74
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
const inventoryProduct = inventoryProducts[j];
|
|
77
|
+
const marketplaceProductVariations = await tx
|
|
78
|
+
.getRepository(marketplace_base_1.MarketplaceProductVariation)
|
|
79
|
+
.find({
|
|
80
|
+
where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },
|
|
81
|
+
relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']
|
|
82
|
+
});
|
|
83
|
+
let storeProductVariations = marketplaceProductVariations.filter(productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id);
|
|
84
|
+
let percentageValue = 100;
|
|
85
|
+
if (storeProductVariations) {
|
|
86
|
+
for (let k = 0; k < storeProductVariations.length; k++) {
|
|
87
|
+
let storeProductVariation = storeProductVariations[k];
|
|
88
|
+
if (marketplaceSetting) {
|
|
89
|
+
percentageValue = parseInt(marketplaceSetting.value);
|
|
90
|
+
}
|
|
91
|
+
let remainQty = Math.floor((inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100));
|
|
92
|
+
if (remainQty < 0)
|
|
93
|
+
remainQty = 0;
|
|
94
|
+
let productVariationLocationId = storeProductVariation === null || storeProductVariation === void 0 ? void 0 : storeProductVariation.locationId;
|
|
95
|
+
let adjustQty = remainQty;
|
|
96
|
+
if (marketplaceStore.platform === 'shopify') {
|
|
97
|
+
let locationIds = JSON.parse(productVariationLocationId);
|
|
98
|
+
adjustQty = adjustQty - storeProductVariation.qty;
|
|
99
|
+
if ((_a = locationIds[0]) === null || _a === void 0 ? void 0 : _a.location_id)
|
|
100
|
+
productVariationLocationId = locationIds[0].location_id;
|
|
101
|
+
}
|
|
102
|
+
let validMarketplaceDistributors = [];
|
|
103
|
+
if (marketplaceStore.marketplaceDistributors) {
|
|
104
|
+
validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(distributor => distributor.status === 'ACTIVE');
|
|
105
|
+
}
|
|
106
|
+
const hasVariation = (_b = storeProductVariation === null || storeProductVariation === void 0 ? void 0 : storeProductVariation.marketplaceProduct) === null || _b === void 0 ? void 0 : _b.hasVariation;
|
|
107
|
+
if (hasVariation) {
|
|
108
|
+
await integration_marketplace_1.StoreAPI.updateStoreProductVariationStock(marketplaceStore, [
|
|
109
|
+
{
|
|
110
|
+
itemId: storeProductVariation.marketplaceProduct.itemId,
|
|
111
|
+
variationId: storeProductVariation.variationId,
|
|
112
|
+
variationSku: storeProductVariation.variationSku,
|
|
113
|
+
qty: adjustQty,
|
|
114
|
+
locationId: productVariationLocationId,
|
|
115
|
+
inventoryItemId: storeProductVariation.inventoryItemId,
|
|
116
|
+
distributors: validMarketplaceDistributors
|
|
117
|
+
}
|
|
118
|
+
]);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
await integration_marketplace_1.StoreAPI.updateStoreProductStock(marketplaceStore, [
|
|
122
|
+
{
|
|
123
|
+
itemId: storeProductVariation.marketplaceProduct.itemId,
|
|
124
|
+
variationId: storeProductVariation.variationId,
|
|
125
|
+
variationSku: storeProductVariation.variationSku,
|
|
126
|
+
qty: adjustQty,
|
|
127
|
+
distributors: validMarketplaceDistributors
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
}
|
|
131
|
+
storeProductVariation.qty = remainQty;
|
|
132
|
+
await tx.getRepository(marketplace_base_1.MarketplaceProductVariation).save(storeProductVariation);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
env_1.logger.error(`interface-with-hub[autoUpdateAllMarketplaceProductVariationQuantity]inventoryProducts: ${error}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
env_1.logger.error(`interface-with-hub[autoUpdateAllMarketplaceProductVariationQuantity]marketplaceStores: ${e}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=auto-update-all-marketplace-product-variation-quantity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-update-all-marketplace-product-variation-quantity.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts"],"names":[],"mappings":"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","sourcesContent":["import { getConnection, getRepository } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { FulfillmentAPI } from '@things-factory/integration-fulfillment'\nimport { MarketplaceSetting, MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport { MarketplaceProductVariation } from '@things-factory/marketplace-base'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport { Domain } from '@things-factory/shell'\nimport { getProductBundleInventory, Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nexport const autoUpdateAllMarketplaceProductVariationQuantityResolver = {\n async autoUpdateAllMarketplaceProductVariationQuantity(_: any, { companyDomainId, warehouseId }, context: any) {\n const companyDomain: Domain = await getRepository(Domain).findOne(companyDomainId)\n\n const marketplaceStores: MarketplaceStore[] = await getRepository(MarketplaceStore).find({\n where: { domain: { id: companyDomain.id }, status: 'ACTIVE' },\n relations: ['marketplaceDistributors']\n })\n\n const fulfilmentCenter = await FulfillmentAPI.getFulfillmentCenter(warehouseId)\n const centerId: string = fulfilmentCenter.centerId\n const warehouseDomain: Domain = await getRepository(Domain).findOne({ where: { subdomain: centerId } })\n\n let products: Product[] = await getRepository(Product).find({\n where: { domain: { id: companyDomain.id } },\n relations: ['productDetails']\n })\n\n let inventoryProducts: any[] = await Promise.all(\n products.map(async product => {\n const productDetails: ProductDetail[] = product.productDetails\n const defaultProductDetail: ProductDetail = productDetails.filter(productDetail => productDetail.isDefault)[0]\n\n let qb = await getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" != :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: warehouseDomain.id,\n productId: product.id,\n status: INVENTORY_STATUS.TERMINATED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n const inventoryQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.qty\n return total\n }, 0)\n\n const inventoryLockedQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.lockedQty\n return total\n }, 0)\n\n return {\n product,\n sku: product.sku,\n name: product.name,\n packingType: defaultProductDetail.packingType,\n packingSize: defaultProductDetail.packingSize,\n uom: defaultProductDetail.uom,\n qty: inventoryQty - inventoryLockedQty\n }\n })\n )\n\n await getConnection().transaction(async tx => {\n let bundleProductInventories: any[] = await getProductBundleInventory(\n warehouseDomain,\n companyDomain,\n inventoryProducts,\n tx\n )\n\n bundleProductInventories.map(bundleProductInventory => {\n inventoryProducts.push(bundleProductInventory)\n })\n })\n\n for (let i = 0; i < marketplaceStores.length; i++) {\n try {\n const marketplaceStore: MarketplaceStore = marketplaceStores[i]\n\n const marketplaceSetting: MarketplaceSetting = await getRepository(MarketplaceSetting).findOne({\n where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }\n })\n\n for (let j = 0; j < inventoryProducts.length; j++) {\n try {\n await getConnection().transaction(async tx => {\n const inventoryProduct = inventoryProducts[j]\n const marketplaceProductVariations: MarketplaceProductVariation[] = await tx\n .getRepository(MarketplaceProductVariation)\n .find({\n where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },\n relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']\n })\n\n let storeProductVariations: MarketplaceProductVariation[] = marketplaceProductVariations.filter(\n productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id\n )\n\n let percentageValue: number = 100\n if (storeProductVariations) {\n for (let k = 0; k < storeProductVariations.length; k++) {\n let storeProductVariation: MarketplaceProductVariation = storeProductVariations[k]\n if (marketplaceSetting) {\n percentageValue = parseInt(marketplaceSetting.value)\n }\n\n let remainQty: number = Math.floor(\n (inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100)\n )\n if (remainQty < 0) remainQty = 0\n\n let productVariationLocationId = storeProductVariation?.locationId\n let adjustQty: number = remainQty\n\n if (marketplaceStore.platform === 'shopify') {\n let locationIds: any[] = JSON.parse(productVariationLocationId)\n adjustQty = adjustQty - storeProductVariation.qty\n if (locationIds[0]?.location_id) productVariationLocationId = locationIds[0].location_id\n }\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n const hasVariation: boolean = storeProductVariation?.marketplaceProduct?.hasVariation\n\n if (hasVariation) {\n await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [\n {\n itemId: storeProductVariation.marketplaceProduct.itemId,\n variationId: storeProductVariation.variationId,\n variationSku: storeProductVariation.variationSku,\n qty: adjustQty,\n locationId: productVariationLocationId,\n inventoryItemId: storeProductVariation.inventoryItemId,\n distributors: validMarketplaceDistributors\n }\n ])\n } else {\n await StoreAPI.updateStoreProductStock(marketplaceStore, [\n {\n itemId: storeProductVariation.marketplaceProduct.itemId,\n variationId: storeProductVariation.variationId,\n variationSku: storeProductVariation.variationSku,\n qty: adjustQty,\n distributors: validMarketplaceDistributors\n }\n ])\n }\n\n storeProductVariation.qty = remainQty\n await tx.getRepository(MarketplaceProductVariation).save(storeProductVariation)\n }\n }\n })\n } catch (error) {\n logger.error(\n `interface-with-hub[autoUpdateAllMarketplaceProductVariationQuantity]inventoryProducts: ${error}`\n )\n }\n }\n } catch (e) {\n logger.error(`interface-with-hub[autoUpdateAllMarketplaceProductVariationQuantity]marketplaceStores: ${e}`)\n }\n }\n\n return true\n }\n}\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDatShipments = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const env_1 = require("@things-factory/env");
|
|
7
|
+
const integration_sftp_1 = require("@things-factory/integration-sftp");
|
|
8
|
+
const sales_base_1 = require("@things-factory/sales-base");
|
|
9
|
+
const shell_1 = require("@things-factory/shell");
|
|
10
|
+
exports.createDatShipments = {
|
|
11
|
+
async createDatShipments(_, {}, context) {
|
|
12
|
+
try {
|
|
13
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
14
|
+
const currentTime = new Date();
|
|
15
|
+
const batchSize = 80;
|
|
16
|
+
let sftps = await tx.getRepository(integration_sftp_1.Sftp).find({
|
|
17
|
+
where: { status: 'ACTIVE' },
|
|
18
|
+
relations: ['domain', 'fulfillmentCenter']
|
|
19
|
+
});
|
|
20
|
+
for (let sftp of sftps) {
|
|
21
|
+
let warehouseDomain = await tx.getRepository(shell_1.Domain).findOne({
|
|
22
|
+
where: { subdomain: sftp.fulfillmentCenter.centerId }
|
|
23
|
+
});
|
|
24
|
+
let bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
25
|
+
where: { domain: { id: sftp.domain.id } }
|
|
26
|
+
});
|
|
27
|
+
let releaseGoods = await tx.getRepository(sales_base_1.ReleaseGood).find({
|
|
28
|
+
where: {
|
|
29
|
+
domain: { id: warehouseDomain.id },
|
|
30
|
+
bizplace: { id: bizplace.id },
|
|
31
|
+
status: 'DONE',
|
|
32
|
+
updatedAt: (0, typeorm_1.MoreThan)(sftp.lastTimeSync)
|
|
33
|
+
},
|
|
34
|
+
relations: ['orderInventories', 'orderInventories.product']
|
|
35
|
+
});
|
|
36
|
+
while (releaseGoods.length > 0) {
|
|
37
|
+
let releaseGoodBatch = releaseGoods.splice(0, releaseGoods.length >= batchSize ? batchSize : releaseGoods.length);
|
|
38
|
+
const responseFileTypes = JSON.parse(sftp.responseFileTypes);
|
|
39
|
+
if (releaseGoodBatch.length > 0) {
|
|
40
|
+
if (responseFileTypes.enableShipment) {
|
|
41
|
+
let shipmentResult = await integration_sftp_1.SftpAPI.createShipment(sftp, {
|
|
42
|
+
releaseGoods: releaseGoodBatch,
|
|
43
|
+
sftp: sftp
|
|
44
|
+
});
|
|
45
|
+
shipmentResult.lastTimeSync = currentTime;
|
|
46
|
+
sftp = await tx.getRepository(integration_sftp_1.Sftp).save(shipmentResult);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
env_1.logger.error(`createDatShipment: ${e}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=create-dat-shipments.js.map
|