@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 @@
|
|
|
1
|
+
{"version":3,"file":"create-dat-shipments.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/create-dat-shipments.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AAEjD,uDAAmD;AACnD,6CAA4C;AAC5C,uEAAgE;AAChE,2DAAwD;AACxD,iDAA8C;AAEjC,QAAA,kBAAkB,GAAG;IAChC,KAAK,CAAC,kBAAkB,CAAC,CAAO,EAAE,EAAE,EAAE,OAAwB;QAC5D,IAAI;YACF,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;gBAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;gBAC9B,MAAM,SAAS,GAAG,EAAE,CAAA;gBACpB,IAAI,KAAK,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAI,CAAC,CAAC,IAAI,CAAC;oBACpD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;oBAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;iBAC3C,CAAC,CAAA;gBAEF,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;oBACtB,IAAI,eAAe,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC;wBACnE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;qBACtD,CAAC,CAAA;oBAEF,IAAI,QAAQ,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;wBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE;qBAC1C,CAAC,CAAA;oBAEF,IAAI,YAAY,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC;wBACzE,KAAK,EAAE;4BACL,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE;4BAClC,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;4BAC7B,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,YAAY,CAAC;yBACvC;wBACD,SAAS,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;qBAC5D,CAAC,CAAA;oBAEF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,IAAI,gBAAgB,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,EACD,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CACnE,CAAA;wBAED,MAAM,iBAAiB,GAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;wBAEjE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC/B,IAAI,iBAAiB,CAAC,cAAc,EAAE;gCACpC,IAAI,cAAc,GAAS,MAAM,0BAAO,CAAC,cAAc,CAAC,IAAI,EAAE;oCAC5D,YAAY,EAAE,gBAAgB;oCAC9B,IAAI,EAAE,IAAI;iCACX,CAAC,CAAA;gCACF,cAAc,CAAC,YAAY,GAAG,WAAW,CAAA;gCACzC,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;6BACzD;yBACF;qBACF;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;SACxC;IACH,CAAC;CACF,CAAA","sourcesContent":["import { getConnection, MoreThan } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { Sftp, SftpAPI } from '@things-factory/integration-sftp'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nexport const createDatShipments = {\n async createDatShipments(_: void, {}, context: ResolverContext): Promise<void> {\n try {\n await getConnection().transaction(async tx => {\n const currentTime = new Date()\n const batchSize = 80\n let sftps: Sftp[] = await tx.getRepository(Sftp).find({\n where: { status: 'ACTIVE' },\n relations: ['domain', 'fulfillmentCenter']\n })\n\n for (let sftp of sftps) {\n let warehouseDomain: Domain = await tx.getRepository(Domain).findOne({\n where: { subdomain: sftp.fulfillmentCenter.centerId }\n })\n\n let bizplace: Bizplace = await tx.getRepository(Bizplace).findOne({\n where: { domain: { id: sftp.domain.id } }\n })\n\n let releaseGoods: ReleaseGood[] = await tx.getRepository(ReleaseGood).find({\n where: {\n domain: { id: warehouseDomain.id },\n bizplace: { id: bizplace.id },\n status: 'DONE',\n updatedAt: MoreThan(sftp.lastTimeSync)\n },\n relations: ['orderInventories', 'orderInventories.product']\n })\n\n while (releaseGoods.length > 0) {\n let releaseGoodBatch = releaseGoods.splice(\n 0,\n releaseGoods.length >= batchSize ? batchSize : releaseGoods.length\n )\n\n const responseFileTypes: any = JSON.parse(sftp.responseFileTypes)\n\n if (releaseGoodBatch.length > 0) {\n if (responseFileTypes.enableShipment) {\n let shipmentResult: Sftp = await SftpAPI.createShipment(sftp, {\n releaseGoods: releaseGoodBatch,\n sftp: sftp\n })\n shipmentResult.lastTimeSync = currentTime\n sftp = await tx.getRepository(Sftp).save(shipmentResult)\n }\n }\n }\n }\n })\n } catch (e) {\n logger.error(`createDatShipment: ${e}`)\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccountingInvoices = exports.fetchSyncInvoicesResolver = void 0;
|
|
4
|
+
const integration_accounting_1 = require("@things-factory/integration-accounting");
|
|
5
|
+
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
6
|
+
exports.fetchSyncInvoicesResolver = {
|
|
7
|
+
async fetchSyncInvoices(_, { accountId, warehouseId, customerBizplaceId }, context) {
|
|
8
|
+
try {
|
|
9
|
+
await getAccountingInvoices(accountId, warehouseId, customerBizplaceId);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
throw e;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
async function getAccountingInvoices(accountId, warehouseId, customerBizplaceId) {
|
|
18
|
+
try {
|
|
19
|
+
const accounting = await integration_accounting_1.AccountingAPI.getAccounting(accountId);
|
|
20
|
+
const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
|
|
21
|
+
const invoices = await integration_accounting_1.AccountingAPI.getInvoices(accounting, { Statuses: 'AUTHORISED' });
|
|
22
|
+
for (var i = 0; i < invoices.length; i++) {
|
|
23
|
+
const releaseOrder = invoices[i];
|
|
24
|
+
const existingReleaseOrder = await integration_fulfillment_1.FulfillmentAPI.getOutboundOrder(fulfilmentCenter, {
|
|
25
|
+
customerBizplaceId,
|
|
26
|
+
refNo: releaseOrder.refNo
|
|
27
|
+
});
|
|
28
|
+
if (!existingReleaseOrder) {
|
|
29
|
+
await integration_fulfillment_1.FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {
|
|
30
|
+
customerBizplaceId,
|
|
31
|
+
releaseOrder
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
throw new Error(e.statusText);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.getAccountingInvoices = getAccountingInvoices;
|
|
41
|
+
//# sourceMappingURL=fetch-sync-invoices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-sync-invoices.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/fetch-sync-invoices.ts"],"names":[],"mappings":";;;AAAA,mFAAsE;AACtE,qFAA2F;AAE9E,QAAA,yBAAyB,GAAG;IACvC,KAAK,CAAC,iBAAiB,CACrB,CAAO,EACP,EACE,SAAS,EACT,WAAW,EACX,kBAAkB,EAKnB,EACD,OAAY;QAEZ,IAAI;YACF,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACvE,OAAM;SACP;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,WAAmB,EAAE,kBAA0B;IAC5G,IAAI;QACF,MAAM,UAAU,GAAkB,MAAM,sCAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE9E,MAAM,gBAAgB,GAAsB,MAAM,wCAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAClG,MAAM,QAAQ,GAAU,MAAM,sCAAa,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;QAE/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEhC,MAAM,oBAAoB,GAAG,MAAM,wCAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;gBACnF,kBAAkB;gBAClB,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B,CAAC,CAAA;YAEF,IAAI,CAAC,oBAAoB,EAAE;gBACzB,MAAM,wCAAc,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;oBACzD,kBAAkB;oBAClB,YAAY;iBACb,CAAC,CAAA;aACH;SACF;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KAC9B;AACH,CAAC;AAzBD,sDAyBC","sourcesContent":["import { AccountingAPI } from '@things-factory/integration-accounting'\nimport { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'\n\nexport const fetchSyncInvoicesResolver = {\n async fetchSyncInvoices(\n _: void,\n {\n accountId,\n warehouseId,\n customerBizplaceId\n }: {\n accountId: string\n warehouseId: string\n customerBizplaceId: string\n },\n context: any\n ): Promise<void> {\n try {\n await getAccountingInvoices(accountId, warehouseId, customerBizplaceId)\n return\n } catch (e) {\n throw e\n }\n }\n}\n\nexport async function getAccountingInvoices(accountId: string, warehouseId: string, customerBizplaceId: string) {\n try {\n const accounting: AccountingAPI = await AccountingAPI.getAccounting(accountId)\n\n const fulfilmentCenter: FulfillmentCenter = await FulfillmentAPI.getFulfillmentCenter(warehouseId)\n const invoices: any[] = await AccountingAPI.getInvoices(accounting, { Statuses: 'AUTHORISED' })\n\n for (var i = 0; i < invoices.length; i++) {\n const releaseOrder = invoices[i]\n\n const existingReleaseOrder = await FulfillmentAPI.getOutboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n refNo: releaseOrder.refNo\n })\n\n if (!existingReleaseOrder) {\n await FulfillmentAPI.createOutboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n releaseOrder\n })\n }\n }\n } catch (e) {\n throw new Error(e.statusText)\n }\n}\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccountingProducts = exports.fetchSyncProductsResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const integration_accounting_1 = require("@things-factory/integration-accounting");
|
|
6
|
+
const product_base_1 = require("@things-factory/product-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
const build_map_1 = require("../../../utils/build-map");
|
|
9
|
+
exports.fetchSyncProductsResolver = {
|
|
10
|
+
async fetchSyncProducts(_, { accountId, bizplaceId, pagination }, context) {
|
|
11
|
+
try {
|
|
12
|
+
const platformProducts = await getAccountingProducts(accountId);
|
|
13
|
+
const platformProductsMap = (0, build_map_1.buildMap)(platformProducts, 'sku');
|
|
14
|
+
const bizplace = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
|
|
15
|
+
const bizplaceProducts = await (0, shell_1.getRepository)(product_base_1.Product).find({
|
|
16
|
+
where: { bizplace: { id: bizplace.id } }
|
|
17
|
+
});
|
|
18
|
+
const bizplaceProductsMap = (0, build_map_1.buildMap)(bizplaceProducts, 'sku');
|
|
19
|
+
let items = [];
|
|
20
|
+
if (platformProductsMap.size) {
|
|
21
|
+
platformProductsMap.forEach((platformProduct) => {
|
|
22
|
+
const { sku } = platformProduct;
|
|
23
|
+
let bizplaceProduct = {};
|
|
24
|
+
if (bizplaceProductsMap.has(sku)) {
|
|
25
|
+
bizplaceProduct = bizplaceProductsMap.get(sku);
|
|
26
|
+
bizplaceProductsMap.delete(sku);
|
|
27
|
+
}
|
|
28
|
+
platformProductsMap.delete(sku);
|
|
29
|
+
items.push({
|
|
30
|
+
bizplaceProduct,
|
|
31
|
+
platformProduct
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (bizplaceProductsMap.size) {
|
|
36
|
+
bizplaceProductsMap.forEach((bizplaceProduct) => {
|
|
37
|
+
const { sku } = bizplaceProduct;
|
|
38
|
+
let platformProduct = {};
|
|
39
|
+
if (platformProductsMap.has(sku)) {
|
|
40
|
+
platformProduct = platformProductsMap.get(sku);
|
|
41
|
+
platformProductsMap.delete(sku);
|
|
42
|
+
}
|
|
43
|
+
bizplaceProductsMap.delete(sku);
|
|
44
|
+
items.push({
|
|
45
|
+
bizplaceProduct,
|
|
46
|
+
platformProduct
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const { page, limit } = pagination;
|
|
51
|
+
const startIdx = (page - 1) * limit;
|
|
52
|
+
const endIdx = page * limit;
|
|
53
|
+
const total = items.length;
|
|
54
|
+
items = items.slice(startIdx, endIdx);
|
|
55
|
+
return { items, total };
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
throw e;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
function sortBySku(products) {
|
|
63
|
+
return products.sort((a, b) => {
|
|
64
|
+
if (a.sku > b.sku)
|
|
65
|
+
return 1;
|
|
66
|
+
if (a.sku < b.sku)
|
|
67
|
+
return -1;
|
|
68
|
+
return 0;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async function getAccountingProducts(accountId) {
|
|
72
|
+
try {
|
|
73
|
+
const accounting = await integration_accounting_1.AccountingAPI.getAccounting(accountId);
|
|
74
|
+
return await integration_accounting_1.AccountingAPI.getItems(accounting);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
throw new Error(e.statusText);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.getAccountingProducts = getAccountingProducts;
|
|
81
|
+
//# sourceMappingURL=fetch-sync-products.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-sync-products.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/fetch-sync-products.ts"],"names":[],"mappings":"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","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { AccountingAPI } from '@things-factory/integration-accounting'\nimport { Product } from '@things-factory/product-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { buildMap } from '../../../utils/build-map'\n\nexport const fetchSyncProductsResolver = {\n async fetchSyncProducts(\n _: void,\n {\n accountId,\n bizplaceId,\n pagination\n }: { accountId: string; bizplaceId: string; pagination: { page: number; limit: number } },\n context: any\n ): Promise<{ items: { bizplaceProduct: Product; platformProduct: Product }[]; total: number }> {\n try {\n const platformProducts: Product[] = await getAccountingProducts(accountId)\n const platformProductsMap: Map<string, Product> = buildMap(platformProducts, 'sku')\n\n const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({ id: bizplaceId })\n const bizplaceProducts: Product[] = await getRepository(Product).find({\n where: { bizplace: { id: bizplace.id } }\n })\n const bizplaceProductsMap: Map<string, Product> = buildMap(bizplaceProducts, 'sku')\n\n let items: { bizplaceProduct: Product; platformProduct: Product }[] = []\n\n if (platformProductsMap.size) {\n platformProductsMap.forEach((platformProduct: Product) => {\n const { sku }: Product = platformProduct\n\n let bizplaceProduct: Product = {}\n\n if (bizplaceProductsMap.has(sku)) {\n bizplaceProduct = bizplaceProductsMap.get(sku)\n bizplaceProductsMap.delete(sku)\n }\n\n platformProductsMap.delete(sku)\n\n items.push({\n bizplaceProduct,\n platformProduct\n })\n })\n }\n\n if (bizplaceProductsMap.size) {\n bizplaceProductsMap.forEach((bizplaceProduct: Product) => {\n const { sku }: Product = bizplaceProduct\n\n let platformProduct: Product = {}\n\n if (platformProductsMap.has(sku)) {\n platformProduct = platformProductsMap.get(sku)\n platformProductsMap.delete(sku)\n }\n\n bizplaceProductsMap.delete(sku)\n\n items.push({\n bizplaceProduct,\n platformProduct\n })\n })\n }\n\n const { page, limit }: { page: number; limit: number } = pagination\n const startIdx: number = (page - 1) * limit\n const endIdx: number = page * limit\n\n const total = items.length\n items = items.slice(startIdx, endIdx)\n\n return { items, total }\n } catch (e) {\n throw e\n }\n }\n}\n\nfunction sortBySku(products: Product[]): Product[] {\n return products.sort((a: Product, b: Product) => {\n if (a.sku > b.sku) return 1\n if (a.sku < b.sku) return -1\n return 0\n })\n}\n\nexport async function getAccountingProducts(accountId: string): Promise<Product[]> {\n try {\n const accounting: AccountingAPI = await AccountingAPI.getAccounting(accountId)\n return await AccountingAPI.getItems(accounting)\n } catch (e) {\n throw new Error(e.statusText)\n }\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInboundOrder = exports.getAccountingPurchaseOrders = exports.fetchSyncPurchaseOrdersResolver = void 0;
|
|
4
|
+
const integration_accounting_1 = require("@things-factory/integration-accounting");
|
|
5
|
+
const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
|
|
6
|
+
const env_1 = require("@things-factory/env");
|
|
7
|
+
exports.fetchSyncPurchaseOrdersResolver = {
|
|
8
|
+
async fetchSyncPurchaseOrders(_, { accountId, warehouseId, customerBizplaceId, fromDate, toDate }, context) {
|
|
9
|
+
try {
|
|
10
|
+
await getAccountingPurchaseOrders(accountId, warehouseId, customerBizplaceId, fromDate, toDate);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
env_1.logger.error(`Xero: fetchSyncPurchaseOrders: ${e}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
async function getAccountingPurchaseOrders(accountId, warehouseId, customerBizplaceId, fromDate, toDate) {
|
|
18
|
+
try {
|
|
19
|
+
const accounting = await integration_accounting_1.AccountingAPI.getAccounting(accountId);
|
|
20
|
+
const fulfilmentCenter = await integration_fulfillment_1.FulfillmentAPI.getFulfillmentCenter(warehouseId);
|
|
21
|
+
let parameters = { status: 'AUTHORISED' };
|
|
22
|
+
if (fromDate) {
|
|
23
|
+
if (!toDate)
|
|
24
|
+
throw new Error('From Date setting requires To Date');
|
|
25
|
+
parameters = Object.assign(Object.assign({}, parameters), { DateFrom: fromDate, DateTo: toDate });
|
|
26
|
+
}
|
|
27
|
+
const purchaseOrders = await integration_accounting_1.AccountingAPI.getPurchaseOrders(accounting, Object.assign({}, parameters));
|
|
28
|
+
await createInboundOrder(fulfilmentCenter, purchaseOrders, customerBizplaceId);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
env_1.logger.error(`Xero: getAccountingPurchaseOrders: ${e}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.getAccountingPurchaseOrders = getAccountingPurchaseOrders;
|
|
35
|
+
async function createInboundOrder(fulfilmentCenter, purchaseOrders, customerBizplaceId) {
|
|
36
|
+
for (var i = 0; i < purchaseOrders.length; i++) {
|
|
37
|
+
try {
|
|
38
|
+
const purchaseOrder = purchaseOrders[i];
|
|
39
|
+
const existingArrivalNotice = await integration_fulfillment_1.FulfillmentAPI.getInboundOrder(fulfilmentCenter, {
|
|
40
|
+
customerBizplaceId,
|
|
41
|
+
refNo: purchaseOrder.refNo,
|
|
42
|
+
ganNo: null
|
|
43
|
+
});
|
|
44
|
+
if (!(existingArrivalNotice === null || existingArrivalNotice === void 0 ? void 0 : existingArrivalNotice.id)) {
|
|
45
|
+
await integration_fulfillment_1.FulfillmentAPI.createInboundOrder(fulfilmentCenter, {
|
|
46
|
+
customerBizplaceId,
|
|
47
|
+
purchaseOrder
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
env_1.logger.error(`Xero: createInboundOrder: ${e}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.createInboundOrder = createInboundOrder;
|
|
57
|
+
//# sourceMappingURL=fetch-sync-purchase-orders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-sync-purchase-orders.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.ts"],"names":[],"mappings":";;;AAAA,mFAAsE;AACtE,qFAA2F;AAC3F,6CAA4C;AAE/B,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAC3B,CAAO,EACP,EACE,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACmG,EAC3G,OAAY;QAEZ,IAAI;YACF,MAAM,2BAA2B,CAAC,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;SAChG;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAA;SACpD;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,2BAA2B,CAC/C,SAAiB,EACjB,WAAmB,EACnB,kBAA0B,EAC1B,QAAgB,EAChB,MAAc;IAEd,IAAI;QACF,MAAM,UAAU,GAAkB,MAAM,sCAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE9E,MAAM,gBAAgB,GAAsB,MAAM,wCAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAClG,IAAI,UAAU,GAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QAE9C,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YAClE,UAAU,mCAAQ,UAAU,KAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,CAAA;SACnE;QAED,MAAM,cAAc,GAAU,MAAM,sCAAa,CAAC,iBAAiB,CAAC,UAAU,oBAAO,UAAU,EAAG,CAAA;QAClG,MAAM,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAA;KAC/E;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAA;KACxD;AACH,CAAC;AAvBD,kEAuBC;AAEM,KAAK,UAAU,kBAAkB,CACtC,gBAAmC,EACnC,cAAqB,EACrB,kBAA0B;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,IAAI;YACF,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;YAEvC,MAAM,qBAAqB,GAAG,MAAM,wCAAc,CAAC,eAAe,CAAC,gBAAgB,EAAE;gBACnF,kBAAkB;gBAClB,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;YAEF,IAAI,CAAC,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,EAAE,CAAA,EAAE;gBAC9B,MAAM,wCAAc,CAAC,kBAAkB,CAAC,gBAAgB,EAAE;oBACxD,kBAAkB;oBAClB,aAAa;iBACd,CAAC,CAAA;aACH;SACF;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAA;SAC/C;KACF;AACH,CAAC;AAzBD,gDAyBC","sourcesContent":["import { AccountingAPI } from '@things-factory/integration-accounting'\nimport { FulfillmentAPI, FulfillmentCenter } from '@things-factory/integration-fulfillment'\nimport { logger } from '@things-factory/env'\n\nexport const fetchSyncPurchaseOrdersResolver = {\n async fetchSyncPurchaseOrders(\n _: void,\n {\n accountId,\n warehouseId,\n customerBizplaceId,\n fromDate,\n toDate\n }: { accountId: string; warehouseId: string; customerBizplaceId: string; fromDate: string; toDate: string },\n context: any\n ): Promise<void> {\n try {\n await getAccountingPurchaseOrders(accountId, warehouseId, customerBizplaceId, fromDate, toDate)\n } catch (e) {\n logger.error(`Xero: fetchSyncPurchaseOrders: ${e}`)\n }\n }\n}\n\nexport async function getAccountingPurchaseOrders(\n accountId: string,\n warehouseId: string,\n customerBizplaceId: string,\n fromDate: string,\n toDate: string\n) {\n try {\n const accounting: AccountingAPI = await AccountingAPI.getAccounting(accountId)\n\n const fulfilmentCenter: FulfillmentCenter = await FulfillmentAPI.getFulfillmentCenter(warehouseId)\n let parameters: any = { status: 'AUTHORISED' }\n\n if (fromDate) {\n if (!toDate) throw new Error('From Date setting requires To Date')\n parameters = { ...parameters, DateFrom: fromDate, DateTo: toDate }\n }\n\n const purchaseOrders: any[] = await AccountingAPI.getPurchaseOrders(accounting, { ...parameters })\n await createInboundOrder(fulfilmentCenter, purchaseOrders, customerBizplaceId)\n } catch (e) {\n logger.error(`Xero: getAccountingPurchaseOrders: ${e}`)\n }\n}\n\nexport async function createInboundOrder(\n fulfilmentCenter: FulfillmentCenter,\n purchaseOrders: any[],\n customerBizplaceId: string\n) {\n for (var i = 0; i < purchaseOrders.length; i++) {\n try {\n const purchaseOrder = purchaseOrders[i]\n\n const existingArrivalNotice = await FulfillmentAPI.getInboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n refNo: purchaseOrder.refNo,\n ganNo: null\n })\n\n if (!existingArrivalNotice?.id) {\n await FulfillmentAPI.createInboundOrder(fulfilmentCenter, {\n customerBizplaceId,\n purchaseOrder\n })\n }\n } catch (e) {\n logger.error(`Xero: createInboundOrder: ${e}`)\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = exports.Query = void 0;
|
|
4
|
+
const fetch_sync_invoices_1 = require("./fetch-sync-invoices");
|
|
5
|
+
const fetch_sync_products_1 = require("./fetch-sync-products");
|
|
6
|
+
const fetch_sync_purchase_orders_1 = require("./fetch-sync-purchase-orders");
|
|
7
|
+
const sellercraft_pack_marketplace_order_1 = require("./sellercraft-pack-marketplace-order");
|
|
8
|
+
const sync_all_products_to_sellercraft_1 = require("./sync-all-products-to-sellercraft");
|
|
9
|
+
const sync_products_from_account_1 = require("./sync-products-from-account");
|
|
10
|
+
const sync_products_to_account_1 = require("./sync-products-to-account");
|
|
11
|
+
const sync_products_to_sellercraft_1 = require("./sync-products-to-sellercraft");
|
|
12
|
+
const create_dat_shipments_1 = require("./create-dat-shipments");
|
|
13
|
+
const auto_update_all_marketplace_product_variation_quantity_1 = require("./auto-update-all-marketplace-product-variation-quantity");
|
|
14
|
+
exports.Query = Object.assign(Object.assign(Object.assign({}, fetch_sync_products_1.fetchSyncProductsResolver), fetch_sync_purchase_orders_1.fetchSyncPurchaseOrdersResolver), fetch_sync_invoices_1.fetchSyncInvoicesResolver);
|
|
15
|
+
exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sync_products_to_sellercraft_1.syncProductsToSellercraftResolver), sync_products_from_account_1.syncProductsFromAccountResolver), sync_products_to_account_1.syncProductsToAccountResolver), sync_all_products_to_sellercraft_1.syncAllProductsToSellercraftResolver), sellercraft_pack_marketplace_order_1.sellercraftPackMarketplaceOrderResolver), create_dat_shipments_1.createDatShipments), auto_update_all_marketplace_product_variation_quantity_1.autoUpdateAllMarketplaceProductVariationQuantityResolver);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/index.ts"],"names":[],"mappings":";;;AAAA,+DAAiE;AACjE,+DAAiE;AACjE,6EAA8E;AAC9E,6FAA8F;AAC9F,yFAAyF;AACzF,6EAA8E;AAC9E,yEAA0E;AAC1E,iFAAkF;AAClF,iEAA2D;AAC3D,qIAAmI;AAEtH,QAAA,KAAK,iDACb,+CAAyB,GACzB,4DAA+B,GAC/B,+CAAyB,EAC7B;AAEY,QAAA,QAAQ,yGAChB,gEAAiC,GACjC,4DAA+B,GAC/B,wDAA6B,GAC7B,uEAAoC,GACpC,4EAAuC,GACvC,yCAAkB,GAClB,iHAAwD,EAC5D","sourcesContent":["import { fetchSyncInvoicesResolver } from './fetch-sync-invoices'\nimport { fetchSyncProductsResolver } from './fetch-sync-products'\nimport { fetchSyncPurchaseOrdersResolver } from './fetch-sync-purchase-orders'\nimport { sellercraftPackMarketplaceOrderResolver } from './sellercraft-pack-marketplace-order'\nimport { syncAllProductsToSellercraftResolver } from './sync-all-products-to-sellercraft'\nimport { syncProductsFromAccountResolver } from './sync-products-from-account'\nimport { syncProductsToAccountResolver } from './sync-products-to-account'\nimport { syncProductsToSellercraftResolver } from './sync-products-to-sellercraft'\nimport { createDatShipments } from './create-dat-shipments'\nimport { autoUpdateAllMarketplaceProductVariationQuantityResolver } from './auto-update-all-marketplace-product-variation-quantity'\n\nexport const Query = {\n ...fetchSyncProductsResolver,\n ...fetchSyncPurchaseOrdersResolver,\n ...fetchSyncInvoicesResolver\n}\n\nexport const Mutation = {\n ...syncProductsToSellercraftResolver,\n ...syncProductsFromAccountResolver,\n ...syncProductsToAccountResolver,\n ...syncAllProductsToSellercraftResolver,\n ...sellercraftPackMarketplaceOrderResolver,\n ...createDatShipments,\n ...autoUpdateAllMarketplaceProductVariationQuantityResolver\n}\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sellercraftPackMarketplaceOrderResolver = 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_base_1 = require("@things-factory/integration-base");
|
|
8
|
+
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
9
|
+
const sales_base_1 = require("@things-factory/sales-base");
|
|
10
|
+
exports.sellercraftPackMarketplaceOrderResolver = {
|
|
11
|
+
async sellercraftPackMarketplaceOrder(_, {}, context) {
|
|
12
|
+
try {
|
|
13
|
+
await (0, typeorm_1.getConnection)().transaction(async (tx) => {
|
|
14
|
+
const sellercrafts = await tx
|
|
15
|
+
.getRepository(integration_sellercraft_1.Sellercraft)
|
|
16
|
+
.find({ where: { status: integration_sellercraft_1.SellercraftStatus.ACTIVE }, relations: ['domain'] });
|
|
17
|
+
for (const sellercraft of sellercrafts) {
|
|
18
|
+
try {
|
|
19
|
+
const sellercraftDomain = sellercraft.domain;
|
|
20
|
+
const bizplace = await tx
|
|
21
|
+
.getRepository(biz_base_1.Bizplace)
|
|
22
|
+
.findOne({ where: { domain: { id: sellercraftDomain.id } } });
|
|
23
|
+
let releaseGoodsWithoutPackageId = await tx.getRepository(sales_base_1.ReleaseGood).find({
|
|
24
|
+
where: {
|
|
25
|
+
bizplace: { id: bizplace.id },
|
|
26
|
+
type: 'b2c',
|
|
27
|
+
packageId: (0, typeorm_1.IsNull)(),
|
|
28
|
+
status: (0, typeorm_1.Not)((0, typeorm_1.In)([sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL, sales_base_1.ORDER_STATUS.DONE]))
|
|
29
|
+
},
|
|
30
|
+
relations: ['domain', 'orderProducts', 'orderProducts.product']
|
|
31
|
+
});
|
|
32
|
+
if ((releaseGoodsWithoutPackageId === null || releaseGoodsWithoutPackageId === void 0 ? void 0 : releaseGoodsWithoutPackageId.length) > 0) {
|
|
33
|
+
await Promise.all(releaseGoodsWithoutPackageId.map(async (releaseGood) => {
|
|
34
|
+
const orderProducts = releaseGood.orderProducts;
|
|
35
|
+
let sellercraftOPs = [];
|
|
36
|
+
sellercraftOPs = orderProducts.map(orderProduct => {
|
|
37
|
+
const product = orderProduct.product;
|
|
38
|
+
return {
|
|
39
|
+
sku: product.sku,
|
|
40
|
+
releaseQty: orderProduct.releaseQty,
|
|
41
|
+
uom: 'EA'
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
const orderInformation = {
|
|
45
|
+
accountId: sellercraft.accountId,
|
|
46
|
+
orderId: releaseGood.refNo2,
|
|
47
|
+
sellercraftOPs
|
|
48
|
+
};
|
|
49
|
+
const packageId = await integration_sellercraft_1.SellercraftAPI.packMarketplaceOrder(sellercraft, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.domain, user: null } } }));
|
|
50
|
+
(0, integration_base_1.createPayloadLog)(sellercraft.accountId, `/order/pack`, orderInformation, packageId, context, integration_base_1.PayloadType.EGESTION, 'scheduler');
|
|
51
|
+
if (packageId) {
|
|
52
|
+
await tx.getRepository(sales_base_1.ReleaseGood).update({ id: releaseGood.id }, { packageId: packageId });
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
env_1.logger.error(`sellercraftPackMarketplaceOrder: ${e}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
env_1.logger.error(`sellercraftPackMarketplaceOrder: ${e}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=sellercraft-pack-marketplace-order.js.map
|
package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sellercraft-pack-marketplace-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { getConnection, In, IsNull, Not, Repository } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { logger } from '@things-factory/env'\nimport { createPayloadLog, PayloadType } from '@things-factory/integration-base'\nimport { Sellercraft, SellercraftAPI, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { Product } from '@things-factory/product-base'\nimport { ORDER_STATUS, OrderProduct, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\n\nexport const sellercraftPackMarketplaceOrderResolver = {\n async sellercraftPackMarketplaceOrder(_: void, {}, context: ResolverContext): Promise<void> {\n try {\n await getConnection().transaction(async tx => {\n const sellercrafts: Sellercraft[] = await tx\n .getRepository(Sellercraft)\n .find({ where: { status: SellercraftStatus.ACTIVE }, relations: ['domain'] })\n\n for (const sellercraft of sellercrafts) {\n try {\n const sellercraftDomain: Domain = sellercraft.domain\n const bizplace: Bizplace = await tx\n .getRepository(Bizplace)\n .findOne({ where: { domain: { id: sellercraftDomain.id } } })\n\n let releaseGoodsWithoutPackageId: ReleaseGood[] = await tx.getRepository(ReleaseGood).find({\n where: {\n bizplace: { id: bizplace.id },\n type: 'b2c',\n packageId: IsNull(),\n status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL, ORDER_STATUS.DONE]))\n },\n relations: ['domain', 'orderProducts', 'orderProducts.product']\n })\n\n if (releaseGoodsWithoutPackageId?.length > 0) {\n await Promise.all(\n releaseGoodsWithoutPackageId.map(async releaseGood => {\n const orderProducts: OrderProduct[] = releaseGood.orderProducts\n let sellercraftOPs: any[] = []\n\n sellercraftOPs = orderProducts.map(orderProduct => {\n const product: Product = orderProduct.product\n\n return {\n sku: product.sku,\n releaseQty: orderProduct.releaseQty,\n uom: 'EA'\n }\n })\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n sellercraftOPs\n }\n\n const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {\n ...orderInformation,\n context: { state: { domain: releaseGood?.domain, user: null } }\n })\n\n createPayloadLog(\n sellercraft.accountId,\n `/order/pack`,\n orderInformation,\n packageId,\n context,\n PayloadType.EGESTION,\n 'scheduler'\n )\n\n if (packageId) {\n await (tx.getRepository(ReleaseGood) as Repository<ReleaseGood>).update(\n { id: releaseGood.id },\n { packageId: packageId }\n )\n }\n })\n )\n }\n } catch (e) {\n logger.error(`sellercraftPackMarketplaceOrder: ${e}`)\n }\n }\n })\n } catch (e) {\n logger.error(`sellercraftPackMarketplaceOrder: ${e}`)\n }\n }\n}\n"]}
|
|
@@ -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: { id: companyBizplace.domain.id } }
|
|
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,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE;qBACrD,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: { id: companyBizplace.domain.id } }\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"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncProductsFromAccountResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const product_base_1 = require("@things-factory/product-base");
|
|
6
|
+
const build_map_1 = require("../../../utils/build-map");
|
|
7
|
+
const fetch_sync_products_1 = require("./fetch-sync-products");
|
|
8
|
+
exports.syncProductsFromAccountResolver = {
|
|
9
|
+
async syncProductsFromAccount(_, { accountId, bizplaceId }, context) {
|
|
10
|
+
try {
|
|
11
|
+
const { tx } = context.state;
|
|
12
|
+
let platformProducts = await (0, fetch_sync_products_1.getAccountingProducts)(accountId);
|
|
13
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
|
|
14
|
+
const platformProductsMap = (0, build_map_1.buildMap)(platformProducts, 'sku');
|
|
15
|
+
let bizplaceProducts = await tx
|
|
16
|
+
.getRepository(product_base_1.Product)
|
|
17
|
+
.find({ where: { bizplace: { id: bizplace.id } } });
|
|
18
|
+
const updateTargetProducts = bizplaceProducts
|
|
19
|
+
.filter(({ sku }) => platformProductsMap.has(sku))
|
|
20
|
+
.map((bizplaceProduct) => {
|
|
21
|
+
const platformProduct = platformProductsMap.get(bizplaceProduct.sku);
|
|
22
|
+
Object.keys(platformProduct).forEach((key) => {
|
|
23
|
+
bizplaceProduct[key] = platformProduct[key] === undefined ? null : platformProduct[key];
|
|
24
|
+
});
|
|
25
|
+
return bizplaceProduct;
|
|
26
|
+
});
|
|
27
|
+
await tx.getRepository(product_base_1.Product).save(updateTargetProducts, { chunk: 500 });
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
throw e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=sync-products-from-account.js.map
|
|
@@ -0,0 +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,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;iBACvC,aAAa,CAAC,sBAAO,CAAC;iBACtB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAErD,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\n .getRepository(Product)\n .find({ where: { bizplace: { id: bizplace.id } } })\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"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncProductsToAccountResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const integration_accounting_1 = require("@things-factory/integration-accounting");
|
|
6
|
+
const product_base_1 = require("@things-factory/product-base");
|
|
7
|
+
const build_map_1 = require("../../../utils/build-map");
|
|
8
|
+
const fetch_sync_products_1 = require("./fetch-sync-products");
|
|
9
|
+
exports.syncProductsToAccountResolver = {
|
|
10
|
+
async syncProductsToAccount(_, { accountId, bizplaceId }, context) {
|
|
11
|
+
try {
|
|
12
|
+
const { tx } = context.state;
|
|
13
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: bizplaceId });
|
|
14
|
+
const bizplaceProducts = await tx
|
|
15
|
+
.getRepository(product_base_1.Product)
|
|
16
|
+
.find({ where: { bizplace: { id: bizplace.id } } });
|
|
17
|
+
let platformProducts = await (0, fetch_sync_products_1.getAccountingProducts)(accountId);
|
|
18
|
+
let platformProductsMap = (0, build_map_1.buildMap)(platformProducts, 'sku');
|
|
19
|
+
const updateTargetProducts = bizplaceProducts.map((bizplaceProduct) => {
|
|
20
|
+
let platformProduct = {};
|
|
21
|
+
if (platformProductsMap.has(bizplaceProduct.sku)) {
|
|
22
|
+
platformProduct = platformProductsMap.get(bizplaceProduct.sku);
|
|
23
|
+
}
|
|
24
|
+
Object.keys(bizplaceProduct).forEach((key) => {
|
|
25
|
+
platformProduct[key] = bizplaceProduct[key];
|
|
26
|
+
});
|
|
27
|
+
return platformProduct;
|
|
28
|
+
});
|
|
29
|
+
const chunkedProducts = splitChunk(updateTargetProducts);
|
|
30
|
+
const accounting = await integration_accounting_1.AccountingAPI.getAccounting(accountId);
|
|
31
|
+
for (let i = 0; i < chunkedProducts.length; i++) {
|
|
32
|
+
const products = chunkedProducts[i];
|
|
33
|
+
const req = context.req;
|
|
34
|
+
req.products = products;
|
|
35
|
+
try {
|
|
36
|
+
await integration_accounting_1.AccountingAPI.updateItems(accounting, req);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
throw new Error(e.statusText);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw e;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
function splitChunk(data, unitCnt = 100) {
|
|
49
|
+
let splitChunk = [];
|
|
50
|
+
while (data.length > 0) {
|
|
51
|
+
splitChunk.push(data.splice(0, unitCnt));
|
|
52
|
+
}
|
|
53
|
+
return splitChunk;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sync-products-to-account.js.map
|
|
@@ -0,0 +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,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;iBACzC,aAAa,CAAC,sBAAO,CAAC;iBACtB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAErD,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\n .getRepository(Product)\n .find({ where: { bizplace: { id: bizplace.id } } })\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"]}
|