@infrab4a/connect 1.0.0-beta.3 → 1.0.0-beta.30
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/README.md +24 -24
- package/bundles/infrab4a-connect.umd.js +4260 -2300
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/index.d.ts +2 -0
- package/domain/catalog/models/category.d.ts +23 -0
- package/domain/catalog/models/enums/index.d.ts +1 -0
- package/domain/catalog/models/enums/shops.enum.d.ts +5 -0
- package/domain/catalog/models/index.d.ts +6 -0
- package/domain/catalog/models/kit-product.d.ts +12 -0
- package/domain/catalog/models/product.d.ts +39 -0
- package/domain/catalog/models/types/category-condition.type.d.ts +4 -0
- package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
- package/domain/catalog/models/types/index.d.ts +7 -0
- package/domain/catalog/models/types/product-review.type.d.ts +17 -0
- package/domain/catalog/models/types/shops-description.type.d.ts +7 -0
- package/domain/catalog/models/types/shops-price.type.d.ts +10 -0
- package/domain/catalog/models/types/stock.type.d.ts +3 -0
- package/domain/catalog/models/types/variant-grade.type.d.ts +4 -0
- package/domain/catalog/models/variant.d.ts +18 -0
- package/domain/catalog/repositories/category.repository.d.ts +15 -0
- package/domain/catalog/repositories/index.d.ts +4 -0
- package/domain/catalog/repositories/product.repository.d.ts +12 -0
- package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -0
- package/domain/catalog/repositories/variant.repository.d.ts +4 -0
- package/domain/generic/index.d.ts +2 -0
- package/domain/generic/model/base.model.d.ts +10 -0
- package/domain/generic/model/identifier-fields.d.ts +4 -0
- package/domain/generic/model/index.d.ts +3 -0
- package/domain/generic/model/types/base-model-builder.type.d.ts +15 -0
- package/domain/generic/model/types/identifier-model.type.d.ts +7 -0
- package/domain/generic/model/types/index.d.ts +5 -0
- package/domain/generic/model/types/model-base-structure.type.d.ts +6 -0
- package/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
- package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -0
- package/domain/generic/repository/create.repository.d.ts +8 -0
- package/domain/generic/repository/crud.repository.d.ts +19 -0
- package/domain/generic/repository/delete.repository.d.ts +7 -0
- package/domain/generic/repository/enums/index.d.ts +2 -0
- package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -0
- package/domain/generic/repository/enums/where.enum.d.ts +13 -0
- package/domain/generic/repository/find.repository.d.ts +11 -0
- package/domain/generic/repository/get.repository.d.ts +5 -0
- package/domain/generic/repository/index.d.ts +9 -0
- package/domain/generic/repository/read.repository.d.ts +14 -0
- package/domain/generic/repository/types/index.d.ts +6 -0
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
- package/domain/generic/repository/types/repository-find-result.type.d.ts +4 -0
- package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -0
- package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -0
- package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -0
- package/domain/generic/repository/types/where-options.type.d.ts +2 -0
- package/domain/generic/repository/update.repository.d.ts +6 -0
- package/domain/index.d.ts +6 -0
- package/domain/location/index.d.ts +1 -0
- package/domain/location/models/address.d.ts +22 -0
- package/domain/location/models/index.d.ts +2 -0
- package/domain/location/models/types/index.d.ts +3 -0
- package/domain/location/models/types/location-bound.type.d.ts +6 -0
- package/domain/location/models/types/location-geometry.type.d.ts +7 -0
- package/domain/location/models/types/location-lat-lng.type.d.ts +4 -0
- package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -0
- package/domain/shop-settings/enums/index.d.ts +2 -0
- package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -0
- package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -0
- package/domain/shop-settings/helpers/index.d.ts +1 -0
- package/domain/shop-settings/index.d.ts +4 -0
- package/domain/shop-settings/models/home.d.ts +17 -0
- package/domain/shop-settings/models/index.d.ts +3 -0
- package/domain/shop-settings/models/shop-menu.d.ts +7 -0
- package/domain/shop-settings/models/types/banner.type.d.ts +6 -0
- package/domain/shop-settings/models/types/benefit.type.d.ts +5 -0
- package/domain/shop-settings/models/types/home-data.type.d.ts +15 -0
- package/domain/shop-settings/models/types/index.d.ts +5 -0
- package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -0
- package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -0
- package/domain/shop-settings/repositories/home.repository.d.ts +4 -0
- package/domain/shop-settings/repositories/index.d.ts +2 -0
- package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -0
- package/domain/shopping/index.d.ts +2 -0
- package/domain/shopping/models/buy-2-win.d.ts +16 -0
- package/domain/shopping/models/checkout.d.ts +27 -0
- package/domain/shopping/models/coupons/coupon.d.ts +26 -0
- package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
- package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
- package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +5 -0
- package/domain/shopping/models/coupons/enums/index.d.ts +3 -0
- package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
- package/domain/shopping/models/coupons/index.d.ts +3 -0
- package/domain/shopping/models/enums/checkout-types.enum.d.ts +4 -0
- package/domain/shopping/models/enums/index.d.ts +2 -0
- package/domain/shopping/models/enums/order-status.enum.d.ts +10 -0
- package/domain/shopping/models/index.d.ts +11 -0
- package/domain/shopping/models/line-item.d.ts +8 -0
- package/domain/shopping/models/order.d.ts +9 -0
- package/domain/shopping/models/payment.d.ts +67 -0
- package/domain/shopping/models/shipping-method.d.ts +16 -0
- package/domain/shopping/models/subscription/checkout.d.ts +21 -0
- package/domain/shopping/models/subscription/index.d.ts +2 -0
- package/domain/shopping/models/subscription/plan.d.ts +10 -0
- package/domain/shopping/models/types/index.d.ts +7 -0
- package/domain/shopping/models/types/payment-address.type.d.ts +12 -0
- package/domain/shopping/models/types/payment-billing.type.d.ts +7 -0
- package/domain/shopping/models/types/payment-card.type.d.ts +14 -0
- package/domain/shopping/models/types/payment-customer.type.d.ts +18 -0
- package/domain/shopping/models/types/payment-document.type.d.ts +6 -0
- package/domain/shopping/models/types/payment-item.type.d.ts +11 -0
- package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -0
- package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -0
- package/domain/shopping/repositories/checkout.repository.d.ts +4 -0
- package/domain/shopping/repositories/coupon.repository.d.ts +4 -0
- package/domain/shopping/repositories/index.d.ts +7 -0
- package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -0
- package/domain/shopping/repositories/order.repository.d.ts +4 -0
- package/domain/shopping/repositories/payment.repository.d.ts +4 -0
- package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -0
- package/domain/shopping/repositories/subscription/index.d.ts +2 -0
- package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -0
- package/domain/users/errors/index.d.ts +3 -0
- package/domain/users/errors/unauthorized.error.d.ts +5 -0
- package/domain/users/errors/user-already-registered.error.d.ts +5 -0
- package/domain/users/errors/weak-password.error.d.ts +5 -0
- package/domain/users/index.d.ts +5 -0
- package/domain/users/models/beauty-profile.d.ts +11 -0
- package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -0
- package/domain/users/models/enums/area.enum.d.ts +11 -0
- package/domain/users/models/enums/beard-problems.enum.d.ts +9 -0
- package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -0
- package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -0
- package/domain/users/models/enums/body-problems.enum.d.ts +11 -0
- package/domain/users/models/enums/body-shapes.enum.d.ts +7 -0
- package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -0
- package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -0
- package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -0
- package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -0
- package/domain/users/models/enums/family-incomes.enum.d.ts +8 -0
- package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -0
- package/domain/users/models/enums/hair-colors.enum.d.ts +10 -0
- package/domain/users/models/enums/hair-problems.enum.d.ts +10 -0
- package/domain/users/models/enums/hair-strands.enum.d.ts +8 -0
- package/domain/users/models/enums/hair-types.enum.d.ts +7 -0
- package/domain/users/models/enums/index.d.ts +20 -0
- package/domain/users/models/enums/office-position.enum.d.ts +6 -0
- package/domain/users/models/enums/product-spents.enum.d.ts +8 -0
- package/domain/users/models/enums/user-type.enum.d.ts +8 -0
- package/domain/users/models/index.d.ts +7 -0
- package/domain/users/models/lead.d.ts +7 -0
- package/domain/users/models/subscription/edition.d.ts +16 -0
- package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -0
- package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -0
- package/domain/users/models/subscription/enums/index.d.ts +4 -0
- package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -0
- package/domain/users/models/subscription/enums/status.enum.d.ts +4 -0
- package/domain/users/models/subscription/index.d.ts +4 -0
- package/domain/users/models/subscription/payment.d.ts +13 -0
- package/domain/users/models/subscription/subscription.d.ts +28 -0
- package/domain/users/models/user-address.d.ts +7 -0
- package/domain/users/models/user-payment-method.d.ts +14 -0
- package/domain/users/models/user.d.ts +26 -0
- package/domain/users/repositories/beauty-profile.repository.d.ts +4 -0
- package/domain/users/repositories/edition.repository.d.ts +4 -0
- package/domain/users/repositories/index.d.ts +8 -0
- package/domain/users/repositories/lead.repository.d.ts +4 -0
- package/domain/users/repositories/subscription-payment.repository.d.ts +4 -0
- package/domain/users/repositories/subscription.repository.d.ts +4 -0
- package/domain/users/repositories/user-address.repository.d.ts +4 -0
- package/domain/users/repositories/user-payment-method.repository.d.ts +4 -0
- package/domain/users/repositories/user.repository.d.ts +6 -0
- package/domain/users/services/authentication.service.d.ts +12 -0
- package/domain/users/services/index.d.ts +3 -0
- package/domain/users/services/register.service.d.ts +7 -0
- package/domain/users/services/types/basic-user-data.type.d.ts +4 -0
- package/domain/users/services/types/index.d.ts +1 -0
- package/domain/users/use-cases/authentication.d.ts +21 -0
- package/domain/users/use-cases/index.d.ts +4 -0
- package/domain/users/use-cases/recovery-password.d.ts +6 -0
- package/domain/users/use-cases/register.d.ts +13 -0
- package/domain/users/use-cases/signout.d.ts +6 -0
- package/errors/duplicated-results.error.d.ts +5 -0
- package/errors/index.d.ts +4 -0
- package/errors/invalid-argument.error.d.ts +5 -0
- package/errors/not-found.error.d.ts +5 -0
- package/errors/required-argument.error.d.ts +6 -0
- package/esm2015/domain/catalog/index.js +3 -0
- package/esm2015/domain/catalog/models/category.js +10 -0
- package/esm2015/domain/catalog/models/enums/index.js +2 -0
- package/esm2015/domain/catalog/models/enums/shops.enum.js +7 -0
- package/esm2015/domain/catalog/models/index.js +7 -0
- package/esm2015/domain/catalog/models/kit-product.js +18 -0
- package/esm2015/domain/catalog/models/product.js +21 -0
- package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -0
- package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
- package/esm2015/domain/catalog/models/types/index.js +8 -0
- package/esm2015/domain/catalog/models/types/product-review.type.js +2 -0
- package/esm2015/domain/catalog/models/types/shops-description.type.js +2 -0
- package/esm2015/domain/catalog/models/types/shops-price.type.js +2 -0
- package/esm2015/domain/catalog/models/types/stock.type.js +2 -0
- package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -0
- package/esm2015/domain/catalog/models/variant.js +10 -0
- package/esm2015/domain/catalog/repositories/category.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/index.js +5 -0
- package/esm2015/domain/catalog/repositories/product.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/variant.repository.js +2 -0
- package/esm2015/domain/generic/index.js +3 -0
- package/esm2015/domain/generic/model/base.model.js +23 -0
- package/esm2015/domain/generic/model/identifier-fields.js +2 -0
- package/esm2015/domain/generic/model/index.js +4 -0
- package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
- package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
- package/esm2015/domain/generic/model/types/index.js +6 -0
- package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
- package/esm2015/domain/generic/repository/create.repository.js +2 -0
- package/esm2015/domain/generic/repository/crud.repository.js +2 -0
- package/esm2015/domain/generic/repository/delete.repository.js +2 -0
- package/esm2015/domain/generic/repository/enums/index.js +3 -0
- package/esm2015/domain/generic/repository/enums/update-option-actions.enum.js +9 -0
- package/esm2015/domain/generic/repository/enums/where.enum.js +15 -0
- package/esm2015/domain/generic/repository/find.repository.js +2 -0
- package/esm2015/domain/generic/repository/get.repository.js +2 -0
- package/esm2015/domain/generic/repository/index.js +10 -0
- package/esm2015/domain/generic/repository/read.repository.js +2 -0
- package/esm2015/domain/generic/repository/types/index.js +7 -0
- package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
- package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -0
- package/esm2015/domain/generic/repository/types/repository-limit-options.type.js +2 -0
- package/esm2015/domain/generic/repository/types/repository-order-by-list.type.js +2 -0
- package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
- package/esm2015/domain/generic/repository/types/where-options.type.js +2 -0
- package/esm2015/domain/generic/repository/update.repository.js +2 -0
- package/esm2015/domain/index.js +7 -0
- package/esm2015/domain/location/index.js +2 -0
- package/esm2015/domain/location/models/address.js +7 -0
- package/esm2015/domain/location/models/index.js +3 -0
- package/esm2015/domain/location/models/types/index.js +4 -0
- package/esm2015/domain/location/models/types/location-bound.type.js +2 -0
- package/esm2015/domain/location/models/types/location-geometry.type.js +2 -0
- package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -0
- package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -0
- package/esm2015/domain/shop-settings/enums/index.js +3 -0
- package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -0
- package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -0
- package/esm2015/domain/shop-settings/helpers/index.js +2 -0
- package/esm2015/domain/shop-settings/index.js +5 -0
- package/esm2015/domain/shop-settings/models/home.js +7 -0
- package/esm2015/domain/shop-settings/models/index.js +4 -0
- package/esm2015/domain/shop-settings/models/shop-menu.js +7 -0
- package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/index.js +6 -0
- package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -0
- package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -0
- package/esm2015/domain/shop-settings/repositories/index.js +3 -0
- package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -0
- package/esm2015/domain/shopping/index.js +3 -0
- package/esm2015/domain/shopping/models/buy-2-win.js +14 -0
- package/esm2015/domain/shopping/models/checkout.js +38 -0
- package/esm2015/domain/shopping/models/coupons/coupon.js +23 -0
- package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
- package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
- package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +7 -0
- package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -0
- package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
- package/esm2015/domain/shopping/models/coupons/index.js +4 -0
- package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +6 -0
- package/esm2015/domain/shopping/models/enums/index.js +3 -0
- package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -0
- package/esm2015/domain/shopping/models/index.js +12 -0
- package/esm2015/domain/shopping/models/line-item.js +4 -0
- package/esm2015/domain/shopping/models/order.js +11 -0
- package/esm2015/domain/shopping/models/payment.js +169 -0
- package/esm2015/domain/shopping/models/shipping-method.js +7 -0
- package/esm2015/domain/shopping/models/subscription/checkout.js +28 -0
- package/esm2015/domain/shopping/models/subscription/index.js +3 -0
- package/esm2015/domain/shopping/models/subscription/plan.js +7 -0
- package/esm2015/domain/shopping/models/types/index.js +8 -0
- package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -0
- package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -0
- package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/index.js +8 -0
- package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/order.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/payment.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -0
- package/esm2015/domain/shopping/repositories/subscription/index.js +3 -0
- package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -0
- package/esm2015/domain/users/errors/index.js +4 -0
- package/esm2015/domain/users/errors/unauthorized.error.js +8 -0
- package/esm2015/domain/users/errors/user-already-registered.error.js +8 -0
- package/esm2015/domain/users/errors/weak-password.error.js +8 -0
- package/esm2015/domain/users/index.js +6 -0
- package/esm2015/domain/users/models/beauty-profile.js +12 -0
- package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -0
- package/esm2015/domain/users/models/enums/area.enum.js +13 -0
- package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -0
- package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -0
- package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -0
- package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -0
- package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -0
- package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -0
- package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -0
- package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -0
- package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -0
- package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -0
- package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -0
- package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -0
- package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -0
- package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -0
- package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -0
- package/esm2015/domain/users/models/enums/index.js +21 -0
- package/esm2015/domain/users/models/enums/office-position.enum.js +8 -0
- package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -0
- package/esm2015/domain/users/models/enums/user-type.enum.js +10 -0
- package/esm2015/domain/users/models/index.js +8 -0
- package/esm2015/domain/users/models/lead.js +7 -0
- package/esm2015/domain/users/models/subscription/edition.js +7 -0
- package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -0
- package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -0
- package/esm2015/domain/users/models/subscription/enums/index.js +5 -0
- package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -0
- package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -0
- package/esm2015/domain/users/models/subscription/index.js +5 -0
- package/esm2015/domain/users/models/subscription/payment.js +14 -0
- package/esm2015/domain/users/models/subscription/subscription.js +43 -0
- package/esm2015/domain/users/models/user-address.js +7 -0
- package/esm2015/domain/users/models/user-payment-method.js +7 -0
- package/esm2015/domain/users/models/user.js +26 -0
- package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -0
- package/esm2015/domain/users/repositories/edition.repository.js +2 -0
- package/esm2015/domain/users/repositories/index.js +9 -0
- package/esm2015/domain/users/repositories/lead.repository.js +2 -0
- package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -0
- package/esm2015/domain/users/repositories/subscription.repository.js +2 -0
- package/esm2015/domain/users/repositories/user-address.repository.js +2 -0
- package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -0
- package/esm2015/domain/users/repositories/user.repository.js +2 -0
- package/esm2015/domain/users/services/authentication.service.js +2 -0
- package/esm2015/domain/users/services/index.js +4 -0
- package/esm2015/domain/users/services/register.service.js +2 -0
- package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -0
- package/esm2015/domain/users/services/types/index.js +2 -0
- package/esm2015/domain/users/use-cases/authentication.js +40 -0
- package/esm2015/domain/users/use-cases/index.js +5 -0
- package/esm2015/domain/users/use-cases/recovery-password.js +12 -0
- package/esm2015/domain/users/use-cases/register.js +34 -0
- package/esm2015/domain/users/use-cases/signout.js +12 -0
- package/esm2015/errors/duplicated-results.error.js +8 -0
- package/esm2015/errors/index.js +5 -0
- package/esm2015/errors/invalid-argument.error.js +8 -0
- package/esm2015/errors/not-found.error.js +8 -0
- package/esm2015/errors/required-argument.error.js +9 -0
- package/esm2015/index.js +6 -0
- package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +22 -0
- package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -0
- package/esm2015/infra/elasticsearch/adapters/index.js +3 -0
- package/esm2015/infra/elasticsearch/index.js +4 -0
- package/esm2015/infra/elasticsearch/indexes/index.js +2 -0
- package/esm2015/infra/elasticsearch/indexes/products-index.js +59 -0
- package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -0
- package/esm2015/infra/elasticsearch/types/index.js +2 -0
- package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -0
- package/esm2015/infra/firebase/auth/index.js +3 -0
- package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -0
- package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -0
- package/esm2015/infra/firebase/firestore/index.js +4 -0
- package/esm2015/infra/firebase/firestore/mixins/index.js +10 -0
- package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -0
- package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
- package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
- package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +86 -0
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +22 -0
- package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
- package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
- package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -0
- package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -0
- package/esm2015/infra/firebase/firestore/models/user-search.js +7 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +72 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +53 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/index.js +5 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +3 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +9 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/users/index.js +10 -0
- package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +70 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
- package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
- package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
- package/esm2015/infra/firebase/firestore/types/index.js +4 -0
- package/esm2015/infra/firebase/index.js +3 -0
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -0
- package/esm2015/infra/hasura-graphql/enums/index.js +3 -0
- package/esm2015/infra/hasura-graphql/index.js +5 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +18 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +70 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -0
- package/esm2015/infra/hasura-graphql/mixins/index.js +8 -0
- package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -0
- package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
- package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
- package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +93 -0
- package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
- package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
- package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -0
- package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
- package/esm2015/infra/hasura-graphql/models/index.js +5 -0
- package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
- package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
- package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +135 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +369 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +100 -0
- package/esm2015/infra/hasura-graphql/repositories/index.js +2 -0
- package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/index.js +9 -0
- package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -0
- package/esm2015/infra/index.js +4 -0
- package/esm2015/infrab4a-connect.js +5 -5
- package/esm2015/utils/index.js +8 -0
- package/esm2015/utils/is-uuid.js +3 -0
- package/esm2015/utils/mixins/base.mixin.js +6 -0
- package/esm2015/utils/mixins/index.js +4 -0
- package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -0
- package/esm2015/utils/mixins/mixin-ctor.type.js +2 -0
- package/esm2015/utils/parse-datetime.js +14 -0
- package/esm2015/utils/types/array-element.type.js +2 -0
- package/esm2015/utils/types/index.js +3 -0
- package/esm2015/utils/types/prop.type.js +2 -0
- package/fesm2015/infrab4a-connect.js +2839 -1545
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/index.d.ts +5 -0
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +11 -0
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +4 -0
- package/infra/elasticsearch/adapters/index.d.ts +2 -0
- package/infra/elasticsearch/index.d.ts +3 -0
- package/infra/elasticsearch/indexes/index.d.ts +1 -0
- package/infra/elasticsearch/indexes/products-index.d.ts +11 -0
- package/infra/elasticsearch/types/elastic-search-result.d.ts +7 -0
- package/infra/elasticsearch/types/index.d.ts +1 -0
- package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -0
- package/infra/firebase/auth/index.d.ts +2 -0
- package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -0
- package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -0
- package/infra/firebase/firestore/index.d.ts +3 -0
- package/infra/firebase/firestore/mixins/index.d.ts +9 -0
- package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -0
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -0
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -0
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -0
- package/infra/firebase/firestore/models/user-search.d.ts +9 -0
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +17 -0
- package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -0
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +11 -0
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/index.d.ts +4 -0
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -0
- package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +2 -0
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -0
- package/infra/firebase/firestore/repositories/shopping/index.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -0
- package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/users/index.d.ts +9 -0
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +19 -0
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -0
- package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +9 -0
- package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -0
- package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -0
- package/infra/firebase/firestore/types/firestore.repository.type.d.ts +12 -0
- package/infra/firebase/firestore/types/index.d.ts +3 -0
- package/infra/firebase/index.d.ts +2 -0
- package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
- package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -0
- package/infra/hasura-graphql/enums/index.d.ts +2 -0
- package/infra/hasura-graphql/index.d.ts +4 -0
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -0
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
- package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -0
- package/infra/hasura-graphql/mixins/index.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -0
- package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +31 -0
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -0
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
- package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/index.d.ts +4 -0
- package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +22 -0
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +26 -0
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +13 -0
- package/infra/hasura-graphql/repositories/index.d.ts +1 -0
- package/infra/hasura-graphql/types/fields.type.d.ts +2 -0
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -0
- package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +36 -0
- package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
- package/infra/hasura-graphql/types/index.d.ts +8 -0
- package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
- package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
- package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
- package/infra/index.d.ts +3 -0
- package/infrab4a-connect.d.ts +5 -5
- package/package.json +7 -3
- package/utils/index.d.ts +7 -0
- package/utils/is-uuid.d.ts +1 -0
- package/utils/mixins/base.mixin.d.ts +3 -0
- package/utils/mixins/index.d.ts +3 -0
- package/utils/mixins/merge-constructor-params.type.d.ts +3 -0
- package/utils/mixins/mixin-ctor.type.d.ts +1 -0
- package/utils/parse-datetime.d.ts +1 -0
- package/utils/types/array-element.type.d.ts +1 -0
- package/utils/types/index.d.ts +2 -0
- package/utils/types/prop.type.d.ts +1 -0
- package/esm2015/lib/domain/catalog/index.js +0 -3
- package/esm2015/lib/domain/catalog/models/category.js +0 -7
- package/esm2015/lib/domain/catalog/models/enums/index.js +0 -2
- package/esm2015/lib/domain/catalog/models/enums/shops.enum.js +0 -6
- package/esm2015/lib/domain/catalog/models/index.js +0 -6
- package/esm2015/lib/domain/catalog/models/product.js +0 -11
- package/esm2015/lib/domain/catalog/models/types/category-condition.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/category-filter.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/index.js +0 -8
- package/esm2015/lib/domain/catalog/models/types/product-review.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/shops-description.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/shops-price.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/stock.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/types/variant-grade.type.js +0 -2
- package/esm2015/lib/domain/catalog/models/variant.js +0 -7
- package/esm2015/lib/domain/catalog/repositories/category.repository.js +0 -2
- package/esm2015/lib/domain/catalog/repositories/index.js +0 -5
- package/esm2015/lib/domain/catalog/repositories/product.repository.js +0 -2
- package/esm2015/lib/domain/catalog/repositories/subscription-product.repository.js +0 -2
- package/esm2015/lib/domain/catalog/repositories/variant.repository.js +0 -2
- package/esm2015/lib/domain/general/index.js +0 -3
- package/esm2015/lib/domain/general/model/base-model-with-identifier-fields.js +0 -2
- package/esm2015/lib/domain/general/model/base.model.js +0 -13
- package/esm2015/lib/domain/general/model/identifier-fields.js +0 -2
- package/esm2015/lib/domain/general/model/index.js +0 -5
- package/esm2015/lib/domain/general/model/types/base-model-builder.type.js +0 -2
- package/esm2015/lib/domain/general/model/types/index.js +0 -4
- package/esm2015/lib/domain/general/model/types/non-function-properties.type.js +0 -2
- package/esm2015/lib/domain/general/model/types/non-function-property-name.type.js +0 -2
- package/esm2015/lib/domain/general/repository/create.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/crud.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/delete.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/enums/index.js +0 -3
- package/esm2015/lib/domain/general/repository/enums/update-option-actions.enum.js +0 -9
- package/esm2015/lib/domain/general/repository/enums/where.enum.js +0 -12
- package/esm2015/lib/domain/general/repository/find.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/get.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/index.js +0 -10
- package/esm2015/lib/domain/general/repository/read.repository.js +0 -2
- package/esm2015/lib/domain/general/repository/types/index.js +0 -6
- package/esm2015/lib/domain/general/repository/types/repository-find-filters.type.js +0 -2
- package/esm2015/lib/domain/general/repository/types/repository-find-result.type.js +0 -2
- package/esm2015/lib/domain/general/repository/types/repository-limit-options.type.js +0 -2
- package/esm2015/lib/domain/general/repository/types/repository-order-by-list.type.js +0 -2
- package/esm2015/lib/domain/general/repository/types/repository-update-params.type.js +0 -2
- package/esm2015/lib/domain/general/repository/update.repository.js +0 -2
- package/esm2015/lib/domain/index.js +0 -7
- package/esm2015/lib/domain/location/index.js +0 -2
- package/esm2015/lib/domain/location/models/address.js +0 -4
- package/esm2015/lib/domain/location/models/index.js +0 -3
- package/esm2015/lib/domain/location/models/types/index.js +0 -4
- package/esm2015/lib/domain/location/models/types/location-bound.type.js +0 -2
- package/esm2015/lib/domain/location/models/types/location-geometry.type.js +0 -2
- package/esm2015/lib/domain/location/models/types/location-lat-lng.type.js +0 -2
- package/esm2015/lib/domain/shop-settings/enums/filter-type.enum.js +0 -21
- package/esm2015/lib/domain/shop-settings/enums/index.js +0 -3
- package/esm2015/lib/domain/shop-settings/enums/questions-filters.enum.js +0 -21
- package/esm2015/lib/domain/shop-settings/helpers/beauty-questions.helper.js +0 -46
- package/esm2015/lib/domain/shop-settings/helpers/index.js +0 -2
- package/esm2015/lib/domain/shop-settings/index.js +0 -5
- package/esm2015/lib/domain/shop-settings/models/home.js +0 -7
- package/esm2015/lib/domain/shop-settings/models/index.js +0 -4
- package/esm2015/lib/domain/shop-settings/models/shop-menu.js +0 -7
- package/esm2015/lib/domain/shop-settings/models/types/banner.type.js +0 -2
- package/esm2015/lib/domain/shop-settings/models/types/benefit.type.js +0 -2
- package/esm2015/lib/domain/shop-settings/models/types/index.js +0 -5
- package/esm2015/lib/domain/shop-settings/models/types/menu-nav.type.js +0 -2
- package/esm2015/lib/domain/shop-settings/models/types/sub-menu.type.js +0 -2
- package/esm2015/lib/domain/shop-settings/repositories/home.repository.js +0 -2
- package/esm2015/lib/domain/shop-settings/repositories/index.js +0 -3
- package/esm2015/lib/domain/shop-settings/repositories/shop-menu.repository.js +0 -2
- package/esm2015/lib/domain/shopping/index.js +0 -3
- package/esm2015/lib/domain/shopping/models/buy-2-win.js +0 -14
- package/esm2015/lib/domain/shopping/models/checkout.js +0 -46
- package/esm2015/lib/domain/shopping/models/coupons/club-coupon.js +0 -18
- package/esm2015/lib/domain/shopping/models/coupons/coupon.js +0 -31
- package/esm2015/lib/domain/shopping/models/coupons/enums/discount-type.enum.js +0 -7
- package/esm2015/lib/domain/shopping/models/coupons/enums/exclusivities.enum.js +0 -7
- package/esm2015/lib/domain/shopping/models/coupons/enums/index.js +0 -3
- package/esm2015/lib/domain/shopping/models/coupons/index.js +0 -5
- package/esm2015/lib/domain/shopping/models/coupons/store-coupon.js +0 -23
- package/esm2015/lib/domain/shopping/models/enums/checkout-types.enum.js +0 -6
- package/esm2015/lib/domain/shopping/models/enums/index.js +0 -3
- package/esm2015/lib/domain/shopping/models/enums/order-status.enum.js +0 -12
- package/esm2015/lib/domain/shopping/models/index.js +0 -12
- package/esm2015/lib/domain/shopping/models/line-item.js +0 -4
- package/esm2015/lib/domain/shopping/models/order.js +0 -11
- package/esm2015/lib/domain/shopping/models/payment.js +0 -169
- package/esm2015/lib/domain/shopping/models/shipping-method.js +0 -7
- package/esm2015/lib/domain/shopping/models/subscription/checkout.js +0 -28
- package/esm2015/lib/domain/shopping/models/subscription/index.js +0 -3
- package/esm2015/lib/domain/shopping/models/subscription/plan.js +0 -7
- package/esm2015/lib/domain/shopping/models/types/index.js +0 -8
- package/esm2015/lib/domain/shopping/models/types/payment-address.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-billing.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-card.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-customer.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-document.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-item.type.js +0 -2
- package/esm2015/lib/domain/shopping/models/types/payment-shipping.type.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/buy-2-win.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/checkout.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/coupon.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/index.js +0 -8
- package/esm2015/lib/domain/shopping/repositories/legacy-order.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/order.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/payment.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/subscription/checkout.repository.js +0 -2
- package/esm2015/lib/domain/shopping/repositories/subscription/index.js +0 -3
- package/esm2015/lib/domain/shopping/repositories/subscription/plan.repository.js +0 -2
- package/esm2015/lib/domain/users/errors/index.js +0 -4
- package/esm2015/lib/domain/users/errors/unauthorized.error.js +0 -7
- package/esm2015/lib/domain/users/errors/user-already-registered.error.js +0 -7
- package/esm2015/lib/domain/users/errors/weak-password.error.js +0 -7
- package/esm2015/lib/domain/users/index.js +0 -6
- package/esm2015/lib/domain/users/models/beauty-profile.js +0 -12
- package/esm2015/lib/domain/users/models/enums/accessory-importances.enum.js +0 -7
- package/esm2015/lib/domain/users/models/enums/area.enum.js +0 -13
- package/esm2015/lib/domain/users/models/enums/beard-problems.enum.js +0 -11
- package/esm2015/lib/domain/users/models/enums/beard-sizes.enum.js +0 -9
- package/esm2015/lib/domain/users/models/enums/beauty-product-importances.enum.js +0 -8
- package/esm2015/lib/domain/users/models/enums/body-problems.enum.js +0 -13
- package/esm2015/lib/domain/users/models/enums/body-shapes.enum.js +0 -9
- package/esm2015/lib/domain/users/models/enums/body-tattoos.enum.js +0 -7
- package/esm2015/lib/domain/users/models/enums/face-skin-oilinesses.enum.js +0 -9
- package/esm2015/lib/domain/users/models/enums/face-skin-problems.enum.js +0 -12
- package/esm2015/lib/domain/users/models/enums/face-skin-tones.enum.js +0 -10
- package/esm2015/lib/domain/users/models/enums/family-incomes.enum.js +0 -10
- package/esm2015/lib/domain/users/models/enums/fragrance-importances.enum.js +0 -7
- package/esm2015/lib/domain/users/models/enums/hair-colors.enum.js +0 -12
- package/esm2015/lib/domain/users/models/enums/hair-problems.enum.js +0 -12
- package/esm2015/lib/domain/users/models/enums/hair-strands.enum.js +0 -10
- package/esm2015/lib/domain/users/models/enums/hair-types.enum.js +0 -9
- package/esm2015/lib/domain/users/models/enums/index.js +0 -21
- package/esm2015/lib/domain/users/models/enums/office-position.enum.js +0 -8
- package/esm2015/lib/domain/users/models/enums/product-spents.enum.js +0 -10
- package/esm2015/lib/domain/users/models/enums/user-type.enum.js +0 -10
- package/esm2015/lib/domain/users/models/index.js +0 -8
- package/esm2015/lib/domain/users/models/lead.js +0 -7
- package/esm2015/lib/domain/users/models/subscription/edition.js +0 -7
- package/esm2015/lib/domain/users/models/subscription/enums/billing-status.enum.js +0 -5
- package/esm2015/lib/domain/users/models/subscription/enums/edition-status.enum.js +0 -6
- package/esm2015/lib/domain/users/models/subscription/enums/index.js +0 -5
- package/esm2015/lib/domain/users/models/subscription/enums/payment-type.enum.js +0 -7
- package/esm2015/lib/domain/users/models/subscription/enums/status.enum.js +0 -6
- package/esm2015/lib/domain/users/models/subscription/index.js +0 -5
- package/esm2015/lib/domain/users/models/subscription/payment.js +0 -14
- package/esm2015/lib/domain/users/models/subscription/subscription.js +0 -43
- package/esm2015/lib/domain/users/models/user-address.js +0 -7
- package/esm2015/lib/domain/users/models/user-payment-method.js +0 -7
- package/esm2015/lib/domain/users/models/user.js +0 -26
- package/esm2015/lib/domain/users/repositories/beauty-profile.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/edition.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/index.js +0 -9
- package/esm2015/lib/domain/users/repositories/lead.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/subscription-payment.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/subscription.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/user-address.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/user-payment-method.repository.js +0 -2
- package/esm2015/lib/domain/users/repositories/user.repository.js +0 -2
- package/esm2015/lib/domain/users/services/authentication.service.js +0 -2
- package/esm2015/lib/domain/users/services/index.js +0 -4
- package/esm2015/lib/domain/users/services/register.service.js +0 -2
- package/esm2015/lib/domain/users/services/types/basic-user-data.type.js +0 -2
- package/esm2015/lib/domain/users/services/types/index.js +0 -2
- package/esm2015/lib/domain/users/use-cases/authentication.js +0 -40
- package/esm2015/lib/domain/users/use-cases/index.js +0 -4
- package/esm2015/lib/domain/users/use-cases/register.js +0 -34
- package/esm2015/lib/domain/users/use-cases/signout.js +0 -12
- package/esm2015/lib/errors/duplicated-results.error.js +0 -7
- package/esm2015/lib/errors/index.js +0 -5
- package/esm2015/lib/errors/invalid-argument.error.js +0 -7
- package/esm2015/lib/errors/not-found.error.js +0 -7
- package/esm2015/lib/errors/required-argument.error.js +0 -8
- package/esm2015/lib/index.js +0 -5
- package/esm2015/lib/infra/firebase/auth/authentication-firebase-auth.service.js +0 -47
- package/esm2015/lib/infra/firebase/auth/index.js +0 -3
- package/esm2015/lib/infra/firebase/auth/register-firebase-auth.service.js +0 -26
- package/esm2015/lib/infra/firebase/auth/types/firebase-user-with-id.type.js +0 -2
- package/esm2015/lib/infra/firebase/firestore/index.js +0 -4
- package/esm2015/lib/infra/firebase/firestore/mixins/index.js +0 -10
- package/esm2015/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +0 -31
- package/esm2015/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +0 -10
- package/esm2015/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +0 -18
- package/esm2015/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +0 -76
- package/esm2015/lib/infra/firebase/firestore/mixins/with-firestore.mixin.js +0 -26
- package/esm2015/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +0 -24
- package/esm2015/lib/infra/firebase/firestore/mixins/with-helpers.mixin.js +0 -17
- package/esm2015/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +0 -11
- package/esm2015/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +0 -45
- package/esm2015/lib/infra/firebase/firestore/models/user-search.js +0 -7
- package/esm2015/lib/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +0 -78
- package/esm2015/lib/infra/firebase/firestore/repositories/catalog/index.js +0 -5
- package/esm2015/lib/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +0 -23
- package/esm2015/lib/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/index.js +0 -5
- package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/index.js +0 -3
- package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +0 -39
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/index.js +0 -9
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +0 -9
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/users/index.js +0 -10
- package/esm2015/lib/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.js +0 -70
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +0 -14
- package/esm2015/lib/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +0 -12
- package/esm2015/lib/infra/firebase/firestore/types/firestore-sub.repository.type.js +0 -2
- package/esm2015/lib/infra/firebase/firestore/types/firestore.helpers.type.js +0 -2
- package/esm2015/lib/infra/firebase/firestore/types/firestore.repository.type.js +0 -2
- package/esm2015/lib/infra/firebase/firestore/types/index.js +0 -4
- package/esm2015/lib/infra/firebase/index.js +0 -3
- package/esm2015/lib/infra/index.js +0 -2
- package/esm2015/lib/utils/index.js +0 -5
- package/esm2015/lib/utils/mixins/base.mixin.js +0 -6
- package/esm2015/lib/utils/mixins/index.js +0 -3
- package/esm2015/lib/utils/mixins/mixin-ctor.type.js +0 -2
- package/esm2015/lib/utils/types/index.js +0 -2
- package/esm2015/lib/utils/types/prop.type.js +0 -2
- package/esm2015/public-api.js +0 -3
- package/lib/domain/catalog/index.d.ts +0 -2
- package/lib/domain/catalog/models/category.d.ts +0 -22
- package/lib/domain/catalog/models/enums/index.d.ts +0 -1
- package/lib/domain/catalog/models/enums/shops.enum.d.ts +0 -4
- package/lib/domain/catalog/models/index.d.ts +0 -5
- package/lib/domain/catalog/models/product.d.ts +0 -33
- package/lib/domain/catalog/models/types/category-condition.type.d.ts +0 -4
- package/lib/domain/catalog/models/types/category-filter.type.d.ts +0 -4
- package/lib/domain/catalog/models/types/index.d.ts +0 -7
- package/lib/domain/catalog/models/types/product-review.type.d.ts +0 -14
- package/lib/domain/catalog/models/types/shops-description.type.d.ts +0 -7
- package/lib/domain/catalog/models/types/shops-price.type.d.ts +0 -10
- package/lib/domain/catalog/models/types/stock.type.d.ts +0 -3
- package/lib/domain/catalog/models/types/variant-grade.type.d.ts +0 -4
- package/lib/domain/catalog/models/variant.d.ts +0 -14
- package/lib/domain/catalog/repositories/category.repository.d.ts +0 -12
- package/lib/domain/catalog/repositories/index.d.ts +0 -4
- package/lib/domain/catalog/repositories/product.repository.d.ts +0 -5
- package/lib/domain/catalog/repositories/subscription-product.repository.d.ts +0 -4
- package/lib/domain/catalog/repositories/variant.repository.d.ts +0 -4
- package/lib/domain/general/index.d.ts +0 -2
- package/lib/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
- package/lib/domain/general/model/base.model.d.ts +0 -6
- package/lib/domain/general/model/identifier-fields.d.ts +0 -4
- package/lib/domain/general/model/index.d.ts +0 -4
- package/lib/domain/general/model/types/base-model-builder.type.d.ts +0 -5
- package/lib/domain/general/model/types/index.d.ts +0 -3
- package/lib/domain/general/model/types/non-function-properties.type.d.ts +0 -2
- package/lib/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
- package/lib/domain/general/repository/create.repository.d.ts +0 -5
- package/lib/domain/general/repository/crud.repository.d.ts +0 -7
- package/lib/domain/general/repository/delete.repository.d.ts +0 -5
- package/lib/domain/general/repository/enums/index.d.ts +0 -2
- package/lib/domain/general/repository/enums/update-option-actions.enum.d.ts +0 -7
- package/lib/domain/general/repository/enums/where.enum.d.ts +0 -10
- package/lib/domain/general/repository/find.repository.d.ts +0 -5
- package/lib/domain/general/repository/get.repository.d.ts +0 -5
- package/lib/domain/general/repository/index.d.ts +0 -9
- package/lib/domain/general/repository/read.repository.d.ts +0 -5
- package/lib/domain/general/repository/types/index.d.ts +0 -5
- package/lib/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
- package/lib/domain/general/repository/types/repository-find-result.type.d.ts +0 -4
- package/lib/domain/general/repository/types/repository-limit-options.type.d.ts +0 -4
- package/lib/domain/general/repository/types/repository-order-by-list.type.d.ts +0 -5
- package/lib/domain/general/repository/types/repository-update-params.type.d.ts +0 -11
- package/lib/domain/general/repository/update.repository.d.ts +0 -5
- package/lib/domain/index.d.ts +0 -6
- package/lib/domain/location/index.d.ts +0 -1
- package/lib/domain/location/models/address.d.ts +0 -21
- package/lib/domain/location/models/index.d.ts +0 -2
- package/lib/domain/location/models/types/index.d.ts +0 -3
- package/lib/domain/location/models/types/location-bound.type.d.ts +0 -6
- package/lib/domain/location/models/types/location-geometry.type.d.ts +0 -7
- package/lib/domain/location/models/types/location-lat-lng.type.d.ts +0 -4
- package/lib/domain/shop-settings/enums/filter-type.enum.d.ts +0 -19
- package/lib/domain/shop-settings/enums/index.d.ts +0 -2
- package/lib/domain/shop-settings/enums/questions-filters.enum.d.ts +0 -19
- package/lib/domain/shop-settings/helpers/beauty-questions.helper.d.ts +0 -9
- package/lib/domain/shop-settings/helpers/index.d.ts +0 -1
- package/lib/domain/shop-settings/index.d.ts +0 -4
- package/lib/domain/shop-settings/models/home.d.ts +0 -17
- package/lib/domain/shop-settings/models/index.d.ts +0 -3
- package/lib/domain/shop-settings/models/shop-menu.d.ts +0 -7
- package/lib/domain/shop-settings/models/types/banner.type.d.ts +0 -6
- package/lib/domain/shop-settings/models/types/benefit.type.d.ts +0 -5
- package/lib/domain/shop-settings/models/types/index.d.ts +0 -4
- package/lib/domain/shop-settings/models/types/menu-nav.type.d.ts +0 -8
- package/lib/domain/shop-settings/models/types/sub-menu.type.d.ts +0 -8
- package/lib/domain/shop-settings/repositories/home.repository.d.ts +0 -4
- package/lib/domain/shop-settings/repositories/index.d.ts +0 -2
- package/lib/domain/shop-settings/repositories/shop-menu.repository.d.ts +0 -4
- package/lib/domain/shopping/index.d.ts +0 -2
- package/lib/domain/shopping/models/buy-2-win.d.ts +0 -18
- package/lib/domain/shopping/models/checkout.d.ts +0 -28
- package/lib/domain/shopping/models/coupons/club-coupon.d.ts +0 -7
- package/lib/domain/shopping/models/coupons/coupon.d.ts +0 -28
- package/lib/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +0 -5
- package/lib/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -5
- package/lib/domain/shopping/models/coupons/enums/index.d.ts +0 -2
- package/lib/domain/shopping/models/coupons/index.d.ts +0 -4
- package/lib/domain/shopping/models/coupons/store-coupon.d.ts +0 -8
- package/lib/domain/shopping/models/enums/checkout-types.enum.d.ts +0 -4
- package/lib/domain/shopping/models/enums/index.d.ts +0 -2
- package/lib/domain/shopping/models/enums/order-status.enum.d.ts +0 -10
- package/lib/domain/shopping/models/index.d.ts +0 -11
- package/lib/domain/shopping/models/line-item.d.ts +0 -8
- package/lib/domain/shopping/models/order.d.ts +0 -9
- package/lib/domain/shopping/models/payment.d.ts +0 -69
- package/lib/domain/shopping/models/shipping-method.d.ts +0 -18
- package/lib/domain/shopping/models/subscription/checkout.d.ts +0 -23
- package/lib/domain/shopping/models/subscription/index.d.ts +0 -2
- package/lib/domain/shopping/models/subscription/plan.d.ts +0 -12
- package/lib/domain/shopping/models/types/index.d.ts +0 -7
- package/lib/domain/shopping/models/types/payment-address.type.d.ts +0 -12
- package/lib/domain/shopping/models/types/payment-billing.type.d.ts +0 -7
- package/lib/domain/shopping/models/types/payment-card.type.d.ts +0 -14
- package/lib/domain/shopping/models/types/payment-customer.type.d.ts +0 -18
- package/lib/domain/shopping/models/types/payment-document.type.d.ts +0 -6
- package/lib/domain/shopping/models/types/payment-item.type.d.ts +0 -11
- package/lib/domain/shopping/models/types/payment-shipping.type.d.ts +0 -10
- package/lib/domain/shopping/repositories/buy-2-win.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/checkout.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/coupon.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/index.d.ts +0 -7
- package/lib/domain/shopping/repositories/legacy-order.repository.d.ts +0 -3
- package/lib/domain/shopping/repositories/order.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/payment.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/subscription/checkout.repository.d.ts +0 -4
- package/lib/domain/shopping/repositories/subscription/index.d.ts +0 -2
- package/lib/domain/shopping/repositories/subscription/plan.repository.d.ts +0 -4
- package/lib/domain/users/errors/index.d.ts +0 -3
- package/lib/domain/users/errors/unauthorized.error.d.ts +0 -4
- package/lib/domain/users/errors/user-already-registered.error.d.ts +0 -4
- package/lib/domain/users/errors/weak-password.error.d.ts +0 -4
- package/lib/domain/users/index.d.ts +0 -5
- package/lib/domain/users/models/beauty-profile.d.ts +0 -12
- package/lib/domain/users/models/enums/accessory-importances.enum.d.ts +0 -5
- package/lib/domain/users/models/enums/area.enum.d.ts +0 -11
- package/lib/domain/users/models/enums/beard-problems.enum.d.ts +0 -9
- package/lib/domain/users/models/enums/beard-sizes.enum.d.ts +0 -7
- package/lib/domain/users/models/enums/beauty-product-importances.enum.d.ts +0 -6
- package/lib/domain/users/models/enums/body-problems.enum.d.ts +0 -11
- package/lib/domain/users/models/enums/body-shapes.enum.d.ts +0 -7
- package/lib/domain/users/models/enums/body-tattoos.enum.d.ts +0 -5
- package/lib/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -7
- package/lib/domain/users/models/enums/face-skin-problems.enum.d.ts +0 -10
- package/lib/domain/users/models/enums/face-skin-tones.enum.d.ts +0 -8
- package/lib/domain/users/models/enums/family-incomes.enum.d.ts +0 -8
- package/lib/domain/users/models/enums/fragrance-importances.enum.d.ts +0 -5
- package/lib/domain/users/models/enums/hair-colors.enum.d.ts +0 -10
- package/lib/domain/users/models/enums/hair-problems.enum.d.ts +0 -10
- package/lib/domain/users/models/enums/hair-strands.enum.d.ts +0 -8
- package/lib/domain/users/models/enums/hair-types.enum.d.ts +0 -7
- package/lib/domain/users/models/enums/index.d.ts +0 -20
- package/lib/domain/users/models/enums/office-position.enum.d.ts +0 -6
- package/lib/domain/users/models/enums/product-spents.enum.d.ts +0 -8
- package/lib/domain/users/models/enums/user-type.enum.d.ts +0 -8
- package/lib/domain/users/models/index.d.ts +0 -7
- package/lib/domain/users/models/lead.d.ts +0 -9
- package/lib/domain/users/models/subscription/edition.d.ts +0 -15
- package/lib/domain/users/models/subscription/enums/billing-status.enum.d.ts +0 -3
- package/lib/domain/users/models/subscription/enums/edition-status.enum.d.ts +0 -4
- package/lib/domain/users/models/subscription/enums/index.d.ts +0 -4
- package/lib/domain/users/models/subscription/enums/payment-type.enum.d.ts +0 -5
- package/lib/domain/users/models/subscription/enums/status.enum.d.ts +0 -4
- package/lib/domain/users/models/subscription/index.d.ts +0 -4
- package/lib/domain/users/models/subscription/payment.d.ts +0 -14
- package/lib/domain/users/models/subscription/subscription.d.ts +0 -30
- package/lib/domain/users/models/user-address.d.ts +0 -7
- package/lib/domain/users/models/user-payment-method.d.ts +0 -13
- package/lib/domain/users/models/user.d.ts +0 -24
- package/lib/domain/users/repositories/beauty-profile.repository.d.ts +0 -4
- package/lib/domain/users/repositories/edition.repository.d.ts +0 -4
- package/lib/domain/users/repositories/index.d.ts +0 -8
- package/lib/domain/users/repositories/lead.repository.d.ts +0 -4
- package/lib/domain/users/repositories/subscription-payment.repository.d.ts +0 -4
- package/lib/domain/users/repositories/subscription.repository.d.ts +0 -4
- package/lib/domain/users/repositories/user-address.repository.d.ts +0 -4
- package/lib/domain/users/repositories/user-payment-method.repository.d.ts +0 -4
- package/lib/domain/users/repositories/user.repository.d.ts +0 -6
- package/lib/domain/users/services/authentication.service.d.ts +0 -11
- package/lib/domain/users/services/index.d.ts +0 -3
- package/lib/domain/users/services/register.service.d.ts +0 -7
- package/lib/domain/users/services/types/basic-user-data.type.d.ts +0 -4
- package/lib/domain/users/services/types/index.d.ts +0 -1
- package/lib/domain/users/use-cases/authentication.d.ts +0 -21
- package/lib/domain/users/use-cases/index.d.ts +0 -3
- package/lib/domain/users/use-cases/register.d.ts +0 -13
- package/lib/domain/users/use-cases/signout.d.ts +0 -6
- package/lib/errors/duplicated-results.error.d.ts +0 -4
- package/lib/errors/index.d.ts +0 -4
- package/lib/errors/invalid-argument.error.d.ts +0 -4
- package/lib/errors/not-found.error.d.ts +0 -4
- package/lib/errors/required-argument.error.d.ts +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/infra/firebase/auth/authentication-firebase-auth.service.d.ts +0 -11
- package/lib/infra/firebase/auth/index.d.ts +0 -2
- package/lib/infra/firebase/auth/register-firebase-auth.service.d.ts +0 -8
- package/lib/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +0 -3
- package/lib/infra/firebase/firestore/index.d.ts +0 -3
- package/lib/infra/firebase/firestore/mixins/index.d.ts +0 -9
- package/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +0 -17
- package/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +0 -29
- package/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +0 -15
- package/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +0 -20
- package/lib/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +0 -15
- package/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +0 -15
- package/lib/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +0 -10
- package/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +0 -14
- package/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +0 -16
- package/lib/infra/firebase/firestore/models/user-search.d.ts +0 -9
- package/lib/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +0 -55
- package/lib/infra/firebase/firestore/repositories/catalog/index.d.ts +0 -4
- package/lib/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +0 -50
- package/lib/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/index.d.ts +0 -4
- package/lib/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -2
- package/lib/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +0 -53
- package/lib/infra/firebase/firestore/repositories/shopping/index.d.ts +0 -8
- package/lib/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -7
- package/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/users/index.d.ts +0 -9
- package/lib/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +0 -49
- package/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +0 -60
- package/lib/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +0 -50
- package/lib/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +0 -6
- package/lib/infra/firebase/firestore/types/firestore.helpers.type.d.ts +0 -8
- package/lib/infra/firebase/firestore/types/firestore.repository.type.d.ts +0 -8
- package/lib/infra/firebase/firestore/types/index.d.ts +0 -3
- package/lib/infra/firebase/index.d.ts +0 -2
- package/lib/infra/index.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -4
- package/lib/utils/mixins/base.mixin.d.ts +0 -3
- package/lib/utils/mixins/index.d.ts +0 -2
- package/lib/utils/mixins/mixin-ctor.type.d.ts +0 -1
- package/lib/utils/types/index.d.ts +0 -1
- package/lib/utils/types/prop.type.d.ts +0 -1
- package/public-api.d.ts +0 -2
package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
|
2
|
+
import { Shops, Where } from '../../../../domain';
|
|
3
|
+
import { NotFoundError } from '../../../../errors';
|
|
4
|
+
import { Base, isNil, omit } from '../../../../utils';
|
|
5
|
+
import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../../enums';
|
|
6
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
7
|
+
import { ProductHasuraGraphQL } from '../../models';
|
|
8
|
+
export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
9
|
+
constructor(endpoint, authOptions) {
|
|
10
|
+
super({
|
|
11
|
+
tableName: 'product',
|
|
12
|
+
model: ProductHasuraGraphQL,
|
|
13
|
+
endpoint,
|
|
14
|
+
authOptions,
|
|
15
|
+
fields: [],
|
|
16
|
+
});
|
|
17
|
+
this.bindReviewToModel = (plain) => (Object.assign(Object.assign({}, omit(plain, ['product_id', 'created_at', 'updated_at', 'person_id', 'order_id'])), { createdAt: typeof plain.created_at === 'string' ? new Date(plain.created_at) : plain.created_at, updatedAt: typeof plain.updated_at === 'string' ? new Date(plain.updated_at) : plain.updated_at, personId: plain.person_id, orderId: plain.order_id }));
|
|
18
|
+
this.bindReviewToHasura = (review) => (Object.assign(Object.assign({}, omit(review, ['productId', 'createdAt', 'updatedAt', 'personId', 'orderId'])), { person_id: review.personId, order_id: review.orderId }));
|
|
19
|
+
const commonFields = [
|
|
20
|
+
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
21
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
22
|
+
{ CEST: { columnName: 'cest' } },
|
|
23
|
+
{ EAN: { columnName: 'ean' } },
|
|
24
|
+
{ NCM: { columnName: 'ncm' } },
|
|
25
|
+
'brand',
|
|
26
|
+
{ costPrice: { columnName: 'cost_price' } },
|
|
27
|
+
{
|
|
28
|
+
description: {
|
|
29
|
+
columnName: 'description',
|
|
30
|
+
from: (description) => Object.values(Shops).reduce((shops, shop) => (Object.assign(Object.assign({}, shops), { [shop]: { description } })), {}),
|
|
31
|
+
to: (value) => Object.values(value).shift().description,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{ hasVariants: { columnName: 'has_variants' } },
|
|
35
|
+
{ images: { columnName: 'images', to: (value) => { var _a; return `{"${((_a = value === null || value === void 0 ? void 0 : value.join) === null || _a === void 0 ? void 0 : _a.call(value, `","`)) || ''}"}`; } } },
|
|
36
|
+
{ miniatures: { columnName: 'miniatures', to: (value) => { var _a; return `{"${((_a = value === null || value === void 0 ? void 0 : value.join) === null || _a === void 0 ? void 0 : _a.call(value, `","`)) || ''}"}`; } } },
|
|
37
|
+
'name',
|
|
38
|
+
{
|
|
39
|
+
price: {
|
|
40
|
+
columnName: 'price',
|
|
41
|
+
from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
|
|
42
|
+
price,
|
|
43
|
+
fullPrice: data.full_price,
|
|
44
|
+
subscriberDiscountPercentage: data.subscriber_discount_percentage,
|
|
45
|
+
subscriberPrice: data.subscriber_price,
|
|
46
|
+
} })), {}),
|
|
47
|
+
bindFindFilter: (sentence) => {
|
|
48
|
+
const filters = Object.values(sentence).shift();
|
|
49
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, (((filters === null || filters === void 0 ? void 0 : filters.price) || (filters === null || filters === void 0 ? void 0 : filters.price) === 0) && { price: filters.price })), ((filters.fullPrice || filters.fullPrice === 0) && { full_price: filters.fullPrice })), ((filters.subscriberDiscountPercentage || filters.subscriberDiscountPercentage === 0) && {
|
|
50
|
+
subscriber_discount_percentage: filters.subscriberDiscountPercentage,
|
|
51
|
+
})), ((filters.subscriberPrice || filters.subscriberPrice === 0) && {
|
|
52
|
+
subscriber_price: filters.subscriberPrice,
|
|
53
|
+
}));
|
|
54
|
+
},
|
|
55
|
+
bindPersistData: (value) => {
|
|
56
|
+
const priceData = Object.values(value).shift();
|
|
57
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) >= 0 && { price: priceData.price })), (priceData.fullPrice >= 0 && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage >= 0 && {
|
|
58
|
+
subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
|
|
59
|
+
})), (priceData.subscriberPrice >= 0 && { subscriber_price: priceData.subscriberPrice }));
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{ fullPrice: { columnName: 'full_price' } },
|
|
64
|
+
{ subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
|
|
65
|
+
{ subscriberPrice: { columnName: 'subscriber_price' } },
|
|
66
|
+
'published',
|
|
67
|
+
{ publishedGlam: { columnName: 'published_glam' } },
|
|
68
|
+
'sku',
|
|
69
|
+
{
|
|
70
|
+
stock: {
|
|
71
|
+
columnName: 'stock',
|
|
72
|
+
from: (quantity) => ({ quantity }),
|
|
73
|
+
to: (value) => (isNil(value === null || value === void 0 ? void 0 : value.quantity) ? value : value === null || value === void 0 ? void 0 : value.quantity),
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
'slug',
|
|
77
|
+
'type',
|
|
78
|
+
'video',
|
|
79
|
+
'weight',
|
|
80
|
+
{
|
|
81
|
+
shopAvailability: {
|
|
82
|
+
columnName: 'shop_availabilities',
|
|
83
|
+
fields: ['shop'],
|
|
84
|
+
from: (shop) => (Array.isArray(shop) ? shop.map((row) => row.shop) : []),
|
|
85
|
+
to: (shops) => shops.map((shop) => ({ shop })),
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{ tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
|
|
89
|
+
{ isKit: { columnName: 'is_kit' } },
|
|
90
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
91
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
92
|
+
];
|
|
93
|
+
this.fields = [
|
|
94
|
+
...commonFields,
|
|
95
|
+
{
|
|
96
|
+
categories: {
|
|
97
|
+
columnName: 'categories',
|
|
98
|
+
fields: ['category_id'],
|
|
99
|
+
bindPersistData: (value) => ({
|
|
100
|
+
categories: { data: value.map((category) => ({ category_id: +category })) },
|
|
101
|
+
}),
|
|
102
|
+
to: (categories) => categories.map((categoryId) => +categoryId),
|
|
103
|
+
from: (categories) => (categories === null || categories === void 0 ? void 0 : categories.map((category) => { var _a; return (_a = category === null || category === void 0 ? void 0 : category.category_id) === null || _a === void 0 ? void 0 : _a.toString(); })) || [],
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
kitProducts: {
|
|
108
|
+
columnName: 'kit_products',
|
|
109
|
+
foreignKeyColumn: { productId: 'id' },
|
|
110
|
+
fields: [
|
|
111
|
+
{ productId: { columnName: 'product_id' } },
|
|
112
|
+
{ kitProductId: { columnName: 'kit_product_id' } },
|
|
113
|
+
'quantity',
|
|
114
|
+
{ product: { columnName: 'product', foreignKeyColumn: { id: 'product_id' }, fields: commonFields } },
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
get reviewsFields() {
|
|
121
|
+
return [
|
|
122
|
+
'id',
|
|
123
|
+
'shop',
|
|
124
|
+
'rate',
|
|
125
|
+
'author',
|
|
126
|
+
'email',
|
|
127
|
+
'location',
|
|
128
|
+
'review',
|
|
129
|
+
'status',
|
|
130
|
+
'title',
|
|
131
|
+
'person_id',
|
|
132
|
+
'points',
|
|
133
|
+
'order_id',
|
|
134
|
+
'created_at',
|
|
135
|
+
'updated_at',
|
|
136
|
+
];
|
|
137
|
+
}
|
|
138
|
+
create(data) {
|
|
139
|
+
const _super = Object.create(null, {
|
|
140
|
+
create: { get: () => super.create }
|
|
141
|
+
});
|
|
142
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const product = yield _super.create.call(this, omit(data, ['reviews']));
|
|
144
|
+
try {
|
|
145
|
+
product.reviews = yield this.updateReviews(+product.id, data);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
yield this.delete({ id: product.id });
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
return product;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
get(identifiers) {
|
|
155
|
+
const _super = Object.create(null, {
|
|
156
|
+
get: { get: () => super.get }
|
|
157
|
+
});
|
|
158
|
+
var _a;
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
const product = Number.isNaN(+identifiers.id)
|
|
161
|
+
? (_a = (yield this.find({ filters: { firestoreId: identifiers.id } })).data) === null || _a === void 0 ? void 0 : _a[0]
|
|
162
|
+
: yield _super.get.call(this, identifiers);
|
|
163
|
+
product.reviews = yield this.findReviewsByProduct(+product.id);
|
|
164
|
+
return product;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
getBySlug(slug, shop) {
|
|
168
|
+
var _a;
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const result = yield this.find({
|
|
171
|
+
filters: {
|
|
172
|
+
slug: { operator: Where.EQUALS, value: slug },
|
|
173
|
+
shopAvailability: { operator: Where.IN, value: [shop] },
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
const product = (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift();
|
|
177
|
+
product.reviews = yield this.findReviewsByProduct(+product.id);
|
|
178
|
+
return product;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
update(params) {
|
|
182
|
+
const _super = Object.create(null, {
|
|
183
|
+
update: { get: () => super.update }
|
|
184
|
+
});
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
const { categories, kitProducts, reviews, id: checkId } = params, data = __rest(params, ["categories", "kitProducts", "reviews", "id"]);
|
|
187
|
+
const plainData = this.paramsToPlain({ id: checkId });
|
|
188
|
+
const id = yield this.getId(plainData.id);
|
|
189
|
+
const product = yield _super.update.call(this, Object.assign({ id }, data));
|
|
190
|
+
product.categories = categories && (yield this.updateCategories(+id, { categories }));
|
|
191
|
+
product.kitProducts = kitProducts && (yield this.updateKitProducts(+id, { kitProducts }));
|
|
192
|
+
product.reviews = reviews && (yield this.updateReviews(+id, { reviews }));
|
|
193
|
+
return product;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
fetchReviews(status) {
|
|
197
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
const reviews = {
|
|
199
|
+
status: status === 'pending'
|
|
200
|
+
? { [HasuraGraphQLWhere.ISNULL]: true }
|
|
201
|
+
: { [HasuraGraphQLWhere.EQUALS]: status === 'approved' },
|
|
202
|
+
};
|
|
203
|
+
const { product: data } = yield this.query('product', ['id', 'name', 'sku', { reviews: { columnName: 'reviews', fields: this.reviewsFields } }], {
|
|
204
|
+
where: { value: { reviews }, type: 'product_bool_exp', required: true },
|
|
205
|
+
});
|
|
206
|
+
return data.reduce((reviews, product) => [
|
|
207
|
+
...reviews,
|
|
208
|
+
...product.reviews
|
|
209
|
+
.filter((review) => (status === 'pending' && [undefined, null].includes(review.status)) ||
|
|
210
|
+
(status === 'approved' && review.status === true) ||
|
|
211
|
+
(status === 'rejected' && review.status === false))
|
|
212
|
+
.map((review) => (Object.assign(Object.assign({}, this.bindReviewToModel(review)), { productId: product.id, productName: product.name, productSku: product.sku }))),
|
|
213
|
+
], []);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
updateCategories(productId, { categories }) {
|
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
218
|
+
const plainData = this.paramsToPlain({ categories });
|
|
219
|
+
yield this.mutation('delete_category_product', ['affected_rows'], {
|
|
220
|
+
where: {
|
|
221
|
+
type: 'category_product_bool_exp',
|
|
222
|
+
required: true,
|
|
223
|
+
value: { product_id: { _eq: productId } },
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
yield this.mutation('insert_category_product', ['affected_rows'], {
|
|
227
|
+
objects: {
|
|
228
|
+
type: '[category_product_insert_input!]',
|
|
229
|
+
required: true,
|
|
230
|
+
value: plainData.categories.map((categoryId) => ({ category_id: categoryId, product_id: productId })),
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
return plainData.categories;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
updateKitProducts(productId, { kitProducts }) {
|
|
237
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
238
|
+
const plainData = this.paramsToPlain({ kitProducts });
|
|
239
|
+
yield this.mutation('delete_product_kit', ['affected_rows'], {
|
|
240
|
+
where: {
|
|
241
|
+
type: 'product_kit_bool_exp',
|
|
242
|
+
required: true,
|
|
243
|
+
value: { product_id: { _eq: productId } },
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
yield this.mutation('insert_product_kit', ['affected_rows'], {
|
|
247
|
+
objects: {
|
|
248
|
+
type: '[product_kit_insert_input!]',
|
|
249
|
+
required: true,
|
|
250
|
+
value: plainData.kitProducts.map((kitProduct) => ({
|
|
251
|
+
kit_product_id: kitProduct.productId || kitProduct.product.id,
|
|
252
|
+
product_id: productId,
|
|
253
|
+
quantity: kitProduct.quantity,
|
|
254
|
+
})),
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
return plainData.kitProducts;
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
updateReviews(productId, { reviews }) {
|
|
261
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
262
|
+
if (!reviews)
|
|
263
|
+
return [];
|
|
264
|
+
if ('action' in reviews && reviews.action === 'remove') {
|
|
265
|
+
const reviewIds = yield Promise.all(reviews.value.map((reviewData) => __awaiter(this, void 0, void 0, function* () {
|
|
266
|
+
const review = yield this.findReview(reviewData, productId);
|
|
267
|
+
return review === null || review === void 0 ? void 0 : review.id;
|
|
268
|
+
})));
|
|
269
|
+
yield this.mutation('delete_product_review', ['affected_rows'], {
|
|
270
|
+
where: { value: { id: { _in: reviewIds.filter(Boolean) } }, type: 'product_review_bool_exp', required: true },
|
|
271
|
+
});
|
|
272
|
+
return reviews.value.map((review, index) => !reviewIds[index] && review).filter(Boolean);
|
|
273
|
+
}
|
|
274
|
+
const plainData = this.paramsToPlain({ reviews });
|
|
275
|
+
return Promise.all(plainData.reviews.map((reviewData) => __awaiter(this, void 0, void 0, function* () {
|
|
276
|
+
const review = yield this.findReview(reviewData, productId);
|
|
277
|
+
if (review)
|
|
278
|
+
return this.bindReviewToModel((yield this.mutation('update_product_review_by_pk', this.reviewsFields, {
|
|
279
|
+
pk_columns: {
|
|
280
|
+
value: { id: review.id },
|
|
281
|
+
type: 'product_review_pk_columns_input',
|
|
282
|
+
required: true,
|
|
283
|
+
},
|
|
284
|
+
_set: {
|
|
285
|
+
value: omit(this.bindReviewToHasura(reviewData), ['id', 'product_id']),
|
|
286
|
+
type: 'product_review_set_input',
|
|
287
|
+
required: true,
|
|
288
|
+
},
|
|
289
|
+
})).update_product_review_by_pk);
|
|
290
|
+
return this.bindReviewToModel((yield this.mutation('insert_product_review_one', this.reviewsFields, {
|
|
291
|
+
object: {
|
|
292
|
+
value: omit(Object.assign(Object.assign({}, this.bindReviewToHasura(reviewData)), { product_id: productId }), ['id']),
|
|
293
|
+
type: 'product_review_insert_input',
|
|
294
|
+
required: true,
|
|
295
|
+
},
|
|
296
|
+
})).insert_product_review_one);
|
|
297
|
+
})));
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
getId(id) {
|
|
301
|
+
var _a, _b;
|
|
302
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
303
|
+
if (!Number.isNaN(+id))
|
|
304
|
+
return id;
|
|
305
|
+
const { data } = yield this.find({ filters: { firestoreId: id } });
|
|
306
|
+
if ((_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.id)
|
|
307
|
+
return (_b = data === null || data === void 0 ? void 0 : data[0]) === null || _b === void 0 ? void 0 : _b.id;
|
|
308
|
+
throw new NotFoundError(`Product with id ${id} not found`);
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
findReviewsByProduct(productId) {
|
|
312
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
313
|
+
const { product_review: data } = yield this.query('product_review', this.reviewsFields, {
|
|
314
|
+
where: {
|
|
315
|
+
value: {
|
|
316
|
+
product_id: { _eq: productId },
|
|
317
|
+
},
|
|
318
|
+
type: 'product_review_bool_exp',
|
|
319
|
+
required: true,
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
return data && data.map((review) => this.bindReviewToModel(review));
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
findReview(review, productId) {
|
|
326
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
327
|
+
if (review.id)
|
|
328
|
+
return review;
|
|
329
|
+
let loadedReview;
|
|
330
|
+
if (review.personId)
|
|
331
|
+
loadedReview = yield this.getReviewByPersonId(review.personId, productId);
|
|
332
|
+
if (!loadedReview && review.author && review.email)
|
|
333
|
+
loadedReview = yield this.getReviewByAuthorAndEmail(review.author, review.email, productId);
|
|
334
|
+
return loadedReview || review;
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
getReviewByPersonId(personId, productId) {
|
|
338
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
339
|
+
const { product_review: data } = yield this.query('product_review', this.reviewsFields, {
|
|
340
|
+
where: {
|
|
341
|
+
value: {
|
|
342
|
+
product_id: { _eq: productId },
|
|
343
|
+
person_id: { _eq: personId },
|
|
344
|
+
},
|
|
345
|
+
type: `product_review_bool_exp`,
|
|
346
|
+
required: true,
|
|
347
|
+
},
|
|
348
|
+
});
|
|
349
|
+
return data && data[0] && this.bindReviewToModel(data[0]);
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
getReviewByAuthorAndEmail(author, email, productId) {
|
|
353
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
+
const { product_review: data } = yield this.query('product_review', this.reviewsFields, {
|
|
355
|
+
where: {
|
|
356
|
+
value: {
|
|
357
|
+
product_id: { _eq: productId },
|
|
358
|
+
author: { _eq: author },
|
|
359
|
+
email: { _eq: email },
|
|
360
|
+
},
|
|
361
|
+
type: `product_review_bool_exp`,
|
|
362
|
+
required: true,
|
|
363
|
+
},
|
|
364
|
+
});
|
|
365
|
+
return data && data[0] && this.bindReviewToModel(data[0]);
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBT0wsS0FBSyxFQUdMLEtBQUssRUFDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQW9CbkQsTUFBTSxPQUFPLDhCQUNYLFNBQVEscUJBQXFCLENBQUMsaUJBQWlCLENBQXVCLElBQUksQ0FBQyxDQUFDO0lBc0I1RSxZQUFZLFFBQWdCLEVBQUUsV0FBcUM7UUFDakUsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixRQUFRO1lBQ1IsV0FBVztZQUNYLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFBO1FBMllJLHNCQUFpQixHQUFHLENBQUMsS0FBMEIsRUFBaUIsRUFBRSxDQUFDLGlDQUN0RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQ25GLFNBQVMs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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNELENBQUM7S0FBQTtJQUVhLHlCQUF5QixDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsU0FBaUI7O1lBQ3RGLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RGLEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUU7d0JBQ0wsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTt3QkFDOUIsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRTt3QkFDdkIsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtxQkFDdEI7b0JBQ0QsSUFBSSxFQUFFLHlCQUF5QjtvQkFDL0IsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7YUFDRixDQUFDLENBQUE7WUFFRixPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNELENBQUM7S0FBQTtDQWVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIEdldFJlcG9zaXRvcnlQYXJhbXMsXHJcbiAgUHJvZHVjdFJlcG9zaXRvcnksXHJcbiAgUHJvZHVjdFJldmlldyxcclxuICBSZXZpZXdTdGF0dXNQYXJhbXMsXHJcbiAgUmV2aWV3V2l0aFByb2R1Y3REYXRhLFxyXG4gIFNob3BzLFxyXG4gIFNob3BzUHJpY2UsXHJcbiAgVXBkYXRlUmVwb3NpdG9yeVBhcmFtcyxcclxuICBXaGVyZVxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2Vycm9ycydcclxuaW1wb3J0IHsgQmFzZSwgaXNOaWwsIG9taXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUsIEhhc3VyYUdyYXBoUUxXaGVyZSB9IGZyb20gJy4uLy4uL2VudW1zJ1xyXG5pbXBvcnQgeyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwsIHdpdGhIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xyXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21vZGVscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zLCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcblxyXG50eXBlIFByb2R1Y3RSZXZpZXdGaWVsZHMgPSB7XHJcbiAgaWQ/OiBzdHJpbmdcclxuICBzaG9wOiBTaG9wc1xyXG4gIHJhdGU6IG51bWJlclxyXG4gIGF1dGhvcj86IHN0cmluZ1xyXG4gIGVtYWlsPzogc3RyaW5nXHJcbiAgbG9jYXRpb24/OiBzdHJpbmdcclxuICByZXZpZXc/OiBzdHJpbmdcclxuICBzdGF0dXM/OiBib29sZWFuXHJcbiAgdGl0bGU/OiBzdHJpbmdcclxuICBwZXJzb25faWQ/OiBudW1iZXJcclxuICBwb2ludHM/OiBudW1iZXJcclxuICBvcmRlcl9pZD86IHN0cmluZ1xyXG4gIGNyZWF0ZWRfYXQ/OiBEYXRlXHJcbiAgdXBkYXRlZF9hdD86IERhdGVcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxyXG4gIGV4dGVuZHMgd2l0aENydWRIYXN1cmFHcmFwaFFMKHdpdGhIYXN1cmFHcmFwaFFMPFByb2R1Y3RIYXN1cmFHcmFwaFFMPihCYXNlKSlcclxuICBpbXBsZW1lbnRzIFByb2R1Y3RSZXBvc2l0b3J5XHJcbntcclxuICBwcml2YXRlIGdldCByZXZpZXdzRmllbGRzKCk6IEFycmF5PGtleW9mIFByb2R1Y3RSZXZpZXdGaWVsZHM+IHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgICdpZCcsXHJcbiAgICAgICdzaG9wJyxcclxuICAgICAgJ3JhdGUnLFxyXG4gICAgICAnYXV0aG9yJyxcclxuICAgICAgJ2VtYWlsJyxcclxuICAgICAgJ2xvY2F0aW9uJyxcclxuICAgICAgJ3JldmlldycsXHJcbiAgICAgICdzdGF0dXMnLFxyXG4gICAgICAndGl0bGUnLFxyXG4gICAgICAncGVyc29uX2lkJyxcclxuICAgICAgJ3BvaW50cycsXHJcbiAgICAgICdvcmRlcl9pZCcsXHJcbiAgICAgICdjcmVhdGVkX2F0JyxcclxuICAgICAgJ3VwZGF0ZWRfYXQnLFxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoZW5kcG9pbnQ6IHN0cmluZywgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucykge1xyXG4gICAgc3VwZXIoe1xyXG4gICAgICB0YWJsZU5hbWU6ICdwcm9kdWN0JyxcclxuICAgICAgbW9kZWw6IFByb2R1Y3RIYXN1cmFHcmFwaFFMLFxyXG4gICAgICBlbmRwb2ludCxcclxuICAgICAgYXV0aE9wdGlvbnMsXHJcbiAgICAgIGZpZWxkczogW10sXHJcbiAgICB9KVxyXG5cclxuICAgIGNvbnN0IGNvbW1vbkZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4gPSBbXHJcbiAgICAgIHsgaWQ6IHsgY29sdW1uTmFtZTogJ2lkJywgdG86ICh2YWx1ZSkgPT4gK3ZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlLnRvU3RyaW5nKCkgfSB9LFxyXG4gICAgICB7IGZpcmVzdG9yZUlkOiB7IGNvbHVtbk5hbWU6ICdmaXJlc3RvcmVfaWQnIH0gfSxcclxuICAgICAgeyBDRVNUOiB7IGNvbHVtbk5hbWU6ICdjZXN0JyB9IH0sXHJcbiAgICAgIHsgRUFOOiB7IGNvbHVtbk5hbWU6ICdlYW4nIH0gfSxcclxuICAgICAgeyBOQ006IHsgY29sdW1uTmFtZTogJ25jbScgfSB9LFxyXG4gICAgICAnYnJhbmQnLFxyXG4gICAgICB7IGNvc3RQcmljZTogeyBjb2x1bW5OYW1lOiAnY29zdF9wcmljZScgfSB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgZGVzY3JpcHRpb246IHtcclxuICAgICAgICAgIGNvbHVtbk5hbWU6ICdkZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICBmcm9tOiAoZGVzY3JpcHRpb24pID0+XHJcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoU2hvcHMpLnJlZHVjZSgoc2hvcHMsIHNob3ApID0+ICh7IC4uLnNob3BzLCBbc2hvcF06IHsgZGVzY3JpcHRpb24gfSB9KSwge30pLFxyXG4gICAgICAgICAgdG86ICh2YWx1ZSkgPT4gT2JqZWN0LnZhbHVlcyh2YWx1ZSkuc2hpZnQoKS5kZXNjcmlwdGlvbixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7IGhhc1ZhcmlhbnRzOiB7IGNvbHVtbk5hbWU6ICdoYXNfdmFyaWFudHMnIH0gfSxcclxuICAgICAgeyBpbWFnZXM6IHsgY29sdW1uTmFtZTogJ2ltYWdlcycsIHRvOiAodmFsdWUpID0+IGB7XCIke3ZhbHVlPy5qb2luPy4oYFwiLFwiYCkgfHwgJyd9XCJ9YCB9IH0sXHJcbiAgICAgIHsgbWluaWF0dXJlczogeyBjb2x1bW5OYW1lOiAnbWluaWF0dXJlcycsIHRvOiAodmFsdWUpID0+IGB7XCIke3ZhbHVlPy5qb2luPy4oYFwiLFwiYCkgfHwgJyd9XCJ9YCB9IH0sXHJcbiAgICAgICduYW1lJyxcclxuICAgICAge1xyXG4gICAgICAgIHByaWNlOiB7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiAncHJpY2UnLFxyXG4gICAgICAgICAgZnJvbTogKHByaWNlLCBkYXRhKTogU2hvcHNQcmljZSA9PlxyXG4gICAgICAgICAgICBPYmplY3QudmFsdWVzKFNob3BzKS5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgKHByaWNlczogU2hvcHNQcmljZSwgc2hvcCkgPT4gKHtcclxuICAgICAgICAgICAgICAgIC4uLnByaWNlcyxcclxuICAgICAgICAgICAgICAgIFtzaG9wXToge1xyXG4gICAgICAgICAgICAgICAgICBwcmljZSxcclxuICAgICAgICAgICAgICAgICAgZnVsbFByaWNlOiBkYXRhLmZ1bGxfcHJpY2UsXHJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IGRhdGEuc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyUHJpY2U6IGRhdGEuc3Vic2NyaWJlcl9wcmljZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICBiaW5kRmluZEZpbHRlcjogKHNlbnRlbmNlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHNlbnRlbmNlKS5zaGlmdCgpXHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIC4uLigoZmlsdGVycz8ucHJpY2UgfHwgZmlsdGVycz8ucHJpY2UgPT09IDApICYmIHsgcHJpY2U6IGZpbHRlcnMucHJpY2UgfSksXHJcbiAgICAgICAgICAgICAgLi4uKChmaWx0ZXJzLmZ1bGxQcmljZSB8fCBmaWx0ZXJzLmZ1bGxQcmljZSA9PT0gMCkgJiYgeyBmdWxsX3ByaWNlOiBmaWx0ZXJzLmZ1bGxQcmljZSB9KSxcclxuICAgICAgICAgICAgICAuLi4oKGZpbHRlcnMuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSB8fCBmaWx0ZXJzLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UgPT09IDApICYmIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZTogZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIC4uLigoZmlsdGVycy5zdWJzY3JpYmVyUHJpY2UgfHwgZmlsdGVycy5zdWJzY3JpYmVyUHJpY2UgPT09IDApICYmIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjcmliZXJfcHJpY2U6IGZpbHRlcnMuc3Vic2NyaWJlclByaWNlLFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJpY2VEYXRhID0gT2JqZWN0LnZhbHVlcyh2YWx1ZSkuc2hpZnQoKVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhPy5wcmljZSA+PSAwICYmIHsgcHJpY2U6IHByaWNlRGF0YS5wcmljZSB9KSxcclxuICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhLmZ1bGxQcmljZSA+PSAwICYmIHsgZnVsbF9wcmljZTogcHJpY2VEYXRhLmZ1bGxQcmljZSB9KSxcclxuICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UgPj0gMCAmJiB7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIC4uLihwcmljZURhdGEuc3Vic2NyaWJlclByaWNlID49IDAgJiYgeyBzdWJzY3JpYmVyX3ByaWNlOiBwcmljZURhdGEuc3Vic2NyaWJlclByaWNlIH0pLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHsgZnVsbFByaWNlOiB7IGNvbHVtbk5hbWU6ICdmdWxsX3ByaWNlJyB9IH0sXHJcbiAgICAgIHsgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZTogeyBjb2x1bW5OYW1lOiAnc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlJyB9IH0sXHJcbiAgICAgIHsgc3Vic2NyaWJlclByaWNlOiB7IGNvbHVtbk5hbWU6ICdzdWJzY3JpYmVyX3ByaWNlJyB9IH0sXHJcbiAgICAgICdwdWJsaXNoZWQnLFxyXG4gICAgICB7IHB1Ymxpc2hlZEdsYW06IHsgY29sdW1uTmFtZTogJ3B1Ymxpc2hlZF9nbGFtJyB9IH0sXHJcbiAgICAgICdza3UnLFxyXG4gICAgICB7XHJcbiAgICAgICAgc3RvY2s6IHtcclxuICAgICAgICAgIGNvbHVtbk5hbWU6ICdzdG9jaycsXHJcbiAgICAgICAgICBmcm9tOiAocXVhbnRpdHk6IG51bWJlcikgPT4gKHsgcXVhbnRpdHkgfSksXHJcbiAgICAgICAgICB0bzogKHZhbHVlKSA9PiAoaXNOaWwodmFsdWU/LnF1YW50aXR5KSA/IHZhbHVlIDogdmFsdWU/LnF1YW50aXR5KSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICAnc2x1ZycsXHJcbiAgICAgICd0eXBlJyxcclxuICAgICAgJ3ZpZGVvJyxcclxuICAgICAgJ3dlaWdodCcsXHJcbiAgICAgIHtcclxuICAgICAgICBzaG9wQXZhaWxhYmlsaXR5OiB7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiAnc2hvcF9hdmFpbGFiaWxpdGllcycsXHJcbiAgICAgICAgICBmaWVsZHM6IFsnc2hvcCddLFxyXG4gICAgICAgICAgZnJvbTogKHNob3ApID0+IChBcnJheS5pc0FycmF5KHNob3ApID8gc2hvcC5tYXAoKHJvdzogeyBzaG9wOiBTaG9wcyB9KSA9PiByb3cuc2hvcCkgOiBbXSksXHJcbiAgICAgICAgICB0bzogKHNob3BzKSA9PiBzaG9wcy5tYXAoKHNob3A6IFNob3BzKSA9PiAoeyBzaG9wIH0pKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7IHRhZ3M6IHsgY29sdW1uTmFtZTogJ3RhZ3MnLCB0eXBlOiBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYiB9IH0sXHJcbiAgICAgIHsgaXNLaXQ6IHsgY29sdW1uTmFtZTogJ2lzX2tpdCcgfSB9LFxyXG4gICAgICB7IGNyZWF0ZWRBdDogeyBjb2x1bW5OYW1lOiAnY3JlYXRlZF9hdCcgfSB9LFxyXG4gICAgICB7IHVwZGF0ZWRBdDogeyBjb2x1bW5OYW1lOiAndXBkYXRlZF9hdCcgfSB9LFxyXG4gICAgXVxyXG5cclxuICAgIHRoaXMuZmllbGRzID0gW1xyXG4gICAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICAgIHtcclxuICAgICAgICBjYXRlZ29yaWVzOiB7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiAnY2F0ZWdvcmllcycsXHJcbiAgICAgICAgICBmaWVsZHM6IFsnY2F0ZWdvcnlfaWQnXSxcclxuICAgICAgICAgIGJpbmRQZXJzaXN0RGF0YTogKHZhbHVlKSA9PiAoe1xyXG4gICAgICAgICAgICBjYXRlZ29yaWVzOiB7IGRhdGE6IHZhbHVlLm1hcCgoY2F0ZWdvcnkpID0+ICh7IGNhdGVnb3J5X2lkOiArY2F0ZWdvcnkgfSkpIH0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIHRvOiAoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5SWQpID0+ICtjYXRlZ29yeUlkKSxcclxuICAgICAgICAgIGZyb206IChjYXRlZ29yaWVzOiB7IGNhdGVnb3J5X2lkOiBudW1iZXIgfVtdKSA9PlxyXG4gICAgICAgICAgICBjYXRlZ29yaWVzPy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeT8uY2F0ZWdvcnlfaWQ/LnRvU3RyaW5nKCkpIHx8IFtdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBraXRQcm9kdWN0czoge1xyXG4gICAgICAgICAgY29sdW1uTmFtZTogJ2tpdF9wcm9kdWN0cycsXHJcbiAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uOiB7IHByb2R1Y3RJZDogJ2lkJyB9LFxyXG4gICAgICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgICAgIHsgcHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdwcm9kdWN0X2lkJyB9IH0sXHJcbiAgICAgICAgICAgIHsga2l0UHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdraXRfcHJvZHVjdF9pZCcgfSB9LFxyXG4gICAgICAgICAgICAncXVhbnRpdHknLFxyXG4gICAgICAgICAgICB7IHByb2R1Y3Q6IHsgY29sdW1uTmFtZTogJ3Byb2R1Y3QnLCBmb3JlaWduS2V5Q29sdW1uOiB7IGlkOiAncHJvZHVjdF9pZCcgfSwgZmllbGRzOiBjb21tb25GaWVsZHMgfSB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY3JlYXRlKGRhdGE6IENyZWF0ZVJlcG9zaXRvcnlQYXJhbXM8UHJvZHVjdEhhc3VyYUdyYXBoUUw+KTogUHJvbWlzZTxQcm9kdWN0SGFzdXJhR3JhcGhRTD4ge1xyXG4gICAgY29uc3QgcHJvZHVjdCA9IGF3YWl0IHN1cGVyLmNyZWF0ZShvbWl0KGRhdGEsIFsncmV2aWV3cyddKSlcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBwcm9kdWN0LnJldmlld3MgPSBhd2FpdCB0aGlzLnVwZGF0ZVJldmlld3MoK3Byb2R1Y3QuaWQsIGRhdGEpXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBhd2FpdCB0aGlzLmRlbGV0ZSh7IGlkOiBwcm9kdWN0LmlkIH0pXHJcblxyXG4gICAgICB0aHJvdyBlcnJvclxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8UHJvZHVjdEhhc3VyYUdyYXBoUUw+KTogUHJvbWlzZTxQcm9kdWN0SGFzdXJhR3JhcGhRTD4ge1xyXG4gICAgY29uc3QgcHJvZHVjdCA9IE51bWJlci5pc05hTigraWRlbnRpZmllcnMuaWQpXHJcbiAgICAgID8gKGF3YWl0IHRoaXMuZmluZCh7IGZpbHRlcnM6IHsgZmlyZXN0b3JlSWQ6IGlkZW50aWZpZXJzLmlkIH0gfSkpLmRhdGE/LlswXVxyXG4gICAgICA6IGF3YWl0IHN1cGVyLmdldChpZGVudGlmaWVycylcclxuXHJcbiAgICBwcm9kdWN0LnJldmlld3MgPSBhd2FpdCB0aGlzLmZpbmRSZXZpZXdzQnlQcm9kdWN0KCtwcm9kdWN0LmlkKVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUw+IHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZmluZCh7XHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICBzbHVnOiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiBzbHVnIH0sXHJcbiAgICAgICAgc2hvcEF2YWlsYWJpbGl0eTogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbc2hvcF0gfSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgY29uc3QgcHJvZHVjdCA9IHJlc3VsdD8uZGF0YT8uc2hpZnQoKVxyXG5cclxuICAgIHByb2R1Y3QucmV2aWV3cyA9IGF3YWl0IHRoaXMuZmluZFJldmlld3NCeVByb2R1Y3QoK3Byb2R1Y3QuaWQpXHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZShwYXJhbXM6IFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXM8UHJvZHVjdEhhc3VyYUdyYXBoUUw+KTogUHJvbWlzZTxQcm9kdWN0SGFzdXJhR3JhcGhRTD4ge1xyXG4gICAgY29uc3QgeyBjYXRlZ29yaWVzLCBraXRQcm9kdWN0cywgcmV2aWV3cywgaWQ6IGNoZWNrSWQsIC4uLmRhdGEgfSA9IHBhcmFtc1xyXG4gICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKHsgaWQ6IGNoZWNrSWQgfSlcclxuICAgIGNvbnN0IGlkID0gYXdhaXQgdGhpcy5nZXRJZChwbGFpbkRhdGEuaWQpXHJcbiAgICBjb25zdCBwcm9kdWN0ID0gYXdhaXQgc3VwZXIudXBkYXRlKHsgaWQsIC4uLmRhdGEgfSlcclxuXHJcbiAgICBwcm9kdWN0LmNhdGVnb3JpZXMgPSBjYXRlZ29yaWVzICYmIChhd2FpdCB0aGlzLnVwZGF0ZUNhdGVnb3JpZXMoK2lkLCB7IGNhdGVnb3JpZXMgfSkpXHJcbiAgICBwcm9kdWN0LmtpdFByb2R1Y3RzID0ga2l0UHJvZHVjdHMgJiYgKGF3YWl0IHRoaXMudXBkYXRlS2l0UHJvZHVjdHMoK2lkLCB7IGtpdFByb2R1Y3RzIH0pKVxyXG4gICAgcHJvZHVjdC5yZXZpZXdzID0gcmV2aWV3cyAmJiAoYXdhaXQgdGhpcy51cGRhdGVSZXZpZXdzKCtpZCwgeyByZXZpZXdzIH0pKVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0XHJcbiAgfVxyXG5cclxuICBhc3luYyBmZXRjaFJldmlld3Moc3RhdHVzOiBSZXZpZXdTdGF0dXNQYXJhbXMpOiBQcm9taXNlPFJldmlld1dpdGhQcm9kdWN0RGF0YVtdPiB7XHJcbiAgICBjb25zdCByZXZpZXdzID0ge1xyXG4gICAgICBzdGF0dXM6XHJcbiAgICAgICAgc3RhdHVzID09PSAncGVuZGluZydcclxuICAgICAgICAgID8geyBbSGFzdXJhR3JhcGhRTFdoZXJlLklTTlVMTF06IHRydWUgfVxyXG4gICAgICAgICAgOiB7IFtIYXN1cmFHcmFwaFFMV2hlcmUuRVFVQUxTXTogc3RhdHVzID09PSAnYXBwcm92ZWQnIH0sXHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHByb2R1Y3Q6IGRhdGEgfSA9IGF3YWl0IHRoaXMucXVlcnkoXHJcbiAgICAgICdwcm9kdWN0JyxcclxuICAgICAgWydpZCcsICduYW1lJywgJ3NrdScsIHsgcmV2aWV3czogeyBjb2x1bW5OYW1lOiAncmV2aWV3cycsIGZpZWxkczogdGhpcy5yZXZpZXdzRmllbGRzIH0gfV0sXHJcbiAgICAgIHtcclxuICAgICAgICB3aGVyZTogeyB2YWx1ZTogeyByZXZpZXdzIH0sIHR5cGU6ICdwcm9kdWN0X2Jvb2xfZXhwJywgcmVxdWlyZWQ6IHRydWUgfSxcclxuICAgICAgfSxcclxuICAgIClcclxuXHJcbiAgICByZXR1cm4gZGF0YS5yZWR1Y2UoXHJcbiAgICAgIChyZXZpZXdzLCBwcm9kdWN0KSA9PiBbXHJcbiAgICAgICAgLi4ucmV2aWV3cyxcclxuICAgICAgICAuLi5wcm9kdWN0LnJldmlld3NcclxuICAgICAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgICAgIChyZXZpZXcpID0+XHJcbiAgICAgICAgICAgICAgKHN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmIFt1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHJldmlldy5zdGF0dXMpKSB8fFxyXG4gICAgICAgICAgICAgIChzdGF0dXMgPT09ICdhcHByb3ZlZCcgJiYgcmV2aWV3LnN0YXR1cyA9PT0gdHJ1ZSkgfHxcclxuICAgICAgICAgICAgICAoc3RhdHVzID09PSAncmVqZWN0ZWQnICYmIHJldmlldy5zdGF0dXMgPT09IGZhbHNlKSxcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5tYXAoKHJldmlldykgPT4gKHtcclxuICAgICAgICAgICAgLi4udGhpcy5iaW5kUmV2aWV3VG9Nb2RlbChyZXZpZXcpLFxyXG4gICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3QuaWQsXHJcbiAgICAgICAgICAgIHByb2R1Y3ROYW1lOiBwcm9kdWN0Lm5hbWUsXHJcbiAgICAgICAgICAgIHByb2R1Y3RTa3U6IHByb2R1Y3Quc2t1LFxyXG4gICAgICAgICAgfSkpLFxyXG4gICAgICBdLFxyXG4gICAgICBbXSBhcyBSZXZpZXdXaXRoUHJvZHVjdERhdGFbXSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ2F0ZWdvcmllcyhcclxuICAgIHByb2R1Y3RJZDogbnVtYmVyLFxyXG4gICAgeyBjYXRlZ29yaWVzIH06IFBpY2s8VXBkYXRlUmVwb3NpdG9yeVBhcmFtczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4sICdjYXRlZ29yaWVzJz4sXHJcbiAgKTogUHJvbWlzZTxQcm9kdWN0SGFzdXJhR3JhcGhRTFsnY2F0ZWdvcmllcyddPiB7XHJcbiAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oeyBjYXRlZ29yaWVzIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignZGVsZXRlX2NhdGVnb3J5X3Byb2R1Y3QnLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xyXG4gICAgICB3aGVyZToge1xyXG4gICAgICAgIHR5cGU6ICdjYXRlZ29yeV9wcm9kdWN0X2Jvb2xfZXhwJyxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICB2YWx1ZTogeyBwcm9kdWN0X2lkOiB7IF9lcTogcHJvZHVjdElkIH0gfSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignaW5zZXJ0X2NhdGVnb3J5X3Byb2R1Y3QnLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xyXG4gICAgICBvYmplY3RzOiB7XHJcbiAgICAgICAgdHlwZTogJ1tjYXRlZ29yeV9wcm9kdWN0X2luc2VydF9pbnB1dCFdJyxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICB2YWx1ZTogcGxhaW5EYXRhLmNhdGVnb3JpZXMubWFwKChjYXRlZ29yeUlkKSA9PiAoeyBjYXRlZ29yeV9pZDogY2F0ZWdvcnlJZCwgcHJvZHVjdF9pZDogcHJvZHVjdElkIH0pKSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIHBsYWluRGF0YS5jYXRlZ29yaWVzXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUtpdFByb2R1Y3RzKFxyXG4gICAgcHJvZHVjdElkOiBudW1iZXIsXHJcbiAgICB7IGtpdFByb2R1Y3RzIH06IFBpY2s8VXBkYXRlUmVwb3NpdG9yeVBhcmFtczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4sICdraXRQcm9kdWN0cyc+LFxyXG4gICk6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUxbJ2tpdFByb2R1Y3RzJ10+IHtcclxuICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbih7IGtpdFByb2R1Y3RzIH0pXHJcblxyXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignZGVsZXRlX3Byb2R1Y3Rfa2l0JywgWydhZmZlY3RlZF9yb3dzJ10sIHtcclxuICAgICAgd2hlcmU6IHtcclxuICAgICAgICB0eXBlOiAncHJvZHVjdF9raXRfYm9vbF9leHAnLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgIHZhbHVlOiB7IHByb2R1Y3RfaWQ6IHsgX2VxOiBwcm9kdWN0SWQgfSB9LFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCdpbnNlcnRfcHJvZHVjdF9raXQnLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xyXG4gICAgICBvYmplY3RzOiB7XHJcbiAgICAgICAgdHlwZTogJ1twcm9kdWN0X2tpdF9pbnNlcnRfaW5wdXQhXScsXHJcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgdmFsdWU6IHBsYWluRGF0YS5raXRQcm9kdWN0cy5tYXAoKGtpdFByb2R1Y3QpID0+ICh7XHJcbiAgICAgICAgICBraXRfcHJvZHVjdF9pZDoga2l0UHJvZHVjdC5wcm9kdWN0SWQgfHwga2l0UHJvZHVjdC5wcm9kdWN0LmlkLFxyXG4gICAgICAgICAgcHJvZHVjdF9pZDogcHJvZHVjdElkLFxyXG4gICAgICAgICAgcXVhbnRpdHk6IGtpdFByb2R1Y3QucXVhbnRpdHksXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gcGxhaW5EYXRhLmtpdFByb2R1Y3RzXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVJldmlld3MoXHJcbiAgICBwcm9kdWN0SWQ6IG51bWJlcixcclxuICAgIHsgcmV2aWV3cyB9OiBQaWNrPFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXM8UHJvZHVjdEhhc3VyYUdyYXBoUUw+LCAncmV2aWV3cyc+LFxyXG4gICk6IFByb21pc2U8UHJvZHVjdFJldmlld1tdPiB7XHJcbiAgICBpZiAoIXJldmlld3MpIHJldHVybiBbXVxyXG4gICAgaWYgKCdhY3Rpb24nIGluIHJldmlld3MgJiYgcmV2aWV3cy5hY3Rpb24gPT09ICdyZW1vdmUnKSB7XHJcbiAgICAgIGNvbnN0IHJldmlld0lkcyA9IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgIHJldmlld3MudmFsdWUubWFwKGFzeW5jIChyZXZpZXdEYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByZXZpZXcgPSBhd2FpdCB0aGlzLmZpbmRSZXZpZXcocmV2aWV3RGF0YSwgcHJvZHVjdElkKVxyXG5cclxuICAgICAgICAgIHJldHVybiByZXZpZXc/LmlkXHJcbiAgICAgICAgfSksXHJcbiAgICAgIClcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oJ2RlbGV0ZV9wcm9kdWN0X3JldmlldycsIFsnYWZmZWN0ZWRfcm93cyddLCB7XHJcbiAgICAgICAgd2hlcmU6IHsgdmFsdWU6IHsgaWQ6IHsgX2luOiByZXZpZXdJZHMuZmlsdGVyKEJvb2xlYW4pIH0gfSwgdHlwZTogJ3Byb2R1Y3RfcmV2aWV3X2Jvb2xfZXhwJywgcmVxdWlyZWQ6IHRydWUgfSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHJldHVybiByZXZpZXdzLnZhbHVlLm1hcCgocmV2aWV3LCBpbmRleCkgPT4gIXJldmlld0lkc1tpbmRleF0gJiYgcmV2aWV3KS5maWx0ZXIoQm9vbGVhbilcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oeyByZXZpZXdzIH0pXHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxyXG4gICAgICBwbGFpbkRhdGEucmV2aWV3cy5tYXAoYXN5bmMgKHJldmlld0RhdGEpID0+IHtcclxuICAgICAgICBjb25zdCByZXZpZXcgPSBhd2FpdCB0aGlzLmZpbmRSZXZpZXcocmV2aWV3RGF0YSwgcHJvZHVjdElkKVxyXG5cclxuICAgICAgICBpZiAocmV2aWV3KVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYmluZFJldmlld1RvTW9kZWwoXHJcbiAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCd1cGRhdGVfcHJvZHVjdF9yZXZpZXdfYnlfcGsnLCB0aGlzLnJldmlld3NGaWVsZHMsIHtcclxuICAgICAgICAgICAgICAgIHBrX2NvbHVtbnM6IHtcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHsgaWQ6IHJldmlldy5pZCB9LFxyXG4gICAgICAgICAgICAgICAgICB0eXBlOiAncHJvZHVjdF9yZXZpZXdfcGtfY29sdW1uc19pbnB1dCcsXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF9zZXQ6IHtcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9taXQodGhpcy5iaW5kUmV2aWV3VG9IYXN1cmEocmV2aWV3RGF0YSksIFsnaWQnLCAncHJvZHVjdF9pZCddKSxcclxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3Byb2R1Y3RfcmV2aWV3X3NldF9pbnB1dCcsXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApLnVwZGF0ZV9wcm9kdWN0X3Jldmlld19ieV9wayxcclxuICAgICAgICAgIClcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmluZFJldmlld1RvTW9kZWwoXHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oJ2luc2VydF9wcm9kdWN0X3Jldmlld19vbmUnLCB0aGlzLnJldmlld3NGaWVsZHMsIHtcclxuICAgICAgICAgICAgICBvYmplY3Q6IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBvbWl0KHsgLi4udGhpcy5iaW5kUmV2aWV3VG9IYXN1cmEocmV2aWV3RGF0YSksIHByb2R1Y3RfaWQ6IHByb2R1Y3RJZCB9LCBbJ2lkJ10pLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Byb2R1Y3RfcmV2aWV3X2luc2VydF9pbnB1dCcsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKS5pbnNlcnRfcHJvZHVjdF9yZXZpZXdfb25lLFxyXG4gICAgICAgIClcclxuICAgICAgfSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldElkKGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgaWYgKCFOdW1iZXIuaXNOYU4oK2lkKSkgcmV0dXJuIGlkXHJcblxyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmZpbmQoeyBmaWx0ZXJzOiB7IGZpcmVzdG9yZUlkOiBpZCB9IH0pXHJcblxyXG4gICAgaWYgKGRhdGE/LlswXT8uaWQpIHJldHVybiBkYXRhPy5bMF0/LmlkXHJcblxyXG4gICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYFByb2R1Y3Qgd2l0aCBpZCAke2lkfSBub3QgZm91bmRgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmaW5kUmV2aWV3c0J5UHJvZHVjdChwcm9kdWN0SWQ6IG51bWJlcik6IFByb21pc2U8UHJvZHVjdFJldmlld1tdPiB7XHJcbiAgICBjb25zdCB7IHByb2R1Y3RfcmV2aWV3OiBkYXRhIH0gPSBhd2FpdCB0aGlzLnF1ZXJ5KCdwcm9kdWN0X3JldmlldycsIHRoaXMucmV2aWV3c0ZpZWxkcywge1xyXG4gICAgICB3aGVyZToge1xyXG4gICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICBwcm9kdWN0X2lkOiB7IF9lcTogcHJvZHVjdElkIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiAncHJvZHVjdF9yZXZpZXdfYm9vbF9leHAnLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gZGF0YSAmJiBkYXRhLm1hcCgocmV2aWV3KSA9PiB0aGlzLmJpbmRSZXZpZXdUb01vZGVsKHJldmlldykpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGZpbmRSZXZpZXcocmV2aWV3OiBQcm9kdWN0UmV2aWV3LCBwcm9kdWN0SWQ6IG51bWJlcik6IFByb21pc2U8UHJvZHVjdFJldmlldz4ge1xyXG4gICAgaWYgKHJldmlldy5pZCkgcmV0dXJuIHJldmlld1xyXG5cclxuICAgIGxldCBsb2FkZWRSZXZpZXc6IFByb2R1Y3RSZXZpZXdcclxuXHJcbiAgICBpZiAocmV2aWV3LnBlcnNvbklkKSBsb2FkZWRSZXZpZXcgPSBhd2FpdCB0aGlzLmdldFJldmlld0J5UGVyc29uSWQocmV2aWV3LnBlcnNvbklkLCBwcm9kdWN0SWQpXHJcbiAgICBpZiAoIWxvYWRlZFJldmlldyAmJiByZXZpZXcuYXV0aG9yICYmIHJldmlldy5lbWFpbClcclxuICAgICAgbG9hZGVkUmV2aWV3ID0gYXdhaXQgdGhpcy5nZXRSZXZpZXdCeUF1dGhvckFuZEVtYWlsKHJldmlldy5hdXRob3IsIHJldmlldy5lbWFpbCwgcHJvZHVjdElkKVxyXG5cclxuICAgIHJldHVybiBsb2FkZWRSZXZpZXcgfHwgcmV2aWV3XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldFJldmlld0J5UGVyc29uSWQocGVyc29uSWQ6IG51bWJlciwgcHJvZHVjdElkOiBudW1iZXIpOiBQcm9taXNlPFByb2R1Y3RSZXZpZXc+IHtcclxuICAgIGNvbnN0IHsgcHJvZHVjdF9yZXZpZXc6IGRhdGEgfSA9IGF3YWl0IHRoaXMucXVlcnkoJ3Byb2R1Y3RfcmV2aWV3JywgdGhpcy5yZXZpZXdzRmllbGRzLCB7XHJcbiAgICAgIHdoZXJlOiB7XHJcbiAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgIHByb2R1Y3RfaWQ6IHsgX2VxOiBwcm9kdWN0SWQgfSxcclxuICAgICAgICAgIHBlcnNvbl9pZDogeyBfZXE6IHBlcnNvbklkIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiBgcHJvZHVjdF9yZXZpZXdfYm9vbF9leHBgLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gZGF0YSAmJiBkYXRhWzBdICYmIHRoaXMuYmluZFJldmlld1RvTW9kZWwoZGF0YVswXSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZ2V0UmV2aWV3QnlBdXRob3JBbmRFbWFpbChhdXRob3I6IHN0cmluZywgZW1haWw6IHN0cmluZywgcHJvZHVjdElkOiBudW1iZXIpOiBQcm9taXNlPFByb2R1Y3RSZXZpZXc+IHtcclxuICAgIGNvbnN0IHsgcHJvZHVjdF9yZXZpZXc6IGRhdGEgfSA9IGF3YWl0IHRoaXMucXVlcnkoJ3Byb2R1Y3RfcmV2aWV3JywgdGhpcy5yZXZpZXdzRmllbGRzLCB7XHJcbiAgICAgIHdoZXJlOiB7XHJcbiAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgIHByb2R1Y3RfaWQ6IHsgX2VxOiBwcm9kdWN0SWQgfSxcclxuICAgICAgICAgIGF1dGhvcjogeyBfZXE6IGF1dGhvciB9LFxyXG4gICAgICAgICAgZW1haWw6IHsgX2VxOiBlbWFpbCB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogYHByb2R1Y3RfcmV2aWV3X2Jvb2xfZXhwYCxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIGRhdGEgJiYgZGF0YVswXSAmJiB0aGlzLmJpbmRSZXZpZXdUb01vZGVsKGRhdGFbMF0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRSZXZpZXdUb01vZGVsID0gKHBsYWluOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvZHVjdFJldmlldyA9PiAoe1xyXG4gICAgLi4ub21pdChwbGFpbiwgWydwcm9kdWN0X2lkJywgJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCcsICdwZXJzb25faWQnLCAnb3JkZXJfaWQnXSksXHJcbiAgICBjcmVhdGVkQXQ6IHR5cGVvZiBwbGFpbi5jcmVhdGVkX2F0ID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKHBsYWluLmNyZWF0ZWRfYXQpIDogcGxhaW4uY3JlYXRlZF9hdCxcclxuICAgIHVwZGF0ZWRBdDogdHlwZW9mIHBsYWluLnVwZGF0ZWRfYXQgPT09ICdzdHJpbmcnID8gbmV3IERhdGUocGxhaW4udXBkYXRlZF9hdCkgOiBwbGFpbi51cGRhdGVkX2F0LFxyXG4gICAgcGVyc29uSWQ6IHBsYWluLnBlcnNvbl9pZCxcclxuICAgIG9yZGVySWQ6IHBsYWluLm9yZGVyX2lkLFxyXG4gIH0pXHJcblxyXG4gIHByaXZhdGUgYmluZFJldmlld1RvSGFzdXJhID0gKHJldmlldzogUHJvZHVjdFJldmlldyk6IFByb2R1Y3RSZXZpZXdGaWVsZHMgPT4gKHtcclxuICAgIC4uLm9taXQocmV2aWV3LCBbJ3Byb2R1Y3RJZCcsICdjcmVhdGVkQXQnLCAndXBkYXRlZEF0JywgJ3BlcnNvbklkJywgJ29yZGVySWQnXSksXHJcbiAgICBwZXJzb25faWQ6IHJldmlldy5wZXJzb25JZCxcclxuICAgIG9yZGVyX2lkOiByZXZpZXcub3JkZXJJZCxcclxuICB9KVxyXG59XHJcbiJdfQ==
|
package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
|
2
|
+
import { Shops } from '../../../../domain';
|
|
3
|
+
import { NotFoundError } from '../../../../errors';
|
|
4
|
+
import { Base, isNil } from '../../../../utils';
|
|
5
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
6
|
+
import { VariantHasuraGraphQL } from '../../models';
|
|
7
|
+
export class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
8
|
+
constructor(endpoint, authOptions) {
|
|
9
|
+
super({
|
|
10
|
+
tableName: 'product',
|
|
11
|
+
model: VariantHasuraGraphQL,
|
|
12
|
+
endpoint,
|
|
13
|
+
authOptions,
|
|
14
|
+
fields: [
|
|
15
|
+
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
16
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
17
|
+
{ productId: { columnName: 'main_product_id', to: (value) => +value, from: (value) => value === null || value === void 0 ? void 0 : value.toString() } },
|
|
18
|
+
{ EAN: { columnName: 'ean' } },
|
|
19
|
+
{ costPrice: { columnName: 'cost_price' } },
|
|
20
|
+
{
|
|
21
|
+
price: {
|
|
22
|
+
columnName: 'price',
|
|
23
|
+
from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
|
|
24
|
+
price,
|
|
25
|
+
fullPrice: data.full_price,
|
|
26
|
+
subscriberDiscountPercentage: data.subscriber_discount_percentage,
|
|
27
|
+
subscriberPrice: data.subscriber_price,
|
|
28
|
+
} })), {}),
|
|
29
|
+
bindFindFilter: (sentence) => {
|
|
30
|
+
const filters = Object.values(sentence).shift();
|
|
31
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, (((filters === null || filters === void 0 ? void 0 : filters.price) || (filters === null || filters === void 0 ? void 0 : filters.price) === 0) && { price: filters.price })), ((filters.fullPrice || filters.fullPrice === 0) && { full_price: filters.fullPrice })), ((filters.subscriberDiscountPercentage || filters.subscriberDiscountPercentage === 0) && {
|
|
32
|
+
subscriber_discount_percentage: filters.subscriberDiscountPercentage,
|
|
33
|
+
})), ((filters.subscriberPrice || filters.subscriberPrice === 0) && {
|
|
34
|
+
subscriber_price: filters.subscriberPrice,
|
|
35
|
+
}));
|
|
36
|
+
},
|
|
37
|
+
bindPersistData: (value) => {
|
|
38
|
+
const priceData = Object.values(value).shift();
|
|
39
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) >= 0 && { price: priceData.price })), (priceData.fullPrice >= 0 && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage >= 0 && {
|
|
40
|
+
subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
|
|
41
|
+
})), (priceData.subscriberPrice >= 0 && { subscriber_price: priceData.subscriberPrice }));
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{ fullPrice: { columnName: 'full_price' } },
|
|
46
|
+
{ subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
|
|
47
|
+
{ subscriberPrice: { columnName: 'subscriber_price' } },
|
|
48
|
+
'sku',
|
|
49
|
+
{
|
|
50
|
+
stock: {
|
|
51
|
+
columnName: 'stock',
|
|
52
|
+
from: (quantity) => ({ quantity }),
|
|
53
|
+
to: (value) => (isNil(value === null || value === void 0 ? void 0 : value.quantity) ? value : value === null || value === void 0 ? void 0 : value.quantity),
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
'weight',
|
|
57
|
+
{ name: { to: () => '', from: () => undefined } },
|
|
58
|
+
{ hasVariants: { columnName: 'has_variants', to: () => false, from: () => undefined } },
|
|
59
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
60
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
get(identifiers) {
|
|
65
|
+
const _super = Object.create(null, {
|
|
66
|
+
get: { get: () => super.get }
|
|
67
|
+
});
|
|
68
|
+
var _a;
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return Number.isNaN(+identifiers.id)
|
|
71
|
+
? (_a = (yield this.find({ filters: { firestoreId: identifiers.id } })).data) === null || _a === void 0 ? void 0 : _a[0]
|
|
72
|
+
: _super.get.call(this, identifiers);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
update(params) {
|
|
76
|
+
const _super = Object.create(null, {
|
|
77
|
+
update: { get: () => super.update }
|
|
78
|
+
});
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const { productId, id: checkId } = params, data = __rest(params, ["productId", "id"]);
|
|
81
|
+
const dataWithProductId = this.paramsToPlain({ id: checkId, productId });
|
|
82
|
+
const id = yield this.getId(dataWithProductId.id);
|
|
83
|
+
const product = yield _super.update.call(this, Object.assign({ id }, data));
|
|
84
|
+
product.productId = dataWithProductId.productId;
|
|
85
|
+
return product;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
getId(id) {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
if (!Number.isNaN(+id))
|
|
92
|
+
return id;
|
|
93
|
+
const { data } = yield this.find({ filters: { firestoreId: id } });
|
|
94
|
+
if ((_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.id)
|
|
95
|
+
return (_b = data === null || data === void 0 ? void 0 : data[0]) === null || _b === void 0 ? void 0 : _b.id;
|
|
96
|
+
throw new NotFoundError(`Product with id ${id} not found`);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvdmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQXVCLEtBQUssRUFBeUQsTUFBTSxvQkFBb0IsQ0FBQTtBQUN0SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR25ELE1BQU0sT0FBTyw4QkFDWCxTQUFRLHFCQUFxQixDQUFDLGlCQUFpQixDQUF1QixJQUFJLENBQUMsQ0FBQztJQUc1RSxZQUFZLFFBQWdCLEVBQUUsV0FBcUM7UUFDakUsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixRQUFRO1lBQ1IsV0FBVztZQUNYLE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO2dCQUN0RixFQUFFLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFBRTtnQkFDL0MsRUFBRSxTQUFTLEVBQUUsRUFB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QU8sTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsQ0FBQyxDQUFDLDBDQUFFLEVBQUUsQ0FBQTtZQUV2QyxNQUFNLElBQUksYUFBYSxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxDQUFBOztLQUMzRDtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0UmVwb3NpdG9yeVBhcmFtcywgU2hvcHMsIFNob3BzUHJpY2UsIFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXMsIFZhcmlhbnRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xyXG5pbXBvcnQgeyBCYXNlLCBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwsIHdpdGhIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xyXG5pbXBvcnQgeyBWYXJpYW50SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21vZGVscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcblxyXG5leHBvcnQgY2xhc3MgVmFyaWFudEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XHJcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwod2l0aEhhc3VyYUdyYXBoUUw8VmFyaWFudEhhc3VyYUdyYXBoUUw+KEJhc2UpKVxyXG4gIGltcGxlbWVudHMgVmFyaWFudFJlcG9zaXRvcnlcclxue1xyXG4gIGNvbnN0cnVjdG9yKGVuZHBvaW50OiBzdHJpbmcsIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMpIHtcclxuICAgIHN1cGVyKHtcclxuICAgICAgdGFibGVOYW1lOiAncHJvZHVjdCcsXHJcbiAgICAgIG1vZGVsOiBWYXJpYW50SGFzdXJhR3JhcGhRTCxcclxuICAgICAgZW5kcG9pbnQsXHJcbiAgICAgIGF1dGhPcHRpb25zLFxyXG4gICAgICBmaWVsZHM6IFtcclxuICAgICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+ICt2YWx1ZSwgZnJvbTogKHZhbHVlKSA9PiB2YWx1ZS50b1N0cmluZygpIH0gfSxcclxuICAgICAgICB7IGZpcmVzdG9yZUlkOiB7IGNvbHVtbk5hbWU6ICdmaXJlc3RvcmVfaWQnIH0gfSxcclxuICAgICAgICB7IHByb2R1Y3RJZDogeyBjb2x1bW5OYW1lOiAnbWFpbl9wcm9kdWN0X2lkJywgdG86ICh2YWx1ZSkgPT4gK3ZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlPy50b1N0cmluZygpIH0gfSxcclxuICAgICAgICB7IEVBTjogeyBjb2x1bW5OYW1lOiAnZWFuJyB9IH0sXHJcbiAgICAgICAgeyBjb3N0UHJpY2U6IHsgY29sdW1uTmFtZTogJ2Nvc3RfcHJpY2UnIH0gfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcmljZToge1xyXG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAncHJpY2UnLFxyXG4gICAgICAgICAgICBmcm9tOiAocHJpY2UsIGRhdGEpOiBTaG9wc1ByaWNlID0+XHJcbiAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhTaG9wcykucmVkdWNlKFxyXG4gICAgICAgICAgICAgICAgKHByaWNlczogU2hvcHNQcmljZSwgc2hvcCkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgLi4ucHJpY2VzLFxyXG4gICAgICAgICAgICAgICAgICBbc2hvcF06IHtcclxuICAgICAgICAgICAgICAgICAgICBwcmljZSxcclxuICAgICAgICAgICAgICAgICAgICBmdWxsUHJpY2U6IGRhdGEuZnVsbF9wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlOiBkYXRhLnN1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZSxcclxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyUHJpY2U6IGRhdGEuc3Vic2NyaWJlcl9wcmljZSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgYmluZEZpbmRGaWx0ZXI6IChzZW50ZW5jZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHNlbnRlbmNlKS5zaGlmdCgpXHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi4oKGZpbHRlcnM/LnByaWNlIHx8IGZpbHRlcnM/LnByaWNlID09PSAwKSAmJiB7IHByaWNlOiBmaWx0ZXJzLnByaWNlIH0pLFxyXG4gICAgICAgICAgICAgICAgLi4uKChmaWx0ZXJzLmZ1bGxQcmljZSB8fCBmaWx0ZXJzLmZ1bGxQcmljZSA9PT0gMCkgJiYgeyBmdWxsX3ByaWNlOiBmaWx0ZXJzLmZ1bGxQcmljZSB9KSxcclxuICAgICAgICAgICAgICAgIC4uLigoZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlIHx8IGZpbHRlcnMuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSA9PT0gMCkgJiYge1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IGZpbHRlcnMuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgLi4uKChmaWx0ZXJzLnN1YnNjcmliZXJQcmljZSB8fCBmaWx0ZXJzLnN1YnNjcmliZXJQcmljZSA9PT0gMCkgJiYge1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX3ByaWNlOiBmaWx0ZXJzLnN1YnNjcmliZXJQcmljZSxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBwcmljZURhdGEgPSBPYmplY3QudmFsdWVzKHZhbHVlKS5zaGlmdCgpXHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhPy5wcmljZSA+PSAwICYmIHsgcHJpY2U6IHByaWNlRGF0YS5wcmljZSB9KSxcclxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuZnVsbFByaWNlID49IDAgJiYgeyBmdWxsX3ByaWNlOiBwcmljZURhdGEuZnVsbFByaWNlIH0pLFxyXG4gICAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlID49IDAgJiYge1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhLnN1YnNjcmliZXJQcmljZSA+PSAwICYmIHsgc3Vic2NyaWJlcl9wcmljZTogcHJpY2VEYXRhLnN1YnNjcmliZXJQcmljZSB9KSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBmdWxsUHJpY2U6IHsgY29sdW1uTmFtZTogJ2Z1bGxfcHJpY2UnIH0gfSxcclxuICAgICAgICB7IHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IHsgY29sdW1uTmFtZTogJ3N1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZScgfSB9LFxyXG4gICAgICAgIHsgc3Vic2NyaWJlclByaWNlOiB7IGNvbHVtbk5hbWU6ICdzdWJzY3JpYmVyX3ByaWNlJyB9IH0sXHJcbiAgICAgICAgJ3NrdScsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3RvY2s6IHtcclxuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3N0b2NrJyxcclxuICAgICAgICAgICAgZnJvbTogKHF1YW50aXR5OiBudW1iZXIpID0+ICh7IHF1YW50aXR5IH0pLFxyXG4gICAgICAgICAgICB0bzogKHZhbHVlKSA9PiAoaXNOaWwodmFsdWU/LnF1YW50aXR5KSA/IHZhbHVlIDogdmFsdWU/LnF1YW50aXR5KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnd2VpZ2h0JyxcclxuICAgICAgICB7IG5hbWU6IHsgdG86ICgpID0+ICcnLCBmcm9tOiAoKSA9PiB1bmRlZmluZWQgfSB9LFxyXG4gICAgICAgIHsgaGFzVmFyaWFudHM6IHsgY29sdW1uTmFtZTogJ2hhc192YXJpYW50cycsIHRvOiAoKSA9PiBmYWxzZSwgZnJvbTogKCkgPT4gdW5kZWZpbmVkIH0gfSxcclxuICAgICAgICB7IGNyZWF0ZWRBdDogeyBjb2x1bW5OYW1lOiAnY3JlYXRlZF9hdCcgfSB9LFxyXG4gICAgICAgIHsgdXBkYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICd1cGRhdGVkX2F0JyB9IH0sXHJcbiAgICAgIF0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0KGlkZW50aWZpZXJzOiBHZXRSZXBvc2l0b3J5UGFyYW1zPFZhcmlhbnRIYXN1cmFHcmFwaFFMPik6IFByb21pc2U8VmFyaWFudEhhc3VyYUdyYXBoUUw+IHtcclxuICAgIHJldHVybiBOdW1iZXIuaXNOYU4oK2lkZW50aWZpZXJzLmlkKVxyXG4gICAgICA/IChhd2FpdCB0aGlzLmZpbmQoeyBmaWx0ZXJzOiB7IGZpcmVzdG9yZUlkOiBpZGVudGlmaWVycy5pZCB9IH0pKS5kYXRhPy5bMF1cclxuICAgICAgOiBzdXBlci5nZXQoaWRlbnRpZmllcnMpXHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGUocGFyYW1zOiBVcGRhdGVSZXBvc2l0b3J5UGFyYW1zPFZhcmlhbnRIYXN1cmFHcmFwaFFMPik6IFByb21pc2U8VmFyaWFudEhhc3VyYUdyYXBoUUw+IHtcclxuICAgIGNvbnN0IHsgcHJvZHVjdElkLCBpZDogY2hlY2tJZCwgLi4uZGF0YSB9ID0gcGFyYW1zXHJcbiAgICBjb25zdCBkYXRhV2l0aFByb2R1Y3RJZCA9IHRoaXMucGFyYW1zVG9QbGFpbih7IGlkOiBjaGVja0lkLCBwcm9kdWN0SWQgfSlcclxuICAgIGNvbnN0IGlkID0gYXdhaXQgdGhpcy5nZXRJZChkYXRhV2l0aFByb2R1Y3RJZC5pZClcclxuICAgIGNvbnN0IHByb2R1Y3QgPSBhd2FpdCBzdXBlci51cGRhdGUoeyBpZCwgLi4uZGF0YSB9KVxyXG5cclxuICAgIHByb2R1Y3QucHJvZHVjdElkID0gZGF0YVdpdGhQcm9kdWN0SWQucHJvZHVjdElkXHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZ2V0SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBpZiAoIU51bWJlci5pc05hTigraWQpKSByZXR1cm4gaWRcclxuXHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZmluZCh7IGZpbHRlcnM6IHsgZmlyZXN0b3JlSWQ6IGlkIH0gfSlcclxuXHJcbiAgICBpZiAoZGF0YT8uWzBdPy5pZCkgcmV0dXJuIGRhdGE/LlswXT8uaWRcclxuXHJcbiAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgUHJvZHVjdCB3aXRoIGlkICR7aWR9IG5vdCBmb3VuZGApXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './catalog';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9yZXBvc2l0b3JpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnXHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9maWVsZHMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkRmllbGQgfSBmcm9tICcuL25lc3RlZC1maWVsZC50eXBlJ1xyXG5cclxuZXhwb3J0IHR5cGUgRmllbGRzID0gQXJyYXk8c3RyaW5nIHwgb2JqZWN0IHwgTmVzdGVkRmllbGQgfCAnYWdncmVnYXRlJyB8ICdub2Rlcyc+XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5yZXBvc2l0b3J5LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9ncmFwaHFsLnJlcG9zaXRvcnkudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5cclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zIH0gZnJvbSAnLi9oYXN1cmEtZ3JhcGhxbC1hdXRoLW9wdGlvbnMudHlwZSdcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4vaGFzdXJhLWdyYXBocWwtZmllbGRzLnR5cGUnXHJcbmltcG9ydCB7IFZhcmlhYmxlT3B0aW9ucyB9IGZyb20gJy4vdmFyaWFibGUtb3B0aW9ucy50eXBlJ1xyXG5cclxuZXhwb3J0IHR5cGUgR3JhcGhRTFBhcmFtczxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4gPSB7XHJcbiAgb3BlcmF0aW9uOiBzdHJpbmdcclxuICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxyXG4gIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9uc1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHcmFwaFFMUmVwb3NpdG9yeTxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4gPSB7XHJcbiAgdGFibGVOYW1lOiBzdHJpbmdcclxuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cclxuICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+XHJcbiAgZW5kcG9pbnQ6IHN0cmluZ1xyXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcclxuICBtdXRhdGlvbjogPFJldHVybkZpZWxkcyA9IGFueT4oXHJcbiAgICBvcGVyYXRpb246IHN0cmluZyxcclxuICAgIGZpZWxkcz86IHN0cmluZ1tdIHwgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXHJcbiAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXHJcbiAgKSA9PiBQcm9taXNlPFJldHVybkZpZWxkcz5cclxuICBxdWVyeTogPFJldHVybkZpZWxkcyA9IGFueT4oXHJcbiAgICBvcGVyYXRpb246IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TW9kZWw+W10sXHJcbiAgICBmaWVsZHM/OiBzdHJpbmdbXSB8IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxyXG4gICAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zLFxyXG4gICkgPT4gUHJvbWlzZTxSZXR1cm5GaWVsZHM+XHJcbiAgZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZjogPEZpZWxkVmFsdWU+KHZhbHVlOiBGaWVsZFZhbHVlKSA9PiBzdHJpbmdcclxuICBjb252ZXJ0RGF0YUZyb21IYXN1cmE6IChkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSA9PiBNb2RlbFxyXG4gIGNvbnZlcnREYXRhVG9IYXN1cmEoaW5zdGFuY2U6IE1vZGVsLCB1cGRhdGU/OiBib29sZWFuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPlxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtYXV0aC1vcHRpb25zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9oYXN1cmEtZ3JhcGhxbC1hdXRoLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zID0ge1xyXG4gIGFkbWluU2VjcmV0Pzogc3RyaW5nXHJcbiAgYXV0aFJvbGU/OiB7XHJcbiAgICByb2xlOiBzdHJpbmdcclxuICAgIHVzZXJJZDogc3RyaW5nXHJcbiAgfVxyXG4gIGF1dGhUb2tlbj86IHN0cmluZ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtZmllbGRzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9oYXN1cmEtZ3JhcGhxbC1maWVsZHMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLCBSZXBvc2l0b3J5RmluZEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBQcm9wVHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZSB9IGZyb20gJy4uL2VudW1zJ1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sdW1uT3B0aW9uczxGaWVsZFR5cGUsIE1vZGVsLCBWYWx1ZUZyb20gPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7XHJcbiAgdHlwZT86IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlXHJcbiAgY29sdW1uTmFtZT86IHN0cmluZ1xyXG4gIGZpZWxkcz86IEhhc3VyYUdyYXBoUUxGaWVsZHM8RmllbGRUeXBlIGV4dGVuZHMgYW55W10gPyBGaWVsZFR5cGVbbnVtYmVyXSA6IEZpZWxkVHlwZT5cclxuICBmb3JlaWduS2V5Q29sdW1uPzogUGFydGlhbDxcclxuICAgIFJlY29yZDxcclxuICAgICAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxGaWVsZFR5cGUgZXh0ZW5kcyBhbnlbXSA/IEZpZWxkVHlwZVtudW1iZXJdIDogRmllbGRUeXBlPixcclxuICAgICAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD4gfCBzdHJpbmdcclxuICAgID5cclxuICA+XHJcbiAgZnJvbT86ICh2YWx1ZTogVmFsdWVGcm9tIHwgVmFsdWVGcm9tW10sIGRhdGE/OiBhbnkpID0+IEZpZWxkVHlwZVxyXG4gIHRvPzogKHZhbHVlOiBGaWVsZFR5cGUsIGluc3RhbmNlPzogTW9kZWwpID0+IFZhbHVlRnJvbVxyXG4gIGJpbmRGaW5kRmlsdGVyPzogKFxyXG4gICAgc2VudGVuY2U6IFJlcG9zaXRvcnlGaW5kRmllbGQ8TW9kZWwsIGtleW9mIE1vZGVsPixcclxuICApID0+IFJlY29yZDxzdHJpbmcsIFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tPiB8IFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tXHJcbiAgYmluZFBlcnNpc3REYXRhPzogKHZhbHVlOiBGaWVsZFR5cGUsIGluc3RhbmNlPzogTW9kZWwpID0+IFJlY29yZDxzdHJpbmcsIFZhbHVlRnJvbT5cclxufVxyXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGVPcHRpb25OYW1lcyA9XHJcbiAgfCAnYXZnJ1xyXG4gIHwgJ2NvdW50J1xyXG4gIHwgJ21heCdcclxuICB8ICdtaW4nXHJcbiAgfCAnc3RkZGV2J1xyXG4gIHwgJ3N0ZGRldl9wb3AnXHJcbiAgfCAnc3RkZGV2X3NhbXAnXHJcbiAgfCAnc3VtJ1xyXG4gIHwgJ3Zhcl9wb3AnXHJcbiAgfCAndmFyX3NhbXAnXHJcbiAgfCAndmFyaWFuY2UnXHJcbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgVHlwZSwgUHJvcGVydGllcyBleHRlbmRzIGtleW9mIE1vZGVsID0ga2V5b2YgTW9kZWw+ID0ge1xyXG4gIFtLIGluIFByb3BlcnRpZXNdOiBQcm9wVHlwZTxNb2RlbCwgSz4gZXh0ZW5kcyBUeXBlID8gSyA6IG5ldmVyXHJcbn1bUHJvcGVydGllc11cclxuZXhwb3J0IHR5cGUgQWdncmVnYXRlT3B0aW9uczxNb2RlbD4gPSB7XHJcbiAgYXZnPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxyXG4gIG1heD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyIHwgRGF0ZT4+XHJcbiAgbWluPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXIgfCBEYXRlPj5cclxuICBzdGRkZXY/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XHJcbiAgc3RkZGV2X3BvcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cclxuICBzdGRkZXZfc2FtcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cclxuICBzdW0/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XHJcbiAgdmFyX3BvcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cclxuICB2YXJfc2FtcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cclxuICB2YXJpYW5jZT86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4gPSAoXHJcbiAgfCAoTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmVcclxuICAgICAgP1xyXG4gICAgICAgICAgfCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPlxyXG4gICAgICAgICAgfCB7XHJcbiAgICAgICAgICAgICAgW2tleSBpbiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0/OiBQcm9wVHlwZTxNb2RlbCwga2V5PiBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZVxyXG4gICAgICAgICAgICAgICAgPyBIYXN1cmFHcmFwaFFMRmllbGRzPFByb3BUeXBlPE1vZGVsLCBrZXk+PlxyXG4gICAgICAgICAgICAgICAgOiBQcm9wVHlwZTxNb2RlbCwga2V5PiBleHRlbmRzIGFueVtdXHJcbiAgICAgICAgICAgICAgICA/IFByb3BUeXBlPE1vZGVsLCBrZXk+W10gZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmVbXVxyXG4gICAgICAgICAgICAgICAgICA/IEhhc3VyYUdyYXBoUUxGaWVsZHM8UHJvcFR5cGU8TW9kZWwsIGtleT5bXT5cclxuICAgICAgICAgICAgICAgICAgOiBuZXZlclxyXG4gICAgICAgICAgICAgICAgOiBuZXZlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB8IHtcclxuICAgICAgICAgICAgICBba2V5IGluIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+XT86IGtleSBleHRlbmRzICdhZ2dyZWdhdGUnXHJcbiAgICAgICAgICAgICAgICA/IG5ldmVyXHJcbiAgICAgICAgICAgICAgICA6IFByb3BUeXBlPE1vZGVsLCBrZXk+IGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlXHJcbiAgICAgICAgICAgICAgICA/IENvbHVtbk9wdGlvbnM8UHJvcFR5cGU8TW9kZWwsIGtleT4sIE1vZGVsPlxyXG4gICAgICAgICAgICAgICAgOiBDb2x1bW5PcHRpb25zPFByb3BUeXBlPE1vZGVsLCBrZXk+LCBNb2RlbD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICA6IHN0cmluZylcclxuICB8IHsgYWdncmVnYXRlOiBBcnJheTxBZ2dyZWdhdGVPcHRpb25zPE1vZGVsPiB8ICdjb3VudCc+IH1cclxuICB8ICdhZmZlY3RlZF9yb3dzJ1xyXG4pW11cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtaGVhZGVycy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvdHlwZXMvaGFzdXJhLWdyYXBocWwtaGVhZGVycy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIYXN1cmFHcmFwaFFMSGVhZGVycyA9IHtcclxuICBBdXRob3JpemF0aW9uPzogc3RyaW5nXHJcbiAgJ0NvbnRlbnQtVHlwZSc6IHN0cmluZ1xyXG4gICdYLUhhc3VyYS1BZG1pbi1TZWNyZXQnPzogc3RyaW5nXHJcbiAgJ1gtSGFzdXJhLVJvbGUnPzogc3RyaW5nXHJcbiAgJ1gtSGFzdXJhLVVzZXItSWQnPzogc3RyaW5nXHJcbn1cclxuIl19
|