@unchainedshop/core 4.0.0-rc.16 → 4.0.0-rc.18
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/lib/bulk-importer/createBulkImporter.d.ts +29 -6
- package/lib/bulk-importer/createBulkImporter.d.ts.map +1 -1
- package/lib/bulk-importer/createBulkImporter.js +26 -19
- package/lib/bulk-importer/createBulkImporter.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/create.d.ts +552 -2
- package/lib/bulk-importer/handlers/assortment/create.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/create.js +32 -5
- package/lib/bulk-importer/handlers/assortment/create.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/remove.d.ts +20 -2
- package/lib/bulk-importer/handlers/assortment/remove.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/remove.js +7 -2
- package/lib/bulk-importer/handlers/assortment/remove.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/update.d.ts +552 -2
- package/lib/bulk-importer/handlers/assortment/update.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/update.js +43 -7
- package/lib/bulk-importer/handlers/assortment/update.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts +23 -3
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js +14 -6
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts +23 -3
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js +15 -6
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts +23 -3
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js +17 -8
- package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts +67 -2
- package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/assortment/upsertMedia.js +18 -4
- package/lib/bulk-importer/handlers/assortment/upsertMedia.js.map +1 -1
- package/lib/bulk-importer/handlers/filter/create.d.ts +125 -0
- package/lib/bulk-importer/handlers/filter/create.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/filter/create.js +22 -0
- package/lib/bulk-importer/handlers/filter/create.js.map +1 -1
- package/lib/bulk-importer/handlers/filter/remove.d.ts +10 -2
- package/lib/bulk-importer/handlers/filter/remove.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/filter/remove.js +4 -0
- package/lib/bulk-importer/handlers/filter/remove.js.map +1 -1
- package/lib/bulk-importer/handlers/filter/update.d.ts +125 -0
- package/lib/bulk-importer/handlers/filter/update.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/filter/update.js +22 -0
- package/lib/bulk-importer/handlers/filter/update.js.map +1 -1
- package/lib/bulk-importer/handlers/product/create.d.ts +1317 -2
- package/lib/bulk-importer/handlers/product/create.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/create.js +87 -8
- package/lib/bulk-importer/handlers/product/create.js.map +1 -1
- package/lib/bulk-importer/handlers/product/remove.d.ts +20 -2
- package/lib/bulk-importer/handlers/product/remove.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/remove.js +5 -0
- package/lib/bulk-importer/handlers/product/remove.js.map +1 -1
- package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts +278 -1
- package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js +64 -3
- package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js.map +1 -1
- package/lib/bulk-importer/handlers/product/update.d.ts +1317 -2
- package/lib/bulk-importer/handlers/product/update.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/update.js +89 -5
- package/lib/bulk-importer/handlers/product/update.js.map +1 -1
- package/lib/bulk-importer/handlers/product/upsertMedia.d.ts +67 -2
- package/lib/bulk-importer/handlers/product/upsertMedia.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/upsertMedia.js +16 -2
- package/lib/bulk-importer/handlers/product/upsertMedia.js.map +1 -1
- package/lib/bulk-importer/handlers/product/upsertVariations.d.ts +73 -2
- package/lib/bulk-importer/handlers/product/upsertVariations.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/product/upsertVariations.js +26 -2
- package/lib/bulk-importer/handlers/product/upsertVariations.js.map +1 -1
- package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts +1 -1
- package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts.map +1 -1
- package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js.map +1 -1
- package/lib/bulk-importer/handlers/utils/event-schema.d.ts +21 -0
- package/lib/bulk-importer/handlers/utils/event-schema.d.ts.map +1 -0
- package/lib/bulk-importer/handlers/utils/event-schema.js +64 -0
- package/lib/bulk-importer/handlers/utils/event-schema.js.map +1 -0
- package/lib/bulk-importer/index.d.ts +4 -0
- package/lib/bulk-importer/index.d.ts.map +1 -0
- package/lib/bulk-importer/index.js +4 -0
- package/lib/bulk-importer/index.js.map +1 -0
- package/lib/bulk-importer/upsertAsset.d.ts +21 -5
- package/lib/bulk-importer/upsertAsset.d.ts.map +1 -1
- package/lib/bulk-importer/upsertAsset.js +8 -0
- package/lib/bulk-importer/upsertAsset.js.map +1 -1
- package/lib/core-index.d.ts +4 -3
- package/lib/core-index.d.ts.map +1 -1
- package/lib/core-index.js +2 -2
- package/lib/core-index.js.map +1 -1
- package/lib/directors/BaseDiscountAdapter.d.ts +4 -4
- package/lib/directors/BaseDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/BaseDiscountAdapter.js +1 -1
- package/lib/directors/BaseDiscountAdapter.js.map +1 -1
- package/lib/directors/BaseDiscountDirector.d.ts +1 -1
- package/lib/directors/BaseDiscountDirector.d.ts.map +1 -1
- package/lib/directors/BaseDiscountDirector.js +1 -1
- package/lib/directors/BaseDiscountDirector.js.map +1 -1
- package/lib/directors/BasePricingAdapter.d.ts +2 -2
- package/lib/directors/BasePricingAdapter.d.ts.map +1 -1
- package/lib/directors/BasePricingDirector.d.ts.map +1 -1
- package/lib/directors/BasePricingDirector.js +3 -3
- package/lib/directors/BasePricingDirector.js.map +1 -1
- package/lib/directors/BasePricingSheet.js.map +1 -1
- package/lib/directors/BaseWorker.js +1 -1
- package/lib/directors/BaseWorker.js.map +1 -1
- package/lib/directors/DeliveryAdapter.d.ts +3 -3
- package/lib/directors/DeliveryAdapter.d.ts.map +1 -1
- package/lib/directors/DeliveryDirector.d.ts +3 -3
- package/lib/directors/DeliveryDirector.d.ts.map +1 -1
- package/lib/directors/DeliveryDirector.js +29 -16
- package/lib/directors/DeliveryDirector.js.map +1 -1
- package/lib/directors/DeliveryPricingAdapter.d.ts +1 -1
- package/lib/directors/DeliveryPricingAdapter.d.ts.map +1 -1
- package/lib/directors/DeliveryPricingDirector.d.ts.map +1 -1
- package/lib/directors/DeliveryPricingDirector.js +3 -4
- package/lib/directors/DeliveryPricingDirector.js.map +1 -1
- package/lib/directors/DeliveryPricingSheet.d.ts.map +1 -1
- package/lib/directors/DeliveryPricingSheet.js +2 -1
- package/lib/directors/DeliveryPricingSheet.js.map +1 -1
- package/lib/directors/EnrollmentAdapter.d.ts +7 -4
- package/lib/directors/EnrollmentAdapter.d.ts.map +1 -1
- package/lib/directors/EnrollmentAdapter.js +1 -4
- package/lib/directors/EnrollmentAdapter.js.map +1 -1
- package/lib/directors/EnrollmentDirector.d.ts +1 -1
- package/lib/directors/EnrollmentDirector.d.ts.map +1 -1
- package/lib/directors/EnrollmentDirector.js +1 -5
- package/lib/directors/EnrollmentDirector.js.map +1 -1
- package/lib/directors/FilterAdapter.d.ts +3 -3
- package/lib/directors/FilterAdapter.d.ts.map +1 -1
- package/lib/directors/FilterDirector.d.ts +1 -1
- package/lib/directors/FilterDirector.d.ts.map +1 -1
- package/lib/directors/FilterDirector.js +1 -1
- package/lib/directors/FilterDirector.js.map +1 -1
- package/lib/directors/MessagingDirector.d.ts +1 -1
- package/lib/directors/OrderDiscountAdapter.d.ts +1 -1
- package/lib/directors/OrderDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/OrderDiscountAdapter.js.map +1 -1
- package/lib/directors/OrderPricingAdapter.d.ts +2 -2
- package/lib/directors/OrderPricingAdapter.d.ts.map +1 -1
- package/lib/directors/OrderPricingDirector.d.ts +2 -2
- package/lib/directors/OrderPricingDirector.d.ts.map +1 -1
- package/lib/directors/OrderPricingDirector.js +1 -1
- package/lib/directors/OrderPricingDirector.js.map +1 -1
- package/lib/directors/OrderPricingSheet.d.ts.map +1 -1
- package/lib/directors/OrderPricingSheet.js +2 -1
- package/lib/directors/OrderPricingSheet.js.map +1 -1
- package/lib/directors/PaymentAdapter.d.ts +2 -2
- package/lib/directors/PaymentAdapter.d.ts.map +1 -1
- package/lib/directors/PaymentDirector.d.ts +4 -4
- package/lib/directors/PaymentDirector.d.ts.map +1 -1
- package/lib/directors/PaymentDirector.js +22 -4
- package/lib/directors/PaymentDirector.js.map +1 -1
- package/lib/directors/PaymentPricingAdapter.d.ts +2 -2
- package/lib/directors/PaymentPricingAdapter.d.ts.map +1 -1
- package/lib/directors/PaymentPricingDirector.d.ts +1 -1
- package/lib/directors/PaymentPricingDirector.d.ts.map +1 -1
- package/lib/directors/PaymentPricingDirector.js +3 -5
- package/lib/directors/PaymentPricingDirector.js.map +1 -1
- package/lib/directors/PaymentPricingSheet.d.ts.map +1 -1
- package/lib/directors/PaymentPricingSheet.js +2 -1
- package/lib/directors/PaymentPricingSheet.js.map +1 -1
- package/lib/directors/ProductDiscountAdapter.d.ts +1 -1
- package/lib/directors/ProductDiscountAdapter.d.ts.map +1 -1
- package/lib/directors/ProductDiscountAdapter.js.map +1 -1
- package/lib/directors/ProductDiscountConfiguration.d.ts +1 -1
- package/lib/directors/ProductDiscountConfiguration.d.ts.map +1 -1
- package/lib/directors/ProductPricingAdapter.d.ts +1 -1
- package/lib/directors/ProductPricingAdapter.d.ts.map +1 -1
- package/lib/directors/ProductPricingDirector.d.ts +2 -2
- package/lib/directors/ProductPricingDirector.d.ts.map +1 -1
- package/lib/directors/ProductPricingDirector.js +3 -3
- package/lib/directors/ProductPricingDirector.js.map +1 -1
- package/lib/directors/ProductPricingSheet.d.ts +2 -2
- package/lib/directors/ProductPricingSheet.d.ts.map +1 -1
- package/lib/directors/ProductPricingSheet.js +2 -1
- package/lib/directors/ProductPricingSheet.js.map +1 -1
- package/lib/directors/QuotationAdapter.d.ts +2 -2
- package/lib/directors/QuotationAdapter.d.ts.map +1 -1
- package/lib/directors/QuotationDirector.js +2 -2
- package/lib/directors/WarehousingAdapter.d.ts +3 -4
- package/lib/directors/WarehousingAdapter.d.ts.map +1 -1
- package/lib/directors/WarehousingAdapter.js.map +1 -1
- package/lib/directors/WarehousingDirector.d.ts +5 -5
- package/lib/directors/WarehousingDirector.d.ts.map +1 -1
- package/lib/directors/WarehousingDirector.js +10 -13
- package/lib/directors/WarehousingDirector.js.map +1 -1
- package/lib/directors/WorkerAdapter.d.ts +1 -1
- package/lib/directors/WorkerAdapter.d.ts.map +1 -1
- package/lib/directors/WorkerAdapter.js +1 -1
- package/lib/directors/WorkerAdapter.js.map +1 -1
- package/lib/directors/WorkerDirector.d.ts +2 -2
- package/lib/directors/WorkerDirector.d.ts.map +1 -1
- package/lib/directors/WorkerDirector.js +2 -3
- package/lib/directors/WorkerDirector.js.map +1 -1
- package/lib/modules.d.ts +1 -1
- package/lib/modules.d.ts.map +1 -1
- package/lib/services/activateEnrollment.js +3 -3
- package/lib/services/activateEnrollment.js.map +1 -1
- package/lib/services/calculateDiscountTotal.js +2 -2
- package/lib/services/calculateDiscountTotal.js.map +1 -1
- package/lib/services/checkoutOrder.d.ts +1 -1
- package/lib/services/checkoutOrder.d.ts.map +1 -1
- package/lib/services/checkoutOrder.js +9 -3
- package/lib/services/checkoutOrder.js.map +1 -1
- package/lib/services/confirmOrder.d.ts +1 -1
- package/lib/services/confirmOrder.d.ts.map +1 -1
- package/lib/services/createDownloadStream.d.ts +1 -1
- package/lib/services/createDownloadStream.d.ts.map +1 -1
- package/lib/services/createDownloadStream.js +2 -0
- package/lib/services/createDownloadStream.js.map +1 -1
- package/lib/services/createEnrollmentFromCheckout.d.ts.map +1 -1
- package/lib/services/createEnrollmentFromCheckout.js +2 -2
- package/lib/services/createEnrollmentFromCheckout.js.map +1 -1
- package/lib/services/createManualOrderDiscount.d.ts +2 -2
- package/lib/services/createManualOrderDiscount.d.ts.map +1 -1
- package/lib/services/createSignedURL.d.ts.map +1 -1
- package/lib/services/createSignedURL.js +2 -0
- package/lib/services/createSignedURL.js.map +1 -1
- package/lib/services/deleteUser.d.ts +1 -1
- package/lib/services/deleteUser.d.ts.map +1 -1
- package/lib/services/deleteUser.js +4 -2
- package/lib/services/deleteUser.js.map +1 -1
- package/lib/services/discountedEntities.js.map +1 -1
- package/lib/services/findOrInitCart.d.ts +1 -2
- package/lib/services/findOrInitCart.d.ts.map +1 -1
- package/lib/services/findOrInitCart.js.map +1 -1
- package/lib/services/fullfillQuotation.d.ts +1 -1
- package/lib/services/fullfillQuotation.d.ts.map +1 -1
- package/lib/services/fullfillQuotation.js.map +1 -1
- package/lib/services/generateOrderFromEnrollment.d.ts +7 -0
- package/lib/services/generateOrderFromEnrollment.d.ts.map +1 -0
- package/lib/services/generateOrderFromEnrollment.js +34 -0
- package/lib/services/generateOrderFromEnrollment.js.map +1 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +2 -0
- package/lib/services/index.js.map +1 -1
- package/lib/services/initCartProviders.js.map +1 -1
- package/lib/services/initializeEnrollment.d.ts +1 -1
- package/lib/services/initializeEnrollment.d.ts.map +1 -1
- package/lib/services/initializeEnrollment.js +6 -3
- package/lib/services/initializeEnrollment.js.map +1 -1
- package/lib/services/linkFileService.d.ts +1 -1
- package/lib/services/linkFileService.d.ts.map +1 -1
- package/lib/services/linkFileService.js +3 -1
- package/lib/services/linkFileService.js.map +1 -1
- package/lib/services/loadFilterOptions.d.ts +2 -2
- package/lib/services/loadFilterOptions.d.ts.map +1 -1
- package/lib/services/migrateOrderCart.d.ts +1 -1
- package/lib/services/migrateOrderCart.d.ts.map +1 -1
- package/lib/services/nextUserCart.d.ts +1 -1
- package/lib/services/nextUserCart.d.ts.map +1 -1
- package/lib/services/nextUserCart.js +1 -1
- package/lib/services/nextUserCart.js.map +1 -1
- package/lib/services/processEnrollment.d.ts.map +1 -1
- package/lib/services/processEnrollment.js +13 -5
- package/lib/services/processEnrollment.js.map +1 -1
- package/lib/services/processOrder.d.ts.map +1 -1
- package/lib/services/processOrder.js +26 -30
- package/lib/services/processOrder.js.map +1 -1
- package/lib/services/processQuotation.js +6 -6
- package/lib/services/processQuotation.js.map +1 -1
- package/lib/services/proposeQuotation.d.ts +1 -1
- package/lib/services/proposeQuotation.d.ts.map +1 -1
- package/lib/services/proposeQuotation.js +2 -2
- package/lib/services/proposeQuotation.js.map +1 -1
- package/lib/services/registerPaymentCredentials.d.ts +1 -2
- package/lib/services/registerPaymentCredentials.d.ts.map +1 -1
- package/lib/services/registerPaymentCredentials.js +4 -6
- package/lib/services/registerPaymentCredentials.js.map +1 -1
- package/lib/services/rejectOrder.d.ts +1 -1
- package/lib/services/rejectOrder.d.ts.map +1 -1
- package/lib/services/rejectQuotation.d.ts +1 -1
- package/lib/services/rejectQuotation.d.ts.map +1 -1
- package/lib/services/rejectQuotation.js +2 -2
- package/lib/services/rejectQuotation.js.map +1 -1
- package/lib/services/removeProduct.js +3 -3
- package/lib/services/removeProduct.js.map +1 -1
- package/lib/services/searchAssortments.js +1 -1
- package/lib/services/searchAssortments.js.map +1 -1
- package/lib/services/searchProducts.js +1 -1
- package/lib/services/searchProducts.js.map +1 -1
- package/lib/services/simulateProductDispatching.d.ts +1 -1
- package/lib/services/simulateProductDispatching.d.ts.map +1 -1
- package/lib/services/simulateProductInventory.d.ts +1 -1
- package/lib/services/simulateProductInventory.d.ts.map +1 -1
- package/lib/services/simulateProductInventory.js.map +1 -1
- package/lib/services/simulateProductPricing.d.ts +7 -4
- package/lib/services/simulateProductPricing.d.ts.map +1 -1
- package/lib/services/simulateProductPricing.js.map +1 -1
- package/lib/services/updateCalculation.d.ts +2 -1
- package/lib/services/updateCalculation.d.ts.map +1 -1
- package/lib/services/updateCalculation.js +16 -10
- package/lib/services/updateCalculation.js.map +1 -1
- package/lib/services/updateScheduling.d.ts +1 -1
- package/lib/services/updateScheduling.d.ts.map +1 -1
- package/lib/services/updateScheduling.js +7 -11
- package/lib/services/updateScheduling.js.map +1 -1
- package/lib/services/updateUserAvatarAfterUpload.d.ts +1 -1
- package/lib/services/updateUserAvatarAfterUpload.d.ts.map +1 -1
- package/lib/services/updateUserAvatarAfterUpload.js.map +1 -1
- package/lib/services/uploadFileFromStream.d.ts.map +1 -1
- package/lib/services/uploadFileFromStream.js +4 -1
- package/lib/services/uploadFileFromStream.js.map +1 -1
- package/lib/services/uploadFileFromURL.d.ts +1 -2
- package/lib/services/uploadFileFromURL.d.ts.map +1 -1
- package/lib/services/uploadFileFromURL.js.map +1 -1
- package/lib/services/validateOrder.d.ts +1 -1
- package/lib/services/validateOrder.d.ts.map +1 -1
- package/lib/services/validateOrder.js +17 -24
- package/lib/services/validateOrder.js.map +1 -1
- package/lib/services/verifyQuotation.d.ts +1 -1
- package/lib/services/verifyQuotation.d.ts.map +1 -1
- package/lib/services/verifyQuotation.js +2 -2
- package/lib/services/verifyQuotation.js.map +1 -1
- package/package.json +20 -20
- package/src/bulk-importer/createBulkImporter.ts +34 -22
- package/src/bulk-importer/handlers/assortment/create.ts +38 -7
- package/src/bulk-importer/handlers/assortment/remove.ts +14 -3
- package/src/bulk-importer/handlers/assortment/update.ts +53 -9
- package/src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts +44 -19
- package/src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts +37 -9
- package/src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts +35 -9
- package/src/bulk-importer/handlers/assortment/upsertMedia.ts +23 -5
- package/src/bulk-importer/handlers/filter/create.ts +28 -0
- package/src/bulk-importer/handlers/filter/remove.ts +6 -1
- package/src/bulk-importer/handlers/filter/update.ts +28 -1
- package/src/bulk-importer/handlers/product/create.ts +109 -9
- package/src/bulk-importer/handlers/product/remove.ts +7 -1
- package/src/bulk-importer/handlers/product/update.ts +117 -8
- package/src/bulk-importer/handlers/product/upsertMedia.ts +20 -3
- package/src/bulk-importer/handlers/product/upsertVariations.ts +43 -4
- package/src/bulk-importer/handlers/utils/convertTagsToLowerCase.ts +1 -1
- package/src/bulk-importer/index.ts +3 -0
- package/src/bulk-importer/upsertAsset.ts +10 -2
- package/src/core-index.ts +4 -6
- package/src/directors/BaseDiscountAdapter.test.ts +1 -1
- package/src/directors/BaseDiscountAdapter.ts +5 -5
- package/src/directors/BaseDiscountDirector.ts +2 -2
- package/src/directors/BasePricingAdapter.ts +2 -2
- package/src/directors/BasePricingDirector.ts +47 -44
- package/src/directors/BasePricingSheet.ts +1 -1
- package/src/directors/BaseWorker.ts +1 -1
- package/src/directors/DeliveryAdapter.ts +3 -3
- package/src/directors/DeliveryDirector.ts +33 -23
- package/src/directors/DeliveryPricingAdapter.ts +1 -1
- package/src/directors/DeliveryPricingDirector.ts +5 -6
- package/src/directors/DeliveryPricingSheet.ts +3 -2
- package/src/directors/EnrollmentAdapter.ts +9 -6
- package/src/directors/EnrollmentDirector.ts +9 -8
- package/src/directors/FilterAdapter.ts +3 -3
- package/src/directors/FilterDirector.ts +5 -5
- package/src/directors/OrderDiscountAdapter.ts +2 -2
- package/src/directors/OrderPricingAdapter.ts +2 -2
- package/src/directors/OrderPricingDirector.ts +3 -3
- package/src/directors/OrderPricingSheet.ts +3 -2
- package/src/directors/PaymentAdapter.ts +2 -2
- package/src/directors/PaymentDirector.ts +32 -8
- package/src/directors/PaymentPricingAdapter.ts +2 -2
- package/src/directors/PaymentPricingDirector.ts +6 -8
- package/src/directors/PaymentPricingSheet.ts +3 -2
- package/src/directors/ProductDiscountAdapter.ts +2 -2
- package/src/directors/ProductDiscountConfiguration.ts +1 -1
- package/src/directors/ProductPricingAdapter.ts +1 -1
- package/src/directors/ProductPricingDirector.ts +7 -7
- package/src/directors/ProductPricingSheet.ts +4 -3
- package/src/directors/QuotationAdapter.ts +2 -2
- package/src/directors/QuotationDirector.ts +2 -2
- package/src/directors/WarehousingAdapter.ts +3 -4
- package/src/directors/WarehousingDirector.ts +20 -23
- package/src/directors/WorkerAdapter.ts +2 -2
- package/src/directors/WorkerDirector.ts +5 -6
- package/src/modules.ts +1 -1
- package/src/services/activateEnrollment.ts +5 -5
- package/src/services/calculateDiscountTotal.ts +4 -4
- package/src/services/checkoutOrder.ts +9 -4
- package/src/services/createDownloadStream.ts +1 -0
- package/src/services/createEnrollmentFromCheckout.ts +22 -20
- package/src/services/createManualOrderDiscount.ts +2 -2
- package/src/services/createSignedURL.ts +1 -0
- package/src/services/deleteUser.ts +7 -2
- package/src/services/discountedEntities.ts +6 -6
- package/src/services/findOrInitCart.ts +1 -2
- package/src/services/fullfillQuotation.ts +1 -1
- package/src/services/generateOrderFromEnrollment.ts +54 -0
- package/src/services/index.ts +4 -0
- package/src/services/initCartProviders.ts +2 -2
- package/src/services/initializeEnrollment.ts +11 -4
- package/src/services/linkFileService.ts +3 -1
- package/src/services/nextUserCart.ts +1 -1
- package/src/services/processEnrollment.ts +18 -6
- package/src/services/processOrder.ts +33 -36
- package/src/services/processQuotation.ts +6 -6
- package/src/services/proposeQuotation.ts +2 -2
- package/src/services/registerPaymentCredentials.ts +6 -8
- package/src/services/rejectQuotation.ts +2 -2
- package/src/services/removeProduct.ts +3 -3
- package/src/services/searchAssortments.ts +1 -1
- package/src/services/searchProducts.ts +1 -1
- package/src/services/simulateProductDispatching.ts +1 -1
- package/src/services/simulateProductInventory.ts +7 -3
- package/src/services/simulateProductPricing.ts +6 -3
- package/src/services/updateCalculation.ts +33 -18
- package/src/services/updateScheduling.ts +19 -20
- package/src/services/updateUserAvatarAfterUpload.ts +4 -1
- package/src/services/uploadFileFromStream.ts +3 -1
- package/src/services/uploadFileFromURL.ts +2 -2
- package/src/services/validateOrder.ts +34 -38
- package/src/services/verifyQuotation.ts +2 -2
- package/lib/factory/registerProductDiscoverabilityFilter copy.d.ts +0 -5
- package/lib/factory/registerProductDiscoverabilityFilter copy.d.ts.map +0 -1
- package/lib/factory/registerProductDiscoverabilityFilter copy.js +0 -28
- package/lib/factory/registerProductDiscoverabilityFilter copy.js.map +0 -1
- package/src/bulk-importer/handlers/product/transformSpecificationToProductStructure.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateCalculation.js","sourceRoot":"","sources":["../../src/services/updateCalculation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"updateCalculation.js","sourceRoot":"","sources":["../../src/services/updateCalculation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,6 @@ import { Modules } from '../modules.js';
|
|
|
3
3
|
export declare function updateSchedulingService(this: Modules, { orderPositions, order, orderDelivery, }: {
|
|
4
4
|
orderPositions: OrderPosition[];
|
|
5
5
|
order: Order;
|
|
6
|
-
orderDelivery: OrderDelivery;
|
|
6
|
+
orderDelivery: OrderDelivery | null;
|
|
7
7
|
}): Promise<OrderPosition[]>;
|
|
8
8
|
//# sourceMappingURL=updateScheduling.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateScheduling.d.ts","sourceRoot":"","sources":["../../src/services/updateScheduling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"updateScheduling.d.ts","sourceRoot":"","sources":["../../src/services/updateScheduling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,OAAO,EACb,EACE,cAAc,EACd,KAAK,EACL,aAAa,GACd,EAAE;IAAE,cAAc,EAAE,aAAa,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,4BAkD1F"}
|
|
@@ -5,29 +5,25 @@ export async function updateSchedulingService({ orderPositions, order, orderDeli
|
|
|
5
5
|
(await this.delivery.findProvider({
|
|
6
6
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
7
7
|
}));
|
|
8
|
+
if (!deliveryProvider)
|
|
9
|
+
return [];
|
|
8
10
|
return (await Promise.all(orderPositions.map(async (orderPosition) => {
|
|
9
11
|
// scheduling (store in db for auditing)
|
|
10
|
-
const product = await this.products.findProduct({
|
|
12
|
+
const product = (await this.products.findProduct({
|
|
11
13
|
productId: orderPosition.productId,
|
|
12
|
-
});
|
|
13
|
-
const { countryCode, userId } = order;
|
|
14
|
+
}));
|
|
14
15
|
const scheduling = await Promise.all((await supportedWarehousingProvidersService.bind(this)({
|
|
15
16
|
product,
|
|
16
17
|
deliveryProvider,
|
|
17
18
|
})).map(async (warehousingProvider) => {
|
|
18
|
-
const
|
|
19
|
-
warehousingProvider,
|
|
19
|
+
const director = await WarehousingDirector.actions(warehousingProvider, {
|
|
20
20
|
deliveryProvider,
|
|
21
21
|
product,
|
|
22
|
-
|
|
23
|
-
delivery: deliveryProvider,
|
|
22
|
+
orderPosition,
|
|
24
23
|
order,
|
|
25
|
-
userId,
|
|
26
|
-
countryCode,
|
|
27
24
|
referenceDate: order.ordered,
|
|
28
25
|
quantity: orderPosition.quantity,
|
|
29
|
-
}
|
|
30
|
-
const director = await WarehousingDirector.actions(warehousingProvider, context, {
|
|
26
|
+
}, {
|
|
31
27
|
modules: this,
|
|
32
28
|
});
|
|
33
29
|
const dispatch = await director.estimatedDispatch();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateScheduling.js","sourceRoot":"","sources":["../../src/services/updateScheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"updateScheduling.js","sourceRoot":"","sources":["../../src/services/updateScheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAG1F,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAE3C,EACE,cAAc,EACd,KAAK,EACL,aAAa,GAC0E;IAEzF,MAAM,gBAAgB,GACpB,aAAa;QACb,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;SACrD,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAEjC,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CACvB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACzC,wCAAwC;QACxC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC/C,SAAS,EAAE,aAAa,CAAC,SAAS;SACnC,CAAC,CAAY,CAAC;QAEf,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,CACE,MAAM,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO;YACP,gBAAgB;SACjB,CAAC,CACH,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAChD,mBAAmB,EACnB;gBACE,gBAAgB;gBAChB,OAAO;gBACP,aAAa;gBACb,KAAK;gBACL,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;aACjC,EACD;gBACE,OAAO,EAAE,IAAI;aACd,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAEpD,OAAO;gBACL,qBAAqB,EAAE,mBAAmB,CAAC,GAAG;gBAC9C,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC,CAAC,CACH,CAAoB,CAAC;AACxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { File } from '@unchainedshop/core-files';
|
|
2
2
|
import { Modules } from '../modules.js';
|
|
3
3
|
export declare function updateUserAvatarAfterUploadService(this: Modules, { file }: {
|
|
4
|
-
file: File
|
|
4
|
+
file: Pick<File, '_id' | 'path' | 'meta'>;
|
|
5
5
|
}): Promise<void>;
|
|
6
6
|
//# sourceMappingURL=updateUserAvatarAfterUpload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUserAvatarAfterUpload.d.ts","sourceRoot":"","sources":["../../src/services/updateUserAvatarAfterUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,wBAAsB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"updateUserAvatarAfterUpload.d.ts","sourceRoot":"","sources":["../../src/services/updateUserAvatarAfterUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,OAAO,EACb,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,iBAuBxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUserAvatarAfterUpload.js","sourceRoot":"","sources":["../../src/services/updateUserAvatarAfterUpload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,kCAAkC,
|
|
1
|
+
{"version":3,"file":"updateUserAvatarAfterUpload.js","sourceRoot":"","sources":["../../src/services/updateUserAvatarAfterUpload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAEtD,EAAE,IAAI,EAAiD;IAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAA0B,CAAC;IAEnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,8BAA8B;QAC9B,MAAM,CAAC,IAAI,CAAC,uCAAwC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFileFromStream.d.ts","sourceRoot":"","sources":["../../src/services/uploadFileFromStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,OAAO,EACb,EACE,aAAa,EACb,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,EACX,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3E,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"uploadFileFromStream.d.ts","sourceRoot":"","sources":["../../src/services/uploadFileFromStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,OAAO,EACb,EACE,aAAa,EACb,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,EACX,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3E,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -6,6 +6,9 @@ export async function uploadFileFromStreamService({ directoryName, rawFile, meta
|
|
|
6
6
|
}, options);
|
|
7
7
|
const fileData = getFileFromFileData(uploadFileData, meta);
|
|
8
8
|
const fileId = await this.files.create(fileData);
|
|
9
|
-
|
|
9
|
+
const file = await this.files.findFile({ fileId });
|
|
10
|
+
if (!file)
|
|
11
|
+
throw new Error('File not found after upload');
|
|
12
|
+
return file;
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=uploadFileFromStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFileFromStream.js","sourceRoot":"","sources":["../../src/services/uploadFileFromStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAQ,MAAM,2BAA2B,CAAC;AAGtF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAE/C,EACE,aAAa,EACb,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,EACgE;IAE5E,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CACjE,aAAa,EACb,OAAO,EACP;QACE,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,
|
|
1
|
+
{"version":3,"file":"uploadFileFromStream.js","sourceRoot":"","sources":["../../src/services/uploadFileFromStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAQ,MAAM,2BAA2B,CAAC;AAGtF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAE/C,EACE,aAAa,EACb,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,EACgE;IAE5E,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CACjE,aAAa,EACb,OAAO,EACP;QACE,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { File } from '@unchainedshop/core-files';
|
|
2
1
|
import { Modules } from '../modules.js';
|
|
3
2
|
export declare function uploadFileFromURLService(this: Modules, { directoryName, fileInput, meta, }: {
|
|
4
3
|
directoryName: string;
|
|
@@ -9,5 +8,5 @@ export declare function uploadFileFromURLService(this: Modules, { directoryName,
|
|
|
9
8
|
headers?: Record<string, unknown>;
|
|
10
9
|
};
|
|
11
10
|
meta?: any;
|
|
12
|
-
}): Promise<File>;
|
|
11
|
+
}): Promise<import("@unchainedshop/core-files").File | null>;
|
|
13
12
|
//# sourceMappingURL=uploadFileFromURL.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFileFromURL.d.ts","sourceRoot":"","sources":["../../src/services/uploadFileFromURL.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploadFileFromURL.d.ts","sourceRoot":"","sources":["../../src/services/uploadFileFromURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,OAAO,EACb,EACE,aAAa,EACb,SAAS,EACT,IAAI,GACL,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,4DAUF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFileFromURL.js","sourceRoot":"","sources":["../../src/services/uploadFileFromURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"uploadFileFromURL.js","sourceRoot":"","sources":["../../src/services/uploadFileFromURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAE5C,EACE,aAAa,EACb,SAAS,EACT,IAAI,GAUL;IAED,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE;QACzF,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Order } from '@unchainedshop/core-orders';
|
|
2
2
|
import { Modules } from '../modules.js';
|
|
3
|
-
export declare function validateOrderService(this: Modules, order: Order): Promise<
|
|
3
|
+
export declare function validateOrderService(this: Modules, order: Order): Promise<void>;
|
|
4
4
|
//# sourceMappingURL=validateOrder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOrder.d.ts","sourceRoot":"","sources":["../../src/services/validateOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"validateOrder.d.ts","sourceRoot":"","sources":["../../src/services/validateOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,iBA6CrE"}
|
|
@@ -1,45 +1,38 @@
|
|
|
1
1
|
import { ordersSettings } from '@unchainedshop/core-orders';
|
|
2
2
|
export async function validateOrderService(order) {
|
|
3
|
-
const errors = [];
|
|
4
3
|
if (!order.contact)
|
|
5
|
-
|
|
4
|
+
throw new Error('Contact data not provided');
|
|
6
5
|
if (!order.billingAddress)
|
|
7
|
-
|
|
8
|
-
if (!
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
throw new Error('Billing address not provided');
|
|
7
|
+
if (!order.deliveryId ||
|
|
8
|
+
!(await this.orders.deliveries.findDelivery({ orderDeliveryId: order.deliveryId })))
|
|
9
|
+
throw new Error('No delivery provider selected');
|
|
10
|
+
if (!order.paymentId ||
|
|
11
|
+
!(await this.orders.payments.findOrderPayment({ orderPaymentId: order.paymentId })))
|
|
12
|
+
throw new Error('No payment provider selected');
|
|
12
13
|
const orderPositions = await this.orders.positions.findOrderPositions({ orderId: order._id });
|
|
13
14
|
if (orderPositions.length === 0) {
|
|
14
15
|
const NoItemsError = new Error('No items to checkout');
|
|
15
16
|
NoItemsError.name = 'NoItemsError';
|
|
16
|
-
|
|
17
|
+
throw NoItemsError;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
for (const orderPosition of orderPositions) {
|
|
19
20
|
const product = await this.products.findProduct({
|
|
20
21
|
productId: orderPosition.productId,
|
|
21
22
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}, { modules: this });
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
errors.push(e);
|
|
32
|
-
}
|
|
23
|
+
await ordersSettings.validateOrderPosition({
|
|
24
|
+
order,
|
|
25
|
+
product,
|
|
26
|
+
configuration: orderPosition.configuration,
|
|
27
|
+
quantityDiff: 0,
|
|
28
|
+
}, { modules: this });
|
|
33
29
|
const quotation = orderPosition.quotationId &&
|
|
34
30
|
(await this.quotations.findQuotation({
|
|
35
31
|
quotationId: orderPosition.quotationId,
|
|
36
32
|
}));
|
|
37
33
|
if (quotation && !this.quotations.isProposalValid(quotation)) {
|
|
38
|
-
|
|
34
|
+
throw new Error('Quotation expired or fullfiled, please request a new offer');
|
|
39
35
|
}
|
|
40
|
-
}));
|
|
41
|
-
if (errors.length > 0) {
|
|
42
|
-
throw new Error(errors[0]);
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
38
|
//# sourceMappingURL=validateOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOrder.js","sourceRoot":"","sources":["../../src/services/validateOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAgB,KAAY;IACpE,
|
|
1
|
+
{"version":3,"file":"validateOrder.js","sourceRoot":"","sources":["../../src/services/validateOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAgB,KAAY;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC3E,IACE,CAAC,KAAK,CAAC,UAAU;QACjB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnF,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,IACE,CAAC,KAAK,CAAC,SAAS;QAChB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAEnF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,YAAY,CAAC,IAAI,GAAG,cAAc,CAAC;QACnC,MAAM,YAAY,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,SAAS,EAAE,aAAa,CAAC,SAAS;SACnC,CAAC,CAAC;QAEH,MAAM,cAAc,CAAC,qBAAqB,CACxC;YACE,KAAK;YACL,OAAO;YACP,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,YAAY,EAAE,CAAC;SAChB,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QAEF,MAAM,SAAS,GACb,aAAa,CAAC,WAAW;YACzB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBACnC,WAAW,EAAE,aAAa,CAAC,WAAW;aACvC,CAAC,CAAC,CAAC;QACN,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { Quotation } from '@unchainedshop/core-quotations';
|
|
|
2
2
|
import { Modules } from '../modules.js';
|
|
3
3
|
export declare function verifyQuotationService(this: Modules, quotation: Quotation, { quotationContext }: {
|
|
4
4
|
quotationContext?: any;
|
|
5
|
-
}): Promise<
|
|
5
|
+
}): Promise<Quotation>;
|
|
6
6
|
//# sourceMappingURL=verifyQuotation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyQuotation.d.ts","sourceRoot":"","sources":["../../src/services/verifyQuotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,SAAS,EACpB,EAAE,gBAAgB,EAAE,EAAE;IAAE,gBAAgB,CAAC,EAAE,GAAG,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"verifyQuotation.d.ts","sourceRoot":"","sources":["../../src/services/verifyQuotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,SAAS,EACpB,EAAE,gBAAgB,EAAE,EAAE;IAAE,gBAAgB,CAAC,EAAE,GAAG,CAAA;CAAE,sBAUjD"}
|
|
@@ -3,10 +3,10 @@ import { processQuotationService } from './processQuotation.js';
|
|
|
3
3
|
export async function verifyQuotationService(quotation, { quotationContext }) {
|
|
4
4
|
if (quotation.status !== QuotationStatus.REQUESTED)
|
|
5
5
|
return quotation;
|
|
6
|
-
const updatedQuotation = await this.quotations.updateStatus(quotation._id, {
|
|
6
|
+
const updatedQuotation = (await this.quotations.updateStatus(quotation._id, {
|
|
7
7
|
status: QuotationStatus.PROCESSING,
|
|
8
8
|
info: 'verified elligibility manually',
|
|
9
|
-
});
|
|
9
|
+
}));
|
|
10
10
|
return await processQuotationService.bind(this)(updatedQuotation, { quotationContext });
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=verifyQuotation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyQuotation.js","sourceRoot":"","sources":["../../src/services/verifyQuotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAE1C,SAAoB,EACpB,EAAE,gBAAgB,EAA8B;IAEhD,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"verifyQuotation.js","sourceRoot":"","sources":["../../src/services/verifyQuotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAE1C,SAAoB,EACpB,EAAE,gBAAgB,EAA8B;IAEhD,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;QAC1E,MAAM,EAAE,eAAe,CAAC,UAAU;QAClC,IAAI,EAAE,gCAAgC;KACvC,CAAC,CAAc,CAAC;IAEjB,OAAO,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC1F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core",
|
|
3
|
-
"version": "4.0.0-rc.
|
|
3
|
+
"version": "4.0.0-rc.18",
|
|
4
4
|
"main": "lib/core-index.js",
|
|
5
5
|
"types": "lib/core-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -32,25 +32,25 @@
|
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@breejs/later": "^4.2.0",
|
|
35
|
-
"@unchainedshop/core-assortments": "^4.0.0-rc.
|
|
36
|
-
"@unchainedshop/core-bookmarks": "^4.0.0-rc.
|
|
37
|
-
"@unchainedshop/core-countries": "^4.0.0-rc.
|
|
38
|
-
"@unchainedshop/core-currencies": "^4.0.0-rc.
|
|
39
|
-
"@unchainedshop/core-delivery": "^4.0.0-rc.
|
|
40
|
-
"@unchainedshop/core-enrollments": "^4.0.0-rc.
|
|
41
|
-
"@unchainedshop/core-events": "^4.0.0-rc.
|
|
42
|
-
"@unchainedshop/core-files": "^4.0.0-rc.
|
|
43
|
-
"@unchainedshop/core-filters": "^4.0.0-rc.
|
|
44
|
-
"@unchainedshop/core-languages": "^4.0.0-rc.
|
|
45
|
-
"@unchainedshop/core-orders": "^4.0.0-rc.
|
|
46
|
-
"@unchainedshop/core-payment": "^4.0.0-rc.
|
|
47
|
-
"@unchainedshop/core-products": "^4.0.0-rc.
|
|
48
|
-
"@unchainedshop/core-quotations": "^4.0.0-rc.
|
|
49
|
-
"@unchainedshop/core-users": "^4.0.0-rc.
|
|
50
|
-
"@unchainedshop/core-warehousing": "^4.0.0-rc.
|
|
51
|
-
"@unchainedshop/core-worker": "^4.0.0-rc.
|
|
52
|
-
"@unchainedshop/logger": "^4.0.0-rc.
|
|
53
|
-
"@unchainedshop/utils": "^4.0.0-rc.
|
|
35
|
+
"@unchainedshop/core-assortments": "^4.0.0-rc.18",
|
|
36
|
+
"@unchainedshop/core-bookmarks": "^4.0.0-rc.18",
|
|
37
|
+
"@unchainedshop/core-countries": "^4.0.0-rc.18",
|
|
38
|
+
"@unchainedshop/core-currencies": "^4.0.0-rc.18",
|
|
39
|
+
"@unchainedshop/core-delivery": "^4.0.0-rc.18",
|
|
40
|
+
"@unchainedshop/core-enrollments": "^4.0.0-rc.18",
|
|
41
|
+
"@unchainedshop/core-events": "^4.0.0-rc.18",
|
|
42
|
+
"@unchainedshop/core-files": "^4.0.0-rc.18",
|
|
43
|
+
"@unchainedshop/core-filters": "^4.0.0-rc.18",
|
|
44
|
+
"@unchainedshop/core-languages": "^4.0.0-rc.18",
|
|
45
|
+
"@unchainedshop/core-orders": "^4.0.0-rc.18",
|
|
46
|
+
"@unchainedshop/core-payment": "^4.0.0-rc.18",
|
|
47
|
+
"@unchainedshop/core-products": "^4.0.0-rc.18",
|
|
48
|
+
"@unchainedshop/core-quotations": "^4.0.0-rc.18",
|
|
49
|
+
"@unchainedshop/core-users": "^4.0.0-rc.18",
|
|
50
|
+
"@unchainedshop/core-warehousing": "^4.0.0-rc.18",
|
|
51
|
+
"@unchainedshop/core-worker": "^4.0.0-rc.18",
|
|
52
|
+
"@unchainedshop/logger": "^4.0.0-rc.18",
|
|
53
|
+
"@unchainedshop/utils": "^4.0.0-rc.18",
|
|
54
54
|
"minipass-json-stream": "^1.0.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import JSONStream from 'minipass-json-stream';
|
|
2
3
|
import { PassThrough, Readable } from 'node:stream';
|
|
3
4
|
import { pipeline } from 'node:stream/promises';
|
|
@@ -16,7 +17,7 @@ export interface BulkImportOperationResult {
|
|
|
16
17
|
operation: string;
|
|
17
18
|
success: boolean;
|
|
18
19
|
}
|
|
19
|
-
export type BulkImportOperation<T> = (
|
|
20
|
+
export type BulkImportOperation<T> = { payloadSchema?: z.AnyZodObject } & ((
|
|
20
21
|
payload: any,
|
|
21
22
|
options: {
|
|
22
23
|
bulk: (collection: string) => typeof mongodb.BulkOperationBase;
|
|
@@ -25,7 +26,7 @@ export type BulkImportOperation<T> = (
|
|
|
25
26
|
skipCacheInvalidation?: boolean;
|
|
26
27
|
},
|
|
27
28
|
unchainedAPI: T,
|
|
28
|
-
) => Promise<BulkImportOperationResult
|
|
29
|
+
) => Promise<BulkImportOperationResult>);
|
|
29
30
|
|
|
30
31
|
export type BulkImportHandler<T> = Record<string, BulkImportOperation<T>>;
|
|
31
32
|
|
|
@@ -44,13 +45,13 @@ export const getOperation = (entity: string, operation: string): BulkImportOpera
|
|
|
44
45
|
}
|
|
45
46
|
const handlers = bulkOperationHandlers[entity];
|
|
46
47
|
if (!handlers) {
|
|
47
|
-
throw new Error(`Entity
|
|
48
|
+
throw new Error(`Entity unknown`);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
const entityOperation = handlers[operation] as BulkImportOperation<any>;
|
|
51
52
|
|
|
52
53
|
if (!entityOperation || typeof entityOperation !== 'function') {
|
|
53
|
-
throw new Error(`Operation
|
|
54
|
+
throw new Error(`Operation unknown/invalid`);
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
return entityOperation;
|
|
@@ -66,7 +67,13 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
66
67
|
|
|
67
68
|
const createBulkImporter = (options) => {
|
|
68
69
|
const bulkOperations = {};
|
|
69
|
-
const preparationIssues
|
|
70
|
+
const preparationIssues: {
|
|
71
|
+
operation: string;
|
|
72
|
+
entity: string;
|
|
73
|
+
payloadId: string;
|
|
74
|
+
errorCode: string;
|
|
75
|
+
errorMessage: string;
|
|
76
|
+
}[] = [];
|
|
70
77
|
const processedOperations = {};
|
|
71
78
|
const { createShouldUpsertIfIDExists, skipCacheInvalidation, updateShouldUpsertIfIDNotExists } =
|
|
72
79
|
options;
|
|
@@ -83,6 +90,19 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
83
90
|
);
|
|
84
91
|
|
|
85
92
|
return {
|
|
93
|
+
validate: async (event) => {
|
|
94
|
+
const entity = event.entity.toUpperCase();
|
|
95
|
+
const operation = event.operation.toLowerCase();
|
|
96
|
+
logger.debug(`🩺 ${entity}.${operation}.${event.payload?._id || '*'}`);
|
|
97
|
+
try {
|
|
98
|
+
const fn = getOperation(entity, operation);
|
|
99
|
+
if (fn.payloadSchema) {
|
|
100
|
+
fn.payloadSchema.parse(event.payload);
|
|
101
|
+
}
|
|
102
|
+
} catch (e) {
|
|
103
|
+
throw new Error(`🤧 ${entity}.${operation}.${event.payload?._id || '*'} (${e.message})`);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
86
106
|
prepare: async (event, unchainedAPI: { modules: Modules; services: Services }) => {
|
|
87
107
|
const entity = event.entity.toUpperCase();
|
|
88
108
|
const operation = event.operation.toLowerCase();
|
|
@@ -91,16 +111,16 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
91
111
|
|
|
92
112
|
const payloadId = event.payload?._id || 'global';
|
|
93
113
|
|
|
94
|
-
logger.debug(
|
|
114
|
+
logger.debug(`🏃♂️ ${entity}.${operation}.${payloadId}`);
|
|
95
115
|
|
|
96
116
|
try {
|
|
97
117
|
await handler(event.payload, { bulk, logger, ...options }, unchainedAPI);
|
|
98
118
|
if (!processedOperations[entity]) processedOperations[entity] = {};
|
|
99
119
|
if (!processedOperations[entity][operation]) processedOperations[entity][operation] = [];
|
|
100
120
|
processedOperations[entity][operation].push(payloadId);
|
|
101
|
-
logger.debug(
|
|
121
|
+
logger.debug(`👍 ${entity}.${operation}.${payloadId}`);
|
|
102
122
|
} catch (e) {
|
|
103
|
-
logger.debug(
|
|
123
|
+
logger.debug(`💥 ${entity}.${operation}.${payloadId} (${e.message})`);
|
|
104
124
|
preparationIssues.push({
|
|
105
125
|
operation,
|
|
106
126
|
entity,
|
|
@@ -109,12 +129,11 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
109
129
|
errorMessage: e.message,
|
|
110
130
|
});
|
|
111
131
|
} finally {
|
|
112
|
-
logger.debug(
|
|
132
|
+
logger.debug(`🏁 ${entity}.${operation}.${payloadId}`);
|
|
113
133
|
}
|
|
114
134
|
},
|
|
115
135
|
execute: async () => {
|
|
116
|
-
logger.debug(
|
|
117
|
-
|
|
136
|
+
logger.debug(`🍔 ${Object.keys(bulkOperations).join(', ')}`);
|
|
118
137
|
const processedBulkOperations = await Promise.allSettled(
|
|
119
138
|
Object.values(bulkOperations).map(async (o: any) => o.execute()),
|
|
120
139
|
);
|
|
@@ -123,13 +142,12 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
123
142
|
processedBulkOperations,
|
|
124
143
|
};
|
|
125
144
|
if (preparationIssues?.length) {
|
|
126
|
-
logger.
|
|
145
|
+
logger.warn(
|
|
127
146
|
`${preparationIssues.length} issues occured while preparing events, import finished with errors`,
|
|
128
147
|
);
|
|
129
148
|
const errors = { preparationIssues };
|
|
130
149
|
return [operationResults, errors];
|
|
131
150
|
}
|
|
132
|
-
logger.debug(`Import finished without errors`);
|
|
133
151
|
return [operationResults, null];
|
|
134
152
|
},
|
|
135
153
|
invalidateCaches: async (unchainedAPI: { modules: Modules; services: Services }) => {
|
|
@@ -141,20 +159,14 @@ export default function createBulkImporterFactory(db, bulkImporterOptions: any)
|
|
|
141
159
|
};
|
|
142
160
|
|
|
143
161
|
const validateEventStream = async (readStream: Readable) => {
|
|
162
|
+
const bulkImporter = createBulkImporter({});
|
|
144
163
|
await pipeline(
|
|
145
164
|
readStream,
|
|
146
165
|
JSONStream.parse('events.*'),
|
|
147
166
|
async function* (source: AsyncIterable<any>, { signal }) {
|
|
148
167
|
for await (const event of source) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const entity = event.entity.toUpperCase();
|
|
152
|
-
const operation = event.operation.toLowerCase();
|
|
153
|
-
|
|
154
|
-
getOperation(entity, operation);
|
|
155
|
-
} catch (e) {
|
|
156
|
-
throw new Error('Invalid event ' + (event._id || '') + ': ' + e.message);
|
|
157
|
-
}
|
|
168
|
+
if (signal.aborted) break;
|
|
169
|
+
await bulkImporter.validate(event);
|
|
158
170
|
}
|
|
159
171
|
yield true;
|
|
160
172
|
},
|
|
@@ -1,13 +1,40 @@
|
|
|
1
1
|
import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
|
|
2
|
-
import upsertAssortmentChildren from './upsertAssortmentChildren.js';
|
|
3
|
-
import upsertAssortmentFilters from './upsertAssortmentFilters.js';
|
|
4
|
-
import upsertAssortmentProducts from './upsertAssortmentProducts.js';
|
|
5
|
-
import upsertMedia from './upsertMedia.js';
|
|
2
|
+
import upsertAssortmentChildren, { AssortmentLinkSchema } from './upsertAssortmentChildren.js';
|
|
3
|
+
import upsertAssortmentFilters, { AssortmentFilterSchema } from './upsertAssortmentFilters.js';
|
|
4
|
+
import upsertAssortmentProducts, { AssortmentProductSchema } from './upsertAssortmentProducts.js';
|
|
5
|
+
import upsertMedia, { MediaSchema } from './upsertMedia.js';
|
|
6
6
|
import { Modules } from '../../../modules.js';
|
|
7
7
|
import { Services } from '../../../services/index.js';
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
|
|
10
|
+
export const AssortmentCreatePayloadSchema = z.object({
|
|
11
|
+
_id: z.string(),
|
|
12
|
+
specification: z.object({
|
|
13
|
+
isActive: z.boolean(),
|
|
14
|
+
isBase: z.boolean().optional(),
|
|
15
|
+
isRoot: z.boolean().optional(),
|
|
16
|
+
sequence: z.number(),
|
|
17
|
+
tags: z.array(z.string()).optional(),
|
|
18
|
+
meta: z.record(z.unknown()).optional(),
|
|
19
|
+
content: z
|
|
20
|
+
.record(
|
|
21
|
+
z.string(), // locale
|
|
22
|
+
z.object({
|
|
23
|
+
title: z.string().optional(),
|
|
24
|
+
subtitle: z.string().optional(),
|
|
25
|
+
slug: z.string().optional(),
|
|
26
|
+
}),
|
|
27
|
+
)
|
|
28
|
+
.optional(),
|
|
29
|
+
}),
|
|
30
|
+
media: z.array(MediaSchema).optional(),
|
|
31
|
+
products: z.array(AssortmentProductSchema).optional(),
|
|
32
|
+
children: z.array(AssortmentLinkSchema).optional(),
|
|
33
|
+
filters: z.array(AssortmentFilterSchema).optional(),
|
|
34
|
+
});
|
|
8
35
|
|
|
9
36
|
export default async function createAssortment(
|
|
10
|
-
payload:
|
|
37
|
+
payload: z.infer<typeof AssortmentCreatePayloadSchema>,
|
|
11
38
|
{ logger, createShouldUpsertIfIDExists },
|
|
12
39
|
unchainedAPI: { modules: Modules; services: Services },
|
|
13
40
|
) {
|
|
@@ -18,11 +45,13 @@ export default async function createAssortment(
|
|
|
18
45
|
if (!specification.content)
|
|
19
46
|
throw new Error(`Assortment content is required when creating new assortment${_id}`);
|
|
20
47
|
|
|
21
|
-
|
|
48
|
+
if (specification.tags) {
|
|
49
|
+
specification.tags = convertTagsToLowerCase(specification.tags)!;
|
|
50
|
+
}
|
|
22
51
|
|
|
23
52
|
logger.debug('create assortment object', specification);
|
|
24
53
|
try {
|
|
25
|
-
await modules.assortments.create({ ...specification, _id });
|
|
54
|
+
await modules.assortments.create({ ...specification, _id } as any);
|
|
26
55
|
} catch (e) {
|
|
27
56
|
if (!createShouldUpsertIfIDExists) throw e;
|
|
28
57
|
logger.debug('entity already exists, falling back to update', specification);
|
|
@@ -85,3 +114,5 @@ export default async function createAssortment(
|
|
|
85
114
|
success: true,
|
|
86
115
|
};
|
|
87
116
|
}
|
|
117
|
+
|
|
118
|
+
createAssortment.payloadSchema = AssortmentCreatePayloadSchema;
|
|
@@ -1,15 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import { Modules } from '../../../modules.js';
|
|
2
3
|
|
|
3
|
-
export
|
|
4
|
+
export const AssortmentRemovePayloadSchema = z.object({
|
|
5
|
+
_id: z.string(),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export default async function removeAssortment(
|
|
9
|
+
payload: z.infer<typeof AssortmentRemovePayloadSchema>,
|
|
10
|
+
{ logger },
|
|
11
|
+
unchainedAPI: { modules: Modules },
|
|
12
|
+
) {
|
|
4
13
|
const { modules } = unchainedAPI;
|
|
5
14
|
const { _id } = payload;
|
|
6
15
|
logger.debug('remove assortment');
|
|
7
|
-
await modules.assortments.delete(_id, { skipInvalidation: true });
|
|
16
|
+
const deletedAssortment = await modules.assortments.delete(_id, { skipInvalidation: true });
|
|
8
17
|
|
|
9
18
|
return {
|
|
10
19
|
entity: 'ASSORTMENT',
|
|
11
20
|
operation: 'remove',
|
|
12
21
|
_id,
|
|
13
|
-
success:
|
|
22
|
+
success: Boolean(deletedAssortment),
|
|
14
23
|
};
|
|
15
24
|
}
|
|
25
|
+
|
|
26
|
+
removeAssortment.payloadSchema = AssortmentRemovePayloadSchema;
|