@unchainedshop/core 3.0.0-alpha7 → 3.0.0-rc2
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/core-index.d.ts +8 -61
- package/lib/core-index.d.ts.map +1 -1
- package/lib/core-index.js +9 -140
- package/lib/core-index.js.map +1 -1
- package/lib/core-index_BACKUP_57582.d.ts +26 -0
- package/lib/core-index_BACKUP_57582.d.ts.map +1 -0
- package/lib/core-index_BACKUP_57582.js +30 -0
- package/lib/core-index_BACKUP_57582.js.map +1 -0
- package/lib/core-index_BASE_57582.d.ts +74 -0
- package/lib/core-index_BASE_57582.d.ts.map +1 -0
- package/lib/core-index_BASE_57582.js +145 -0
- package/lib/core-index_BASE_57582.js.map +1 -0
- package/lib/core-index_LOCAL_57582.d.ts +26 -0
- package/lib/core-index_LOCAL_57582.d.ts.map +1 -0
- package/lib/core-index_LOCAL_57582.js +31 -0
- package/lib/core-index_LOCAL_57582.js.map +1 -0
- package/lib/core-index_REMOTE_57582.d.ts +74 -0
- package/lib/core-index_REMOTE_57582.d.ts.map +1 -0
- package/lib/core-index_REMOTE_57582.js +146 -0
- package/lib/core-index_REMOTE_57582.js.map +1 -0
- package/lib/directors/BaseDiscountAdapter.d.ts +38 -0
- package/lib/directors/BaseDiscountAdapter.d.ts.map +1 -0
- package/lib/directors/BaseDiscountAdapter.js +48 -0
- package/lib/directors/BaseDiscountAdapter.js.map +1 -0
- package/lib/directors/BaseDiscountDirector.d.ts +12 -0
- package/lib/directors/BaseDiscountDirector.d.ts.map +1 -0
- package/lib/directors/BaseDiscountDirector.js +45 -0
- package/lib/directors/BaseDiscountDirector.js.map +1 -0
- package/lib/directors/BasePricingAdapter.d.ts +39 -0
- package/lib/directors/BasePricingAdapter.d.ts.map +1 -0
- package/lib/directors/BasePricingAdapter.js +25 -0
- package/lib/directors/BasePricingAdapter.js.map +1 -0
- package/lib/directors/BasePricingDirector.d.ts +17 -0
- package/lib/directors/BasePricingDirector.d.ts.map +1 -0
- package/lib/directors/BasePricingDirector.js +70 -0
- package/lib/directors/BasePricingDirector.js.map +1 -0
- package/lib/directors/BasePricingSheet.d.ts +46 -0
- package/lib/directors/BasePricingSheet.d.ts.map +1 -0
- package/lib/directors/BasePricingSheet.js +74 -0
- package/lib/directors/BasePricingSheet.js.map +1 -0
- package/lib/directors/DeliveryAdapter.d.ts +46 -0
- package/lib/directors/DeliveryAdapter.d.ts.map +1 -0
- package/lib/directors/DeliveryAdapter.js +50 -0
- package/lib/directors/DeliveryAdapter.js.map +1 -0
- package/lib/directors/DeliveryDirector.d.ts +15 -0
- package/lib/directors/DeliveryDirector.d.ts.map +1 -0
- package/lib/directors/DeliveryDirector.js +96 -0
- package/lib/directors/DeliveryDirector.js.map +1 -0
- package/lib/directors/DeliveryPricingAdapter.d.ts +49 -0
- package/lib/directors/DeliveryPricingAdapter.d.ts.map +1 -0
- package/lib/directors/DeliveryPricingAdapter.js +25 -0
- package/lib/directors/DeliveryPricingAdapter.js.map +1 -0
- package/lib/directors/DeliveryPricingDirector.d.ts +20 -0
- package/lib/directors/DeliveryPricingDirector.d.ts.map +1 -0
- package/lib/directors/DeliveryPricingDirector.js +50 -0
- package/lib/directors/DeliveryPricingDirector.js.map +1 -0
- package/lib/directors/DeliveryPricingSheet.d.ts +10 -0
- package/lib/directors/DeliveryPricingSheet.d.ts.map +1 -0
- package/lib/directors/DeliveryPricingSheet.js +75 -0
- package/lib/directors/DeliveryPricingSheet.js.map +1 -0
- package/lib/directors/EnrollmentAdapter.d.ts +27 -0
- package/lib/directors/EnrollmentAdapter.d.ts.map +1 -0
- package/lib/directors/EnrollmentAdapter.js +73 -0
- package/lib/directors/EnrollmentAdapter.js.map +1 -0
- package/lib/directors/EnrollmentDirector.d.ts +14 -0
- package/lib/directors/EnrollmentDirector.d.ts.map +1 -0
- package/lib/directors/EnrollmentDirector.js +44 -0
- package/lib/directors/EnrollmentDirector.js.map +1 -0
- package/lib/directors/FilterAdapter.d.ts +54 -0
- package/lib/directors/FilterAdapter.d.ts.map +1 -0
- package/lib/directors/FilterAdapter.js +38 -0
- package/lib/directors/FilterAdapter.js.map +1 -0
- package/lib/directors/FilterDirector.d.ts +40 -0
- package/lib/directors/FilterDirector.d.ts.map +1 -0
- package/lib/directors/FilterDirector.js +173 -0
- package/lib/directors/FilterDirector.js.map +1 -0
- package/lib/directors/MessagingDirector.d.ts +46 -0
- package/lib/directors/MessagingDirector.d.ts.map +1 -0
- package/lib/directors/MessagingDirector.js +10 -0
- package/lib/directors/MessagingDirector.js.map +1 -0
- package/lib/directors/OrderDiscountAdapter.d.ts +3 -0
- package/lib/directors/OrderDiscountAdapter.d.ts.map +1 -0
- package/lib/directors/OrderDiscountAdapter.js +3 -0
- package/lib/directors/OrderDiscountAdapter.js.map +1 -0
- package/lib/directors/OrderDiscountConfiguration.d.ts +6 -0
- package/lib/directors/OrderDiscountConfiguration.d.ts.map +1 -0
- package/lib/directors/OrderDiscountConfiguration.js +2 -0
- package/lib/directors/OrderDiscountConfiguration.js.map +1 -0
- package/lib/directors/OrderDiscountDirector.d.ts +3 -0
- package/lib/directors/OrderDiscountDirector.d.ts.map +1 -0
- package/lib/directors/OrderDiscountDirector.js +3 -0
- package/lib/directors/OrderDiscountDirector.js.map +1 -0
- package/lib/directors/OrderPricingAdapter.d.ts +18 -0
- package/lib/directors/OrderPricingAdapter.d.ts.map +1 -0
- package/lib/directors/OrderPricingAdapter.js +24 -0
- package/lib/directors/OrderPricingAdapter.js.map +1 -0
- package/lib/directors/OrderPricingDirector.d.ts +18 -0
- package/lib/directors/OrderPricingDirector.d.ts.map +1 -0
- package/lib/directors/OrderPricingDirector.js +31 -0
- package/lib/directors/OrderPricingDirector.js.map +1 -0
- package/lib/directors/OrderPricingSheet.d.ts +37 -0
- package/lib/directors/OrderPricingSheet.d.ts.map +1 -0
- package/lib/directors/OrderPricingSheet.js +108 -0
- package/lib/directors/OrderPricingSheet.js.map +1 -0
- package/lib/directors/PaymentAdapter.d.ts +50 -0
- package/lib/directors/PaymentAdapter.d.ts.map +1 -0
- package/lib/directors/PaymentAdapter.js +55 -0
- package/lib/directors/PaymentAdapter.js.map +1 -0
- package/lib/directors/PaymentDirector.d.ts +21 -0
- package/lib/directors/PaymentDirector.d.ts.map +1 -0
- package/lib/directors/PaymentDirector.js +172 -0
- package/lib/directors/PaymentDirector.js.map +1 -0
- package/lib/directors/PaymentPricingAdapter.d.ts +48 -0
- package/lib/directors/PaymentPricingAdapter.d.ts.map +1 -0
- package/lib/directors/PaymentPricingAdapter.js +25 -0
- package/lib/directors/PaymentPricingAdapter.js.map +1 -0
- package/lib/directors/PaymentPricingDirector.d.ts +18 -0
- package/lib/directors/PaymentPricingDirector.d.ts.map +1 -0
- package/lib/directors/PaymentPricingDirector.js +51 -0
- package/lib/directors/PaymentPricingDirector.js.map +1 -0
- package/lib/directors/PaymentPricingSheet.d.ts +9 -0
- package/lib/directors/PaymentPricingSheet.d.ts.map +1 -0
- package/lib/directors/PaymentPricingSheet.js +75 -0
- package/lib/directors/PaymentPricingSheet.js.map +1 -0
- package/lib/directors/ProductDiscountAdapter.d.ts +3 -0
- package/lib/directors/ProductDiscountAdapter.d.ts.map +1 -0
- package/lib/directors/ProductDiscountAdapter.js +3 -0
- package/lib/directors/ProductDiscountAdapter.js.map +1 -0
- package/lib/directors/ProductDiscountConfiguration.d.ts +13 -0
- package/lib/directors/ProductDiscountConfiguration.d.ts.map +1 -0
- package/lib/directors/ProductDiscountConfiguration.js +2 -0
- package/lib/directors/ProductDiscountConfiguration.js.map +1 -0
- package/lib/directors/ProductDiscountDirector.d.ts +3 -0
- package/lib/directors/ProductDiscountDirector.d.ts.map +1 -0
- package/lib/directors/ProductDiscountDirector.js +3 -0
- package/lib/directors/ProductDiscountDirector.js.map +1 -0
- package/lib/directors/ProductPricingAdapter.d.ts +17 -0
- package/lib/directors/ProductPricingAdapter.d.ts.map +1 -0
- package/lib/directors/ProductPricingAdapter.js +24 -0
- package/lib/directors/ProductPricingAdapter.js.map +1 -0
- package/lib/directors/ProductPricingDirector.d.ts +21 -0
- package/lib/directors/ProductPricingDirector.d.ts.map +1 -0
- package/lib/directors/ProductPricingDirector.js +52 -0
- package/lib/directors/ProductPricingDirector.js.map +1 -0
- package/lib/directors/ProductPricingSheet.d.ts +38 -0
- package/lib/directors/ProductPricingSheet.d.ts.map +1 -0
- package/lib/directors/ProductPricingSheet.js +83 -0
- package/lib/directors/ProductPricingSheet.js.map +1 -0
- package/lib/directors/QuotationAdapter.d.ts +28 -0
- package/lib/directors/QuotationAdapter.d.ts.map +1 -0
- package/lib/directors/QuotationAdapter.js +46 -0
- package/lib/directors/QuotationAdapter.js.map +1 -0
- package/lib/directors/QuotationDirector.d.ts +7 -0
- package/lib/directors/QuotationDirector.d.ts.map +1 -0
- package/lib/directors/QuotationDirector.js +84 -0
- package/lib/directors/QuotationDirector.js.map +1 -0
- package/lib/directors/WarehousingAdapter.d.ts +40 -0
- package/lib/directors/WarehousingAdapter.d.ts.map +1 -0
- package/lib/directors/WarehousingAdapter.js +32 -0
- package/lib/directors/WarehousingAdapter.js.map +1 -0
- package/lib/directors/WarehousingDirector.d.ts +38 -0
- package/lib/directors/WarehousingDirector.d.ts.map +1 -0
- package/lib/directors/WarehousingDirector.js +169 -0
- package/lib/directors/WarehousingDirector.js.map +1 -0
- package/lib/directors/WorkerAdapter.d.ts +17 -0
- package/lib/directors/WorkerAdapter.d.ts.map +1 -0
- package/lib/directors/WorkerAdapter.js +11 -0
- package/lib/directors/WorkerAdapter.js.map +1 -0
- package/lib/directors/WorkerDirector.d.ts +26 -0
- package/lib/directors/WorkerDirector.d.ts.map +1 -0
- package/lib/directors/WorkerDirector.js +102 -0
- package/lib/directors/WorkerDirector.js.map +1 -0
- package/lib/directors/index.d.ts +39 -0
- package/lib/directors/index.d.ts.map +1 -0
- package/lib/directors/index.js +39 -0
- package/lib/directors/index.js.map +1 -0
- package/lib/modules.d.ts +61 -0
- package/lib/modules.d.ts.map +1 -0
- package/lib/modules.js +132 -0
- package/lib/modules.js.map +1 -0
- package/lib/services/activateEnrollment.d.ts +4 -0
- package/lib/services/activateEnrollment.d.ts.map +1 -0
- package/lib/services/activateEnrollment.js +25 -0
- package/lib/services/activateEnrollment.js.map +1 -0
- package/lib/services/calculateDiscountTotal.d.ts +7 -0
- package/lib/services/calculateDiscountTotal.d.ts.map +1 -0
- package/lib/services/calculateDiscountTotal.js +49 -0
- package/lib/services/calculateDiscountTotal.js.map +1 -0
- package/lib/services/checkoutOrder.d.ts +9 -0
- package/lib/services/checkoutOrder.d.ts.map +1 -0
- package/lib/services/checkoutOrder.js +28 -0
- package/lib/services/checkoutOrder.js.map +1 -0
- package/lib/services/confirmOrder.d.ts +9 -0
- package/lib/services/confirmOrder.d.ts.map +1 -0
- package/lib/services/confirmOrder.js +17 -0
- package/lib/services/confirmOrder.js.map +1 -0
- package/lib/services/createDownloadStream.d.ts +5 -0
- package/lib/services/createDownloadStream.d.ts.map +1 -0
- package/lib/services/createDownloadStream.js +8 -0
- package/lib/services/createDownloadStream.js.map +1 -0
- package/lib/services/createDownloadStreamService.d.ts +11 -0
- package/lib/services/createDownloadStreamService.d.ts.map +1 -0
- package/lib/services/createDownloadStreamService.js +9 -0
- package/lib/services/createDownloadStreamService.js.map +1 -0
- package/lib/services/createEnrollmentFromCheckout.d.ts +15 -0
- package/lib/services/createEnrollmentFromCheckout.d.ts.map +1 -0
- package/lib/services/createEnrollmentFromCheckout.js +40 -0
- package/lib/services/createEnrollmentFromCheckout.js.map +1 -0
- package/lib/services/createManualOrderDiscount.d.ts +7 -0
- package/lib/services/createManualOrderDiscount.d.ts.map +1 -0
- package/lib/services/createManualOrderDiscount.js +47 -0
- package/lib/services/createManualOrderDiscount.js.map +1 -0
- package/lib/services/createSignedURL.d.ts +8 -0
- package/lib/services/createSignedURL.d.ts.map +1 -0
- package/lib/services/createSignedURL.js +15 -0
- package/lib/services/createSignedURL.js.map +1 -0
- package/lib/services/createSignedURLService.d.ts +13 -0
- package/lib/services/createSignedURLService.d.ts.map +1 -0
- package/lib/services/createSignedURLService.js +14 -0
- package/lib/services/createSignedURLService.js.map +1 -0
- package/lib/services/deleteUser.d.ts +5 -0
- package/lib/services/deleteUser.d.ts.map +1 -0
- package/lib/services/deleteUser.js +26 -0
- package/lib/services/deleteUser.js.map +1 -0
- package/lib/services/deleteUserCartService.d.ts +6 -0
- package/lib/services/deleteUserCartService.d.ts.map +1 -0
- package/lib/services/deleteUserCartService.js +20 -0
- package/lib/services/deleteUserCartService.js.map +1 -0
- package/lib/services/deleteUserCarts.d.ts +5 -0
- package/lib/services/deleteUserCarts.d.ts.map +1 -0
- package/lib/services/deleteUserCarts.js +18 -0
- package/lib/services/deleteUserCarts.js.map +1 -0
- package/lib/services/deleteUserCartsService.d.ts +5 -0
- package/lib/services/deleteUserCartsService.d.ts.map +1 -0
- package/lib/services/deleteUserCartsService.js +18 -0
- package/lib/services/deleteUserCartsService.js.map +1 -0
- package/lib/services/discountedEntities.d.ts +5 -0
- package/lib/services/discountedEntities.d.ts.map +1 -0
- package/lib/services/discountedEntities.js +61 -0
- package/lib/services/discountedEntities.js.map +1 -0
- package/lib/services/ercMetadata.d.ts +7 -0
- package/lib/services/ercMetadata.d.ts.map +1 -0
- package/lib/services/ercMetadata.js +22 -0
- package/lib/services/ercMetadata.js.map +1 -0
- package/lib/services/fullfillQuotation.d.ts +4 -0
- package/lib/services/fullfillQuotation.d.ts.map +1 -0
- package/lib/services/fullfillQuotation.js +12 -0
- package/lib/services/fullfillQuotation.js.map +1 -0
- package/lib/services/index.d.ts +110 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +124 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/index_BACKUP_58089.d.ts +246 -0
- package/lib/services/index_BACKUP_58089.d.ts.map +1 -0
- package/lib/services/index_BACKUP_58089.js +103 -0
- package/lib/services/index_BACKUP_58089.js.map +1 -0
- package/lib/services/index_BASE_58089.d.ts +31 -0
- package/lib/services/index_BASE_58089.d.ts.map +1 -0
- package/lib/services/index_BASE_58089.js +42 -0
- package/lib/services/index_BASE_58089.js.map +1 -0
- package/lib/services/index_LOCAL_58089.d.ts +246 -0
- package/lib/services/index_LOCAL_58089.d.ts.map +1 -0
- package/lib/services/index_LOCAL_58089.js +103 -0
- package/lib/services/index_LOCAL_58089.js.map +1 -0
- package/lib/services/index_REMOTE_58089.d.ts +34 -0
- package/lib/services/index_REMOTE_58089.d.ts.map +1 -0
- package/lib/services/index_REMOTE_58089.js +44 -0
- package/lib/services/index_REMOTE_58089.js.map +1 -0
- package/lib/services/initCartProviders.d.ts +4 -0
- package/lib/services/initCartProviders.d.ts.map +1 -0
- package/lib/services/initCartProviders.js +55 -0
- package/lib/services/initCartProviders.js.map +1 -0
- package/lib/services/initializeEnrollment.d.ts +7 -0
- package/lib/services/initializeEnrollment.d.ts.map +1 -0
- package/lib/services/initializeEnrollment.js +28 -0
- package/lib/services/initializeEnrollment.js.map +1 -0
- package/lib/services/invalidateFilterCache.d.ts +3 -0
- package/lib/services/invalidateFilterCache.d.ts.map +1 -0
- package/lib/services/invalidateFilterCache.js +12 -0
- package/lib/services/invalidateFilterCache.js.map +1 -0
- package/lib/services/linkFileService.d.ts +7 -0
- package/lib/services/linkFileService.d.ts.map +1 -0
- package/lib/services/linkFileService.js +18 -0
- package/lib/services/linkFileService.js.map +1 -0
- package/lib/services/loadFilterOptions.d.ts +14 -0
- package/lib/services/loadFilterOptions.d.ts.map +1 -0
- package/lib/services/loadFilterOptions.js +30 -0
- package/lib/services/loadFilterOptions.js.map +1 -0
- package/lib/services/loadFilters.d.ts +14 -0
- package/lib/services/loadFilters.d.ts.map +1 -0
- package/lib/services/loadFilters.js +36 -0
- package/lib/services/loadFilters.js.map +1 -0
- package/lib/services/migrateBookmarks.d.ts +8 -0
- package/lib/services/migrateBookmarks.d.ts.map +1 -0
- package/lib/services/migrateBookmarks.js +26 -0
- package/lib/services/migrateBookmarks.js.map +1 -0
- package/lib/services/migrateBookmarksService.d.ts +13 -0
- package/lib/services/migrateBookmarksService.d.ts.map +1 -0
- package/lib/services/migrateBookmarksService.js +26 -0
- package/lib/services/migrateBookmarksService.js.map +1 -0
- package/lib/services/migrateOrderCart.d.ts +8 -0
- package/lib/services/migrateOrderCart.d.ts.map +1 -0
- package/lib/services/migrateOrderCart.js +32 -0
- package/lib/services/migrateOrderCart.js.map +1 -0
- package/lib/services/migrateOrderCartService.d.ts +23 -0
- package/lib/services/migrateOrderCartService.d.ts.map +1 -0
- package/lib/services/migrateOrderCartService.js +32 -0
- package/lib/services/migrateOrderCartService.js.map +1 -0
- package/lib/services/migrateUserData.d.ts +2 -0
- package/lib/services/migrateUserData.d.ts.map +1 -0
- package/lib/services/migrateUserData.js +20 -0
- package/lib/services/migrateUserData.js.map +1 -0
- package/lib/services/migrateUserDataService.d.ts +19 -0
- package/lib/services/migrateUserDataService.d.ts.map +1 -0
- package/lib/services/migrateUserDataService.js +18 -0
- package/lib/services/migrateUserDataService.js.map +1 -0
- package/lib/services/nextUserCart.d.ts +9 -0
- package/lib/services/nextUserCart.d.ts.map +1 -0
- package/lib/services/nextUserCart.js +34 -0
- package/lib/services/nextUserCart.js.map +1 -0
- package/lib/services/nextUserCartService.d.ts +22 -0
- package/lib/services/nextUserCartService.d.ts.map +1 -0
- package/lib/services/nextUserCartService.js +35 -0
- package/lib/services/nextUserCartService.js.map +1 -0
- package/lib/services/processEnrollment.d.ts +4 -0
- package/lib/services/processEnrollment.d.ts.map +1 -0
- package/lib/services/processEnrollment.js +33 -0
- package/lib/services/processEnrollment.js.map +1 -0
- package/lib/services/processOrder.d.ts +9 -0
- package/lib/services/processOrder.d.ts.map +1 -0
- package/lib/services/processOrder.js +161 -0
- package/lib/services/processOrder.js.map +1 -0
- package/lib/services/processQuotation.d.ts +6 -0
- package/lib/services/processQuotation.d.ts.map +1 -0
- package/lib/services/processQuotation.js +60 -0
- package/lib/services/processQuotation.js.map +1 -0
- package/lib/services/proposeQuotation.d.ts +6 -0
- package/lib/services/proposeQuotation.d.ts.map +1 -0
- package/lib/services/proposeQuotation.js +12 -0
- package/lib/services/proposeQuotation.js.map +1 -0
- package/lib/services/registerPaymentCredentials.d.ts +5 -0
- package/lib/services/registerPaymentCredentials.d.ts.map +1 -0
- package/lib/services/registerPaymentCredentials.js +21 -0
- package/lib/services/registerPaymentCredentials.js.map +1 -0
- package/lib/services/rejectOrder.d.ts +9 -0
- package/lib/services/rejectOrder.d.ts.map +1 -0
- package/lib/services/rejectOrder.js +17 -0
- package/lib/services/rejectOrder.js.map +1 -0
- package/lib/services/rejectQuotation.d.ts +6 -0
- package/lib/services/rejectQuotation.d.ts.map +1 -0
- package/lib/services/rejectQuotation.js +12 -0
- package/lib/services/rejectQuotation.js.map +1 -0
- package/lib/services/removeFiles.d.ts +5 -0
- package/lib/services/removeFiles.d.ts.map +1 -0
- package/lib/services/removeFiles.js +19 -0
- package/lib/services/removeFiles.js.map +1 -0
- package/lib/services/removeFilesService.d.ts +10 -0
- package/lib/services/removeFilesService.d.ts.map +1 -0
- package/lib/services/removeFilesService.js +20 -0
- package/lib/services/removeFilesService.js.map +1 -0
- package/lib/services/removeProduct.d.ts +5 -0
- package/lib/services/removeProduct.d.ts.map +1 -0
- package/lib/services/removeProduct.js +26 -0
- package/lib/services/removeProduct.js.map +1 -0
- package/lib/services/removeProductService.d.ts +20 -0
- package/lib/services/removeProductService.d.ts.map +1 -0
- package/lib/services/removeProductService.js +27 -0
- package/lib/services/removeProductService.js.map +1 -0
- package/lib/services/searchAssortments.d.ts +19 -0
- package/lib/services/searchAssortments.d.ts.map +1 -0
- package/lib/services/searchAssortments.js +33 -0
- package/lib/services/searchAssortments.js.map +1 -0
- package/lib/services/searchProducts.d.ts +16 -0
- package/lib/services/searchProducts.d.ts.map +1 -0
- package/lib/services/searchProducts.js +41 -0
- package/lib/services/searchProducts.js.map +1 -0
- package/lib/services/supportedDeliveryProviders.d.ts +5 -0
- package/lib/services/supportedDeliveryProviders.d.ts.map +1 -0
- package/lib/services/supportedDeliveryProviders.js +14 -0
- package/lib/services/supportedDeliveryProviders.js.map +1 -0
- package/lib/services/supportedPaymentProviders.d.ts +5 -0
- package/lib/services/supportedPaymentProviders.d.ts.map +1 -0
- package/lib/services/supportedPaymentProviders.js +14 -0
- package/lib/services/supportedPaymentProviders.js.map +1 -0
- package/lib/services/supportedWarehousingProviders.d.ts +5 -0
- package/lib/services/supportedWarehousingProviders.d.ts.map +1 -0
- package/lib/services/supportedWarehousingProviders.js +10 -0
- package/lib/services/supportedWarehousingProviders.js.map +1 -0
- package/lib/services/terminateEnrollment.d.ts +3 -0
- package/lib/services/terminateEnrollment.d.ts.map +1 -0
- package/lib/services/terminateEnrollment.js +25 -0
- package/lib/services/terminateEnrollment.js.map +1 -0
- package/lib/services/updateCalculation.d.ts +3 -0
- package/lib/services/updateCalculation.d.ts.map +1 -0
- package/lib/services/updateCalculation.js +101 -0
- package/lib/services/updateCalculation.js.map +1 -0
- package/lib/services/updateCalculationService.d.ts +17 -0
- package/lib/services/updateCalculationService.d.ts.map +1 -0
- package/lib/services/updateCalculationService.js +68 -0
- package/lib/services/updateCalculationService.js.map +1 -0
- package/lib/services/updateScheduling.d.ts +8 -0
- package/lib/services/updateScheduling.d.ts.map +1 -0
- package/lib/services/updateScheduling.js +42 -0
- package/lib/services/updateScheduling.js.map +1 -0
- package/lib/services/updateUserAvatarAfterUpload.d.ts +6 -0
- package/lib/services/updateUserAvatarAfterUpload.d.ts.map +1 -0
- package/lib/services/updateUserAvatarAfterUpload.js +25 -0
- package/lib/services/updateUserAvatarAfterUpload.js.map +1 -0
- package/lib/services/updateUserAvatarAfterUploadService.d.ts +18 -0
- package/lib/services/updateUserAvatarAfterUploadService.d.ts.map +1 -0
- package/lib/services/updateUserAvatarAfterUploadService.js +25 -0
- package/lib/services/updateUserAvatarAfterUploadService.js.map +1 -0
- package/lib/services/uploadFileFromStream.d.ts +8 -0
- package/lib/services/uploadFileFromStream.d.ts.map +1 -0
- package/lib/services/uploadFileFromStream.js +11 -0
- package/lib/services/uploadFileFromStream.js.map +1 -0
- package/lib/services/uploadFileFromStreamService.d.ts +12 -0
- package/lib/services/uploadFileFromStreamService.d.ts.map +1 -0
- package/lib/services/uploadFileFromStreamService.js +10 -0
- package/lib/services/uploadFileFromStreamService.js.map +1 -0
- package/lib/services/uploadFileFromURL.d.ts +13 -0
- package/lib/services/uploadFileFromURL.d.ts.map +1 -0
- package/lib/services/uploadFileFromURL.js +11 -0
- package/lib/services/uploadFileFromURL.js.map +1 -0
- package/lib/services/uploadFileFromURLService.d.ts +17 -0
- package/lib/services/uploadFileFromURLService.d.ts.map +1 -0
- package/lib/services/uploadFileFromURLService.js +10 -0
- package/lib/services/uploadFileFromURLService.js.map +1 -0
- package/lib/services/validateOrder.d.ts +4 -0
- package/lib/services/validateOrder.d.ts.map +1 -0
- package/lib/services/validateOrder.js +45 -0
- package/lib/services/validateOrder.js.map +1 -0
- package/lib/services/verifyQuotation.d.ts +6 -0
- package/lib/services/verifyQuotation.d.ts.map +1 -0
- package/lib/services/verifyQuotation.js +12 -0
- package/lib/services/verifyQuotation.js.map +1 -0
- package/package.json +28 -28
- package/src/core-index.ts +14 -241
- package/src/directors/BaseDiscountAdapter.test.ts +49 -0
- package/src/directors/BaseDiscountAdapter.ts +91 -0
- package/src/directors/BaseDiscountDirector.ts +72 -0
- package/src/directors/BasePricingAdapter.ts +82 -0
- package/src/directors/BasePricingDirector.ts +136 -0
- package/src/directors/BasePricingSheet.test.ts +43 -0
- package/src/directors/BasePricingSheet.ts +140 -0
- package/src/directors/DeliveryAdapter.ts +110 -0
- package/src/directors/DeliveryDirector.ts +135 -0
- package/src/directors/DeliveryPricingAdapter.ts +87 -0
- package/src/directors/DeliveryPricingDirector.ts +92 -0
- package/src/directors/DeliveryPricingSheet.ts +86 -0
- package/src/directors/EnrollmentAdapter.ts +109 -0
- package/src/directors/EnrollmentDirector.ts +70 -0
- package/src/directors/FilterAdapter.ts +103 -0
- package/src/directors/FilterDirector.ts +309 -0
- package/src/directors/MessagingDirector.test.ts +5 -0
- package/src/directors/MessagingDirector.ts +59 -0
- package/src/directors/OrderDiscountAdapter.ts +10 -0
- package/src/directors/OrderDiscountConfiguration.ts +5 -0
- package/src/directors/OrderDiscountDirector.ts +6 -0
- package/src/directors/OrderPricingAdapter.ts +63 -0
- package/src/directors/OrderPricingDirector.ts +74 -0
- package/src/directors/OrderPricingSheet.ts +147 -0
- package/src/directors/PaymentAdapter.ts +118 -0
- package/src/directors/PaymentDirector.ts +275 -0
- package/src/directors/PaymentPricingAdapter.ts +86 -0
- package/src/directors/PaymentPricingDirector.ts +94 -0
- package/src/directors/PaymentPricingSheet.ts +91 -0
- package/src/directors/ProductDiscountAdapter.ts +10 -0
- package/src/directors/ProductDiscountConfiguration.ts +18 -0
- package/src/directors/ProductDiscountDirector.ts +5 -0
- package/src/directors/ProductPricingAdapter.ts +56 -0
- package/src/directors/ProductPricingDirector.ts +100 -0
- package/src/directors/ProductPricingSheet.test.ts +129 -0
- package/src/directors/ProductPricingSheet.ts +127 -0
- package/src/directors/QuotationAdapter.ts +86 -0
- package/src/directors/QuotationDirector.ts +105 -0
- package/src/directors/WarehousingAdapter.ts +83 -0
- package/src/directors/WarehousingDirector.ts +235 -0
- package/src/directors/WorkerAdapter.ts +30 -0
- package/src/directors/WorkerDirector.ts +154 -0
- package/src/directors/index.ts +49 -0
- package/src/directors/periodForReferenceDate.test.ts +23 -0
- package/src/modules.ts +215 -0
- package/src/services/activateEnrollment.ts +30 -0
- package/src/services/calculateDiscountTotal.ts +71 -0
- package/src/services/checkoutOrder.ts +43 -0
- package/src/services/confirmOrder.ts +26 -0
- package/src/services/createDownloadStream.ts +16 -0
- package/src/services/createEnrollmentFromCheckout.ts +66 -0
- package/src/services/createManualOrderDiscount.ts +56 -0
- package/src/services/createSignedURL.ts +20 -0
- package/src/services/deleteUser.ts +33 -0
- package/src/services/discountedEntities.ts +81 -0
- package/src/services/ercMetadata.ts +33 -0
- package/src/services/fullfillQuotation.ts +14 -0
- package/src/services/index.ts +154 -0
- package/src/services/initCartProviders.ts +86 -0
- package/src/services/initializeEnrollment.ts +38 -0
- package/src/services/invalidateFilterCache.ts +16 -0
- package/src/services/linkFileService.ts +22 -0
- package/src/services/loadFilterOptions.ts +50 -0
- package/src/services/loadFilters.ts +52 -0
- package/src/services/migrateBookmarks.ts +39 -0
- package/src/services/migrateOrderCart.ts +52 -0
- package/src/services/migrateUserData.ts +22 -0
- package/src/services/nextUserCart.ts +52 -0
- package/src/services/processEnrollment.ts +37 -0
- package/src/services/processOrder.ts +241 -0
- package/src/services/processQuotation.ts +75 -0
- package/src/services/proposeQuotation.ts +18 -0
- package/src/services/registerPaymentCredentials.ts +30 -0
- package/src/services/rejectOrder.ts +26 -0
- package/src/services/rejectQuotation.ts +18 -0
- package/src/services/removeFiles.ts +25 -0
- package/src/services/removeProduct.ts +34 -0
- package/src/services/searchAssortments.ts +58 -0
- package/src/services/searchProducts.ts +73 -0
- package/src/services/supportedDeliveryProviders.ts +24 -0
- package/src/services/supportedPaymentProviders.ts +25 -0
- package/src/services/supportedWarehousingProviders.ts +18 -0
- package/src/services/terminateEnrollment.ts +29 -0
- package/src/services/updateCalculation.ts +143 -0
- package/src/services/updateScheduling.ts +64 -0
- package/src/services/updateUserAvatarAfterUpload.ts +30 -0
- package/src/services/uploadFileFromStream.ts +15 -0
- package/src/services/uploadFileFromURL.ts +29 -0
- package/src/services/validateOrder.ts +53 -0
- package/src/services/verifyQuotation.ts +18 -0
- package/tsconfig.json +5 -7
- package/src/types.ts +0 -7
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { log, LogLevel } from '@unchainedshop/logger';
|
|
2
|
+
import { add } from 'date-fns/add';
|
|
3
|
+
export const periodForReferenceDate = (referenceDate, intervalCount = 1, interval = 'WEEKS') => {
|
|
4
|
+
const lowerCaseInterval = interval.toLowerCase();
|
|
5
|
+
const start = new Date(referenceDate);
|
|
6
|
+
if (lowerCaseInterval === 'hours') {
|
|
7
|
+
start.setMinutes(0, 0, 0);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
start.setSeconds(0, 0);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
start,
|
|
14
|
+
end: add(start, {
|
|
15
|
+
[lowerCaseInterval]: intervalCount,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export const EnrollmentAdapter = {
|
|
20
|
+
isActivatedFor: () => {
|
|
21
|
+
return false;
|
|
22
|
+
},
|
|
23
|
+
transformOrderItemToEnrollmentPlan: async (item) => {
|
|
24
|
+
return {
|
|
25
|
+
configuration: item.configuration,
|
|
26
|
+
productId: item.productId,
|
|
27
|
+
quantity: item.quantity,
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
actions: (context) => {
|
|
31
|
+
return {
|
|
32
|
+
configurationForOrder: async () => {
|
|
33
|
+
throw new Error(`Not implemented on EnrollmentAdapter`);
|
|
34
|
+
},
|
|
35
|
+
isOverdue: async () => false,
|
|
36
|
+
isValidForActivation: async () => false,
|
|
37
|
+
nextPeriod: async () => {
|
|
38
|
+
const { enrollment } = context;
|
|
39
|
+
const product = await context.modules.products.findProduct({
|
|
40
|
+
productId: enrollment.productId,
|
|
41
|
+
});
|
|
42
|
+
const plan = product?.plan;
|
|
43
|
+
const referenceDate = new Date();
|
|
44
|
+
if (!plan)
|
|
45
|
+
return null;
|
|
46
|
+
if (plan.trialIntervalCount && !enrollment?.periods?.length) {
|
|
47
|
+
return {
|
|
48
|
+
...periodForReferenceDate(referenceDate, plan.trialIntervalCount, plan.trialInterval),
|
|
49
|
+
isTrial: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const lastEnd = enrollment?.periods?.reduce((acc, item) => {
|
|
53
|
+
if (!acc)
|
|
54
|
+
return item.end;
|
|
55
|
+
const endDate = new Date(item.end);
|
|
56
|
+
if (acc.getTime() < endDate.getTime()) {
|
|
57
|
+
return endDate;
|
|
58
|
+
}
|
|
59
|
+
return acc;
|
|
60
|
+
}, referenceDate);
|
|
61
|
+
return {
|
|
62
|
+
...periodForReferenceDate(lastEnd, plan.billingIntervalCount, plan.billingInterval),
|
|
63
|
+
isTrial: false,
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
// eslint-disable-next-line
|
|
69
|
+
log(message, { level = LogLevel.Debug, ...options } = {}) {
|
|
70
|
+
return log(message, { level, ...options });
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=EnrollmentAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnrollmentAdapter.js","sourceRoot":"","sources":["../../src/directors/EnrollmentAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IBaseDirector } from '@unchainedshop/utils';
|
|
2
|
+
import { EnrollmentAdapterActions, EnrollmentContext, IEnrollmentAdapter } from './EnrollmentAdapter.js';
|
|
3
|
+
import type { OrderPosition } from '@unchainedshop/core-orders';
|
|
4
|
+
import type { Product } from '@unchainedshop/core-products';
|
|
5
|
+
import { Enrollment } from '@unchainedshop/core-enrollments';
|
|
6
|
+
export type IEnrollmentDirector = IBaseDirector<IEnrollmentAdapter> & {
|
|
7
|
+
transformOrderItemToEnrollment: (item: {
|
|
8
|
+
orderPosition: OrderPosition;
|
|
9
|
+
product: Product;
|
|
10
|
+
}, doc: Omit<Enrollment, 'configuration' | 'productId' | 'quantity' | 'status' | 'periods' | 'log'>, unchainedAPI: any) => Promise<Omit<Enrollment, 'status' | 'periods' | 'log'>>;
|
|
11
|
+
actions: (enrollmentContext: EnrollmentContext, unchainedAPI: any) => Promise<EnrollmentAdapterActions>;
|
|
12
|
+
};
|
|
13
|
+
export declare const EnrollmentDirector: IEnrollmentDirector;
|
|
14
|
+
//# sourceMappingURL=EnrollmentDirector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnrollmentDirector.d.ts","sourceRoot":"","sources":["../../src/directors/EnrollmentDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAK7D,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG;IACpE,8BAA8B,EAAE,CAC9B,IAAI,EAAE;QAAE,aAAa,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EACxD,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,EAChG,YAAY,KAAA,KACT,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IAE7D,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACpG,CAAC;AAiBF,eAAO,MAAM,kBAAkB,EAAE,mBAmChC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseDirector } from '@unchainedshop/utils';
|
|
2
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
3
|
+
const logger = createLogger('unchained:core');
|
|
4
|
+
const baseDirector = BaseDirector('EnrollmentDirector', {
|
|
5
|
+
adapterSortKey: 'orderIndex',
|
|
6
|
+
});
|
|
7
|
+
const findAppropriateAdapters = (productPlan) => baseDirector.getAdapters({
|
|
8
|
+
adapterFilter: (Adapter) => {
|
|
9
|
+
const activated = Adapter.isActivatedFor(productPlan);
|
|
10
|
+
if (!activated) {
|
|
11
|
+
logger.warn(`Enrollment Director -> ${Adapter.key} (${Adapter.version}) skipped`);
|
|
12
|
+
}
|
|
13
|
+
return activated;
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
export const EnrollmentDirector = {
|
|
17
|
+
...baseDirector,
|
|
18
|
+
transformOrderItemToEnrollment: async ({ orderPosition, product }, doc, unchainedAPI) => {
|
|
19
|
+
const Adapter = findAppropriateAdapters(product.plan)?.[0];
|
|
20
|
+
if (!Adapter) {
|
|
21
|
+
throw new Error('No suitable enrollment plugin available for this item');
|
|
22
|
+
}
|
|
23
|
+
const enrollmentPlan = await Adapter.transformOrderItemToEnrollmentPlan(orderPosition, unchainedAPI);
|
|
24
|
+
return {
|
|
25
|
+
...doc,
|
|
26
|
+
...enrollmentPlan,
|
|
27
|
+
configuration: [],
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
actions: async (enrollmentContext, unchainedAPI) => {
|
|
31
|
+
const context = { ...enrollmentContext, ...unchainedAPI };
|
|
32
|
+
// Resolve adapter
|
|
33
|
+
const product = await context.modules.products.findProduct({
|
|
34
|
+
productId: context.enrollment.productId,
|
|
35
|
+
});
|
|
36
|
+
const Adapter = findAppropriateAdapters(product?.plan)?.[0];
|
|
37
|
+
if (!Adapter) {
|
|
38
|
+
throw new Error('No suitable enrollment plugin available for this plan configuration');
|
|
39
|
+
}
|
|
40
|
+
const adapter = Adapter.actions(context);
|
|
41
|
+
return adapter;
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=EnrollmentDirector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnrollmentDirector.js","sourceRoot":"","sources":["../../src/directors/EnrollmentDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAKnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAY9C,MAAM,YAAY,GAAG,YAAY,CAAqB,oBAAoB,EAAE;IAC1E,cAAc,EAAE,YAAY;CAC7B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,WAAyB,EAAE,EAAE,CAC5D,YAAY,CAAC,WAAW,CAAC;IACvB,aAAa,EAAE,CAAC,OAA2B,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,GAAG,YAAY;IAEf,8BAA8B,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;QACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,kCAAkC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAErG,OAAO;YACL,GAAG,GAAG;YACN,GAAG,cAAc;YACjB,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAAC;QAE1D,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzD,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;SACxC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Assortment } from '@unchainedshop/core-assortments';
|
|
2
|
+
import { mongodb } from '@unchainedshop/mongodb';
|
|
3
|
+
import { IBaseAdapter } from '@unchainedshop/utils';
|
|
4
|
+
import { Product } from '@unchainedshop/core-products';
|
|
5
|
+
import { Filter, SearchQuery } from '@unchainedshop/core-filters';
|
|
6
|
+
import { Modules } from '../modules.js';
|
|
7
|
+
export type FilterInputText = {
|
|
8
|
+
locale: string;
|
|
9
|
+
title: string;
|
|
10
|
+
subtitle?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare enum FilterError {
|
|
13
|
+
NOT_IMPLEMENTED = "NOT_IMPLEMENTED"
|
|
14
|
+
}
|
|
15
|
+
export type FilterContext = {
|
|
16
|
+
filter?: Filter;
|
|
17
|
+
searchQuery: SearchQuery;
|
|
18
|
+
};
|
|
19
|
+
export interface FilterAdapterActions {
|
|
20
|
+
aggregateProductIds: (params: {
|
|
21
|
+
productIds: Array<string>;
|
|
22
|
+
}) => Array<string>;
|
|
23
|
+
searchAssortments: (params: {
|
|
24
|
+
assortmentIds: Array<string>;
|
|
25
|
+
}, options?: {
|
|
26
|
+
filterSelector: mongodb.Filter<Filter>;
|
|
27
|
+
assortmentSelector: mongodb.Filter<Assortment>;
|
|
28
|
+
sortStage: mongodb.FindOptions['sort'];
|
|
29
|
+
}) => Promise<Array<string>>;
|
|
30
|
+
searchProducts: (params: {
|
|
31
|
+
productIds: Array<string>;
|
|
32
|
+
}, options?: {
|
|
33
|
+
filterSelector: mongodb.Filter<Filter>;
|
|
34
|
+
productSelector: mongodb.Filter<Product>;
|
|
35
|
+
sortStage: mongodb.FindOptions['sort'];
|
|
36
|
+
}) => Promise<Array<string>>;
|
|
37
|
+
transformFilterSelector: (query: mongodb.Filter<Filter>, options?: any) => Promise<mongodb.Filter<Filter>>;
|
|
38
|
+
transformProductSelector: (query: mongodb.Filter<Product>, options?: {
|
|
39
|
+
key?: string;
|
|
40
|
+
value?: any;
|
|
41
|
+
}) => Promise<mongodb.Filter<Product>>;
|
|
42
|
+
transformSortStage: (sort: mongodb.FindOptions['sort'], options?: {
|
|
43
|
+
key: string;
|
|
44
|
+
value?: any;
|
|
45
|
+
}) => Promise<mongodb.FindOptions['sort']>;
|
|
46
|
+
}
|
|
47
|
+
export type IFilterAdapter = IBaseAdapter & {
|
|
48
|
+
orderIndex: number;
|
|
49
|
+
actions: (params: FilterContext & {
|
|
50
|
+
modules: Modules;
|
|
51
|
+
}) => FilterAdapterActions;
|
|
52
|
+
};
|
|
53
|
+
export declare const FilterAdapter: Omit<IFilterAdapter, 'key' | 'label' | 'version'>;
|
|
54
|
+
//# sourceMappingURL=FilterAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/FilterAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { log, LogLevel } from '@unchainedshop/logger';
|
|
2
|
+
export var FilterError;
|
|
3
|
+
(function (FilterError) {
|
|
4
|
+
FilterError["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
|
|
5
|
+
})(FilterError || (FilterError = {}));
|
|
6
|
+
export const FilterAdapter = {
|
|
7
|
+
orderIndex: 0,
|
|
8
|
+
actions: () => {
|
|
9
|
+
return {
|
|
10
|
+
// This function is called to check if a filter actually matches a certain productId
|
|
11
|
+
aggregateProductIds: ({ productIds }) => {
|
|
12
|
+
return productIds;
|
|
13
|
+
},
|
|
14
|
+
searchProducts: async ({ productIds }) => {
|
|
15
|
+
return productIds;
|
|
16
|
+
},
|
|
17
|
+
searchAssortments: async ({ assortmentIds }) => {
|
|
18
|
+
return assortmentIds;
|
|
19
|
+
},
|
|
20
|
+
transformSortStage: async (lastStage) => {
|
|
21
|
+
return lastStage;
|
|
22
|
+
},
|
|
23
|
+
// return a selector that is applied to Products.find to find relevant products
|
|
24
|
+
// if no key is provided, it expects either null for all products or a list of products that are relevant
|
|
25
|
+
transformProductSelector: async (lastSelector) => {
|
|
26
|
+
return lastSelector;
|
|
27
|
+
},
|
|
28
|
+
// return a selector that is applied to Filters.find to find relevant filters
|
|
29
|
+
transformFilterSelector: async (lastSelector) => {
|
|
30
|
+
return lastSelector;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
log(message, { level = LogLevel.Debug, ...options } = {}) {
|
|
35
|
+
return log(message, { level, ...options });
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=FilterAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterAdapter.js","sourceRoot":"","sources":["../../src/directors/FilterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAUtD,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,kDAAmC,CAAA;AACrC,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAoDD,MAAM,CAAC,MAAM,aAAa,GAAsD;IAC9E,UAAU,EAAE,CAAC;IAEb,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,oFAAoF;YACpF,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,cAAc,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACvC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,iBAAiB,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;gBAC7C,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACtC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,+EAA+E;YAC/E,yGAAyG;YACzG,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC/C,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,6EAA6E;YAC7E,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC9C,OAAO,YAAY,CAAC;YACtB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IBaseDirector } from '@unchainedshop/utils';
|
|
2
|
+
import { FilterAdapterActions, FilterContext, IFilterAdapter } from './FilterAdapter.js';
|
|
3
|
+
import { Filter, SearchConfiguration, SearchFilterQuery, SearchQuery } from '@unchainedshop/core-filters';
|
|
4
|
+
import { Modules } from '../modules.js';
|
|
5
|
+
export declare const parseQueryArray: (query: SearchFilterQuery) => Record<string, Array<string>>;
|
|
6
|
+
export type IFilterDirector = IBaseDirector<IFilterAdapter> & {
|
|
7
|
+
actions: (filterContext: FilterContext, unchainedAPI: any) => Promise<FilterAdapterActions>;
|
|
8
|
+
invalidateProductIdCache: (filter: Filter, unchainedAPI: any) => Promise<void>;
|
|
9
|
+
findProductIds: (filter: Filter, { value }: {
|
|
10
|
+
value?: boolean | string;
|
|
11
|
+
}, unchainedAPI: {
|
|
12
|
+
modules: Modules;
|
|
13
|
+
}) => Promise<Array<string>>;
|
|
14
|
+
buildProductIdMap: (filter: Filter, unchainedAPI: {
|
|
15
|
+
modules: Modules;
|
|
16
|
+
}) => Promise<[Array<string>, Record<string, Array<string>>]>;
|
|
17
|
+
filterProductIds: (filter: Filter, { values, forceLiveCollection }: {
|
|
18
|
+
values: Array<string>;
|
|
19
|
+
forceLiveCollection?: boolean;
|
|
20
|
+
}, unchainedAPI: {
|
|
21
|
+
modules: Modules;
|
|
22
|
+
}) => Promise<Array<string>>;
|
|
23
|
+
filterFacets: (filter: Filter, params: {
|
|
24
|
+
searchQuery: SearchQuery;
|
|
25
|
+
forceLiveCollection?: boolean;
|
|
26
|
+
allProductIds: Array<string>;
|
|
27
|
+
otherFilters: Array<Filter>;
|
|
28
|
+
}, unchainedAPI: {
|
|
29
|
+
modules: Modules;
|
|
30
|
+
}) => Promise<{
|
|
31
|
+
examinedProductIdSet: Set<string>;
|
|
32
|
+
filteredByOtherFiltersSet: Set<string>;
|
|
33
|
+
filteredByThisFilterSet: Set<string>;
|
|
34
|
+
}>;
|
|
35
|
+
productFacetedSearch: (productIds: Array<string>, searchConfiguration: SearchConfiguration, unchainedAPI: {
|
|
36
|
+
modules: Modules;
|
|
37
|
+
}) => Promise<Array<string>>;
|
|
38
|
+
};
|
|
39
|
+
export declare const FilterDirector: IFilterDirector;
|
|
40
|
+
//# sourceMappingURL=FilterDirector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterDirector.d.ts","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,MAAM,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,UAAW,iBAAiB,KAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAOpF,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG;IAC5D,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvF,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,EACvC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EACzF,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC7B,EACD,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC;QACX,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC,CAAC;IAEH,oBAAoB,EAAE,CACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,eAiP5B,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { BaseDirector, intersectSet } from '@unchainedshop/utils';
|
|
2
|
+
import { filtersSettings, FilterType, } from '@unchainedshop/core-filters';
|
|
3
|
+
export const parseQueryArray = (query) => (query || []).reduce((accumulator, { key, value }) => ({
|
|
4
|
+
...accumulator,
|
|
5
|
+
[key]: accumulator[key] ? accumulator[key].concat(value) : [value],
|
|
6
|
+
}), {});
|
|
7
|
+
const baseDirector = BaseDirector('FilterDirector', {
|
|
8
|
+
adapterSortKey: 'orderIndex',
|
|
9
|
+
});
|
|
10
|
+
export const FilterDirector = {
|
|
11
|
+
...baseDirector,
|
|
12
|
+
actions: async (filterContext, unchainedAPI) => {
|
|
13
|
+
const context = { ...filterContext, ...unchainedAPI };
|
|
14
|
+
const adapters = baseDirector.getAdapters().map((Adapter) => Adapter.actions(context));
|
|
15
|
+
const reduceAdapters = (reducer, initialValue) => {
|
|
16
|
+
if (adapters.length === 0) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return adapters.reduce(async (lastSearchPromise, adapter, index) => {
|
|
20
|
+
return reducer(lastSearchPromise, adapter, index);
|
|
21
|
+
}, Promise.resolve(initialValue));
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
aggregateProductIds: (params) => {
|
|
25
|
+
const reducedProductIds = adapters.reduce((productIds, adapter) => adapter.aggregateProductIds({ productIds }), params.productIds);
|
|
26
|
+
return reducedProductIds;
|
|
27
|
+
},
|
|
28
|
+
searchAssortments: async (params) => {
|
|
29
|
+
return reduceAdapters(async (lastSearchPromise, adapter) => {
|
|
30
|
+
const assortmentIds = await lastSearchPromise;
|
|
31
|
+
return adapter.searchAssortments({ assortmentIds });
|
|
32
|
+
}, params.assortmentIds);
|
|
33
|
+
},
|
|
34
|
+
searchProducts: async (params) => {
|
|
35
|
+
return reduceAdapters(async (lastSearchPromise, adapter) => {
|
|
36
|
+
const productIds = await lastSearchPromise;
|
|
37
|
+
return adapter.searchProducts({ productIds });
|
|
38
|
+
}, params.productIds);
|
|
39
|
+
},
|
|
40
|
+
transformProductSelector: async (defaultSelector, options) => {
|
|
41
|
+
return reduceAdapters(async (lastSelector, adapter) => {
|
|
42
|
+
return adapter.transformProductSelector(await lastSelector, options);
|
|
43
|
+
}, defaultSelector || null);
|
|
44
|
+
},
|
|
45
|
+
transformSortStage: async (defaultStage, options) => {
|
|
46
|
+
return reduceAdapters(async (lastSortStage, adapter) => {
|
|
47
|
+
return adapter.transformSortStage(await lastSortStage, options);
|
|
48
|
+
}, defaultStage || null);
|
|
49
|
+
},
|
|
50
|
+
transformFilterSelector: async (defaultSelector) => {
|
|
51
|
+
return reduceAdapters(async (lastSelector, adapter) => {
|
|
52
|
+
return adapter.transformFilterSelector(await lastSelector);
|
|
53
|
+
}, defaultSelector || null);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
async findProductIds(filter, { value }, unchainedAPI) {
|
|
58
|
+
const { modules } = unchainedAPI;
|
|
59
|
+
const director = await FilterDirector.actions({ filter, searchQuery: {} }, unchainedAPI);
|
|
60
|
+
const productSelector = await director.transformProductSelector(modules.products.search.buildActiveDraftStatusFilter(), {
|
|
61
|
+
key: filter.key,
|
|
62
|
+
value,
|
|
63
|
+
});
|
|
64
|
+
if (!productSelector)
|
|
65
|
+
return [];
|
|
66
|
+
return modules.products.findProductIds({
|
|
67
|
+
productSelector,
|
|
68
|
+
includeDrafts: true,
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
async buildProductIdMap(filter, unchainedAPI) {
|
|
72
|
+
const allProductIds = await this.findProductIds(filter, {}, unchainedAPI);
|
|
73
|
+
const productIdsMap = filter.type === FilterType.SWITCH
|
|
74
|
+
? {
|
|
75
|
+
true: await this.findProductIds(filter, { value: true }, unchainedAPI),
|
|
76
|
+
false: await this.findProductIds(filter, { value: false }, unchainedAPI),
|
|
77
|
+
}
|
|
78
|
+
: await (filter.options || []).reduce(async (accumulatorPromise, option) => {
|
|
79
|
+
const accumulator = await accumulatorPromise;
|
|
80
|
+
return {
|
|
81
|
+
...accumulator,
|
|
82
|
+
[option]: await this.findProductIds(filter, { value: option }, unchainedAPI),
|
|
83
|
+
};
|
|
84
|
+
}, Promise.resolve({}));
|
|
85
|
+
return [allProductIds, productIdsMap];
|
|
86
|
+
},
|
|
87
|
+
async filterProductIds(filter, { values, forceLiveCollection }, unchainedAPI) {
|
|
88
|
+
const [allProductIds, keyToProductIdMap] = (!forceLiveCollection && (await filtersSettings.getCachedProductIds(filter._id))) ||
|
|
89
|
+
(await this.buildProductIdMap(filter, unchainedAPI));
|
|
90
|
+
const filteredKeys = unchainedAPI.modules.filters.parse(filter, values, Object.keys(keyToProductIdMap));
|
|
91
|
+
return filteredKeys.reduce((accumulator, key) => {
|
|
92
|
+
const additionalValues = key === undefined ? allProductIds : keyToProductIdMap[key];
|
|
93
|
+
return [...accumulator, ...(additionalValues || [])];
|
|
94
|
+
}, []);
|
|
95
|
+
},
|
|
96
|
+
async productFacetedSearch(productIds, searchConfiguration, unchainedAPI) {
|
|
97
|
+
const { searchQuery, filterSelector, forceLiveCollection } = searchConfiguration;
|
|
98
|
+
const { modules } = unchainedAPI;
|
|
99
|
+
if (!searchQuery || !searchQuery.filterQuery)
|
|
100
|
+
return productIds;
|
|
101
|
+
const parsedFilterQuery = parseQueryArray(searchQuery.filterQuery);
|
|
102
|
+
const filters = filterSelector
|
|
103
|
+
? await modules.filters.findFilters({
|
|
104
|
+
...filterSelector,
|
|
105
|
+
limit: 0,
|
|
106
|
+
includeInactive: true,
|
|
107
|
+
})
|
|
108
|
+
: [];
|
|
109
|
+
const intersectedProductIds = await filters.reduce(async (productIdSetPromise, filter) => {
|
|
110
|
+
const productIdSet = await productIdSetPromise;
|
|
111
|
+
if (!parsedFilterQuery[filter.key])
|
|
112
|
+
return productIdSet;
|
|
113
|
+
const values = parsedFilterQuery[filter.key];
|
|
114
|
+
const filterOptionProductIds = await this.filterProductIds(filter, {
|
|
115
|
+
values,
|
|
116
|
+
forceLiveCollection,
|
|
117
|
+
}, unchainedAPI);
|
|
118
|
+
return intersectSet(productIdSet, new Set(filterOptionProductIds));
|
|
119
|
+
}, Promise.resolve(new Set(productIds)));
|
|
120
|
+
return [...intersectedProductIds];
|
|
121
|
+
},
|
|
122
|
+
async filterFacets(filter, params, unchainedAPI) {
|
|
123
|
+
const { allProductIds, searchQuery, forceLiveCollection, otherFilters } = params;
|
|
124
|
+
const filterQueryParsed = parseQueryArray(searchQuery?.filterQuery);
|
|
125
|
+
// The examinedProductIdSet is a set of product id's that:
|
|
126
|
+
// - Fit this filter generally
|
|
127
|
+
// - Are part of the preselected product id array
|
|
128
|
+
const filteredProductIds = await this.filterProductIds(filter, {
|
|
129
|
+
values: [undefined],
|
|
130
|
+
forceLiveCollection,
|
|
131
|
+
}, unchainedAPI);
|
|
132
|
+
const examinedProductIdSet = intersectSet(new Set(allProductIds), new Set(filteredProductIds));
|
|
133
|
+
const values = filterQueryParsed[filter.key];
|
|
134
|
+
// The filteredProductIdSet is a set of product id's that:
|
|
135
|
+
// - Are filtered by all other filters
|
|
136
|
+
// - Are filtered by the currently selected value of this filter
|
|
137
|
+
// or if there is no currently selected value:
|
|
138
|
+
// - Is the same like examinedProductIdSet
|
|
139
|
+
const filteredByOtherFiltersSet = await otherFilters
|
|
140
|
+
.filter((otherFilter) => otherFilter.key !== filter.key)
|
|
141
|
+
.reduce(async (productIdSetPromise, otherFilter) => {
|
|
142
|
+
if (otherFilter.key === filter.key)
|
|
143
|
+
return productIdSetPromise;
|
|
144
|
+
if (!filterQueryParsed[otherFilter.key])
|
|
145
|
+
return productIdSetPromise;
|
|
146
|
+
const productIdSet = await productIdSetPromise;
|
|
147
|
+
const otherFilterProductIds = await this.filterProductIds(otherFilter, {
|
|
148
|
+
values: filterQueryParsed[otherFilter.key],
|
|
149
|
+
forceLiveCollection,
|
|
150
|
+
}, unchainedAPI);
|
|
151
|
+
return intersectSet(productIdSet, new Set(otherFilterProductIds));
|
|
152
|
+
}, Promise.resolve(new Set(examinedProductIdSet)));
|
|
153
|
+
const filterProductIdsForValues = values
|
|
154
|
+
? await this.filterProductIds(filter, {
|
|
155
|
+
values,
|
|
156
|
+
forceLiveCollection,
|
|
157
|
+
}, unchainedAPI)
|
|
158
|
+
: filteredProductIds;
|
|
159
|
+
const filteredByThisFilterSet = new Set(filterProductIdsForValues);
|
|
160
|
+
return {
|
|
161
|
+
examinedProductIdSet,
|
|
162
|
+
filteredByOtherFiltersSet,
|
|
163
|
+
filteredByThisFilterSet,
|
|
164
|
+
};
|
|
165
|
+
},
|
|
166
|
+
async invalidateProductIdCache(filter, unchainedAPI) {
|
|
167
|
+
if (!filter)
|
|
168
|
+
return;
|
|
169
|
+
const [productIds, productIdMap] = await this.buildProductIdMap(filter, unchainedAPI);
|
|
170
|
+
await filtersSettings.setCachedProductIds(filter._id, productIds, productIdMap);
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=FilterDirector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterDirector.js","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type EmailTemplateType = {
|
|
2
|
+
type: 'EMAIL';
|
|
3
|
+
input: {
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
cc?: string;
|
|
7
|
+
subject: string;
|
|
8
|
+
text: string;
|
|
9
|
+
html?: string;
|
|
10
|
+
attachments?: Array<{
|
|
11
|
+
filename: string;
|
|
12
|
+
path: string;
|
|
13
|
+
} | {
|
|
14
|
+
filename: string;
|
|
15
|
+
content: string;
|
|
16
|
+
contentType: string;
|
|
17
|
+
encoding: string;
|
|
18
|
+
} | {
|
|
19
|
+
href: string;
|
|
20
|
+
filename: string;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type SMSTemplateType = {
|
|
25
|
+
type: 'SMS';
|
|
26
|
+
input: {
|
|
27
|
+
from: string;
|
|
28
|
+
to: string;
|
|
29
|
+
text: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export type ArbitraryTemplateType = {
|
|
33
|
+
type: string;
|
|
34
|
+
input: any;
|
|
35
|
+
};
|
|
36
|
+
export type TemplateResolver<T = {
|
|
37
|
+
[x: string]: any;
|
|
38
|
+
}> = (params: {
|
|
39
|
+
template: string;
|
|
40
|
+
} & T, unchainedAPI: any) => Promise<Array<EmailTemplateType | SMSTemplateType | ArbitraryTemplateType>>;
|
|
41
|
+
export type IMessagingDirector = {
|
|
42
|
+
registerTemplate: (templateName: string, templateResolver: TemplateResolver) => void;
|
|
43
|
+
getTemplate: (templateName: string) => TemplateResolver;
|
|
44
|
+
};
|
|
45
|
+
export declare const MessagingDirector: IMessagingDirector;
|
|
46
|
+
//# sourceMappingURL=MessagingDirector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingDirector.d.ts","sourceRoot":"","sources":["../../src/directors/MessagingDirector.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,KAAK,CACf;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAClC;YACE,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;SAClB,GACD;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CACrC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,IAAI,CACvD,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,EAChC,YAAY,KAAA,KACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,gBAAgB,CAAC;CACzD,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,kBAQ/B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { log } from '@unchainedshop/logger';
|
|
2
|
+
const TemplateResolvers = new Map();
|
|
3
|
+
export const MessagingDirector = {
|
|
4
|
+
registerTemplate: (templateName, templateResolver) => {
|
|
5
|
+
log(`MessagingDirector -> Registered template resolver for ${templateName}`);
|
|
6
|
+
TemplateResolvers.set(templateName, templateResolver);
|
|
7
|
+
},
|
|
8
|
+
getTemplate: (templateName) => TemplateResolvers.get(templateName),
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=MessagingDirector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagingDirector.js","sourceRoot":"","sources":["../../src/directors/MessagingDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAgD5C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,gBAAgB,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE;QACnD,GAAG,CAAC,yDAAyD,YAAY,EAAE,CAAC,CAAC;QAE7E,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;CACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,gBAAgB,CAAC,0BAA0B,EAAE,GAAG,CAAC,EACjD,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountAdapter.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,oBAAoB,GAG7B,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountConfiguration.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountConfiguration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountConfiguration.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountConfiguration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,wFAEjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CACvD,uBAAuB,CACxB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IOrderPricingSheet, OrderPricingCalculation, IPricingAdapter, BasePricingAdapterContext } from '../directors/index.js';
|
|
2
|
+
import { Order, OrderDelivery, OrderDiscount, OrderPayment, OrderPosition } from '@unchainedshop/core-orders';
|
|
3
|
+
import { User } from '@unchainedshop/core-users';
|
|
4
|
+
import { Modules } from '../modules.js';
|
|
5
|
+
export interface OrderPricingAdapterContext extends BasePricingAdapterContext {
|
|
6
|
+
currency?: string;
|
|
7
|
+
discounts: Array<OrderDiscount>;
|
|
8
|
+
order: Order;
|
|
9
|
+
orderDelivery: OrderDelivery;
|
|
10
|
+
orderPositions: Array<OrderPosition>;
|
|
11
|
+
orderPayment: OrderPayment;
|
|
12
|
+
user: User;
|
|
13
|
+
}
|
|
14
|
+
export type IOrderPricingAdapter<DiscountConfiguration = unknown> = IPricingAdapter<OrderPricingAdapterContext & {
|
|
15
|
+
modules: Modules;
|
|
16
|
+
}, OrderPricingCalculation, IOrderPricingSheet, DiscountConfiguration>;
|
|
17
|
+
export declare const OrderPricingAdapter: IOrderPricingAdapter;
|
|
18
|
+
//# sourceMappingURL=OrderPricingAdapter.d.ts.map
|