@infrab4a/connect 0.17.1-beta.1 → 0.17.1-beta.2
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/bundles/infrab4a-connect.umd.js +2784 -0
- package/bundles/infrab4a-connect.umd.js.map +1 -0
- package/domain/catalog/index.d.ts +2 -0
- package/domain/catalog/models/category.d.ts +22 -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 +5 -0
- package/domain/catalog/models/product.d.ts +35 -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 +15 -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 +14 -0
- package/domain/catalog/repositories/category.repository.d.ts +15 -0
- package/domain/catalog/repositories/index.d.ts +4 -0
- package/{src/domain/catalog/repositories/product.repository.ts → domain/catalog/repositories/product.repository.d.ts} +3 -4
- package/{src/domain/catalog/repositories/subscription-product.repository.ts → domain/catalog/repositories/subscription-product.repository.d.ts} +4 -4
- package/{src/domain/catalog/repositories/variant.repository.ts → domain/catalog/repositories/variant.repository.d.ts} +4 -4
- package/domain/general/index.d.ts +2 -0
- package/domain/general/model/base-model-with-identifier-fields.d.ts +3 -0
- package/domain/general/model/base.model.d.ts +6 -0
- package/{src/domain/general/model/identifier-fields.ts → domain/general/model/identifier-fields.d.ts} +2 -3
- package/domain/general/model/index.d.ts +4 -0
- package/domain/general/model/types/base-model-builder.type.d.ts +5 -0
- package/domain/general/model/types/index.d.ts +3 -0
- package/domain/general/model/types/non-function-properties.type.d.ts +2 -0
- package/domain/general/model/types/non-function-property-name.type.d.ts +3 -0
- package/{src/domain/general/repository/create.repository.ts → domain/general/repository/create.repository.d.ts} +3 -4
- package/domain/general/repository/crud.repository.d.ts +7 -0
- package/{src/domain/general/repository/delete.repository.ts → domain/general/repository/delete.repository.d.ts} +3 -4
- package/domain/general/repository/enums/index.d.ts +2 -0
- package/domain/general/repository/enums/update-option-actions.enum.d.ts +7 -0
- package/domain/general/repository/enums/where.enum.d.ts +10 -0
- package/domain/general/repository/find.repository.d.ts +5 -0
- package/{src/domain/general/repository/get.repository.ts → domain/general/repository/get.repository.d.ts} +3 -4
- package/domain/general/repository/index.d.ts +9 -0
- package/domain/general/repository/read.repository.d.ts +5 -0
- package/domain/general/repository/types/index.d.ts +5 -0
- package/domain/general/repository/types/repository-find-filters.type.d.ts +14 -0
- package/domain/general/repository/types/repository-find-result.type.d.ts +4 -0
- package/domain/general/repository/types/repository-limit-options.type.d.ts +4 -0
- package/domain/general/repository/types/repository-order-by-list.type.d.ts +5 -0
- package/domain/general/repository/types/repository-update-params.type.d.ts +11 -0
- package/{src/domain/general/repository/update.repository.ts → domain/general/repository/update.repository.d.ts} +3 -5
- package/domain/index.d.ts +6 -0
- package/domain/location/index.d.ts +1 -0
- package/domain/location/models/address.d.ts +21 -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 +4 -0
- package/domain/shop-settings/models/shop-menu.d.ts +7 -0
- package/domain/shop-settings/models/shop-settings.d.ts +6 -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 +3 -0
- package/{src/domain/shop-settings/repositories/shop-menu.repository.ts → domain/shop-settings/repositories/shop-menu.repository.d.ts} +4 -4
- package/{src/domain/shop-settings/repositories/shop-settings.repository.ts → domain/shop-settings/repositories/shop-settings.repository.d.ts} +4 -4
- package/domain/shopping/index.d.ts +2 -0
- package/domain/shopping/models/buy-2-win.d.ts +18 -0
- package/domain/shopping/models/checkout.d.ts +29 -0
- package/domain/shopping/models/coupons/coupon.d.ts +28 -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 +69 -0
- package/domain/shopping/models/shipping-method.d.ts +18 -0
- package/domain/shopping/models/subscription/checkout.d.ts +23 -0
- package/domain/shopping/models/subscription/index.d.ts +2 -0
- package/domain/shopping/models/subscription/plan.d.ts +12 -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/{src/domain/shopping/repositories/buy-2-win.repository.ts → domain/shopping/repositories/buy-2-win.repository.d.ts} +4 -4
- package/{src/domain/shopping/repositories/checkout.repository.ts → domain/shopping/repositories/checkout.repository.d.ts} +4 -4
- package/{src/domain/shopping/repositories/coupon.repository.ts → domain/shopping/repositories/coupon.repository.d.ts} +4 -4
- package/domain/shopping/repositories/index.d.ts +7 -0
- package/{src/domain/shopping/repositories/legacy-order.repository.ts → domain/shopping/repositories/legacy-order.repository.d.ts} +3 -3
- package/{src/domain/shopping/repositories/order.repository.ts → domain/shopping/repositories/order.repository.d.ts} +4 -4
- package/{src/domain/shopping/repositories/payment.repository.ts → domain/shopping/repositories/payment.repository.d.ts} +4 -4
- package/{src/domain/shopping/repositories/subscription/checkout.repository.ts → domain/shopping/repositories/subscription/checkout.repository.d.ts} +4 -4
- package/domain/shopping/repositories/subscription/index.d.ts +2 -0
- package/{src/domain/shopping/repositories/subscription/plan.repository.ts → domain/shopping/repositories/subscription/plan.repository.d.ts} +4 -4
- package/domain/users/errors/index.d.ts +3 -0
- package/domain/users/errors/unauthorized.error.d.ts +4 -0
- package/domain/users/errors/user-already-registered.error.d.ts +4 -0
- package/domain/users/errors/weak-password.error.d.ts +4 -0
- package/domain/users/index.d.ts +5 -0
- package/domain/users/models/beauty-profile.d.ts +12 -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 +9 -0
- package/domain/users/models/subscription/edition.d.ts +17 -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 +14 -0
- package/domain/users/models/subscription/subscription.d.ts +30 -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 +25 -0
- package/{src/domain/users/repositories/beauty-profile.repository.ts → domain/users/repositories/beauty-profile.repository.d.ts} +4 -4
- package/{src/domain/users/repositories/edition.repository.ts → domain/users/repositories/edition.repository.d.ts} +4 -4
- package/domain/users/repositories/index.d.ts +8 -0
- package/domain/users/repositories/lead.repository.d.ts +4 -0
- package/{src/domain/users/repositories/subscription-payment.repository.ts → domain/users/repositories/subscription-payment.repository.d.ts} +4 -4
- package/{src/domain/users/repositories/subscription.repository.ts → domain/users/repositories/subscription.repository.d.ts} +4 -4
- package/{src/domain/users/repositories/user-address.repository.ts → domain/users/repositories/user-address.repository.d.ts} +4 -4
- package/{src/domain/users/repositories/user-payment-method.repository.ts → domain/users/repositories/user-payment-method.repository.d.ts} +4 -4
- 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 +4 -0
- package/errors/index.d.ts +4 -0
- package/errors/invalid-argument.error.d.ts +4 -0
- package/errors/not-found.error.d.ts +4 -0
- package/errors/required-argument.error.d.ts +5 -0
- package/esm2015/domain/catalog/index.js +3 -0
- package/esm2015/domain/catalog/models/category.js +7 -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 +6 -0
- package/esm2015/domain/catalog/models/product.js +11 -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 +7 -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/general/index.js +3 -0
- package/esm2015/domain/general/model/base-model-with-identifier-fields.js +2 -0
- package/esm2015/domain/general/model/base.model.js +13 -0
- package/esm2015/domain/general/model/identifier-fields.js +2 -0
- package/esm2015/domain/general/model/index.js +5 -0
- package/esm2015/domain/general/model/types/base-model-builder.type.js +2 -0
- package/esm2015/domain/general/model/types/index.js +4 -0
- package/esm2015/domain/general/model/types/non-function-properties.type.js +2 -0
- package/esm2015/domain/general/model/types/non-function-property-name.type.js +2 -0
- package/esm2015/domain/general/repository/create.repository.js +2 -0
- package/esm2015/domain/general/repository/crud.repository.js +2 -0
- package/esm2015/domain/general/repository/delete.repository.js +2 -0
- package/esm2015/domain/general/repository/enums/index.js +3 -0
- package/esm2015/domain/general/repository/enums/update-option-actions.enum.js +9 -0
- package/esm2015/domain/general/repository/enums/where.enum.js +12 -0
- package/esm2015/domain/general/repository/find.repository.js +2 -0
- package/esm2015/domain/general/repository/get.repository.js +2 -0
- package/esm2015/domain/general/repository/index.js +10 -0
- package/esm2015/domain/general/repository/read.repository.js +2 -0
- package/esm2015/domain/general/repository/types/index.js +6 -0
- package/esm2015/domain/general/repository/types/repository-find-filters.type.js +2 -0
- package/esm2015/domain/general/repository/types/repository-find-result.type.js +2 -0
- package/esm2015/domain/general/repository/types/repository-limit-options.type.js +2 -0
- package/esm2015/domain/general/repository/types/repository-order-by-list.type.js +2 -0
- package/esm2015/domain/general/repository/types/repository-update-params.type.js +2 -0
- package/esm2015/domain/general/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 +4 -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 +5 -0
- package/esm2015/domain/shop-settings/models/shop-menu.js +7 -0
- package/esm2015/domain/shop-settings/models/shop-settings.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 +4 -0
- package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -0
- package/esm2015/domain/shop-settings/repositories/shop-settings.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 +7 -0
- package/esm2015/domain/users/errors/user-already-registered.error.js +7 -0
- package/esm2015/domain/users/errors/weak-password.error.js +7 -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 +7 -0
- package/esm2015/errors/index.js +5 -0
- package/esm2015/errors/invalid-argument.error.js +7 -0
- package/esm2015/errors/not-found.error.js +7 -0
- package/esm2015/errors/required-argument.error.js +8 -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 +87 -0
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +26 -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 +23 -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 +4 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-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/index.js +3 -0
- package/esm2015/infrab4a-connect.js +5 -0
- package/esm2015/utils/index.js +6 -0
- package/esm2015/utils/mixins/base.mixin.js +6 -0
- package/esm2015/utils/mixins/index.js +3 -0
- package/esm2015/utils/mixins/mixin-ctor.type.js +2 -0
- package/esm2015/utils/types/index.js +2 -0
- package/esm2015/utils/types/prop.type.js +2 -0
- package/fesm2015/infrab4a-connect.js +1798 -0
- package/fesm2015/infrab4a-connect.js.map +1 -0
- package/index.d.ts +5 -0
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +11 -0
- package/{src/infra/elasticsearch/adapters/elastic-search.adapter.ts → infra/elasticsearch/adapters/elastic-search.adapter.d.ts} +2 -3
- 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 +17 -0
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +29 -0
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +15 -0
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +20 -0
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +15 -0
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +15 -0
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +10 -0
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +14 -0
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +16 -0
- package/infra/firebase/firestore/models/user-search.d.ts +9 -0
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +58 -0
- package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -0
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +50 -0
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/index.d.ts +4 -0
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +57 -0
- package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -0
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +53 -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 +49 -0
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/users/index.d.ts +9 -0
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +49 -0
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +60 -0
- package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +50 -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 +8 -0
- package/infra/firebase/firestore/types/index.d.ts +3 -0
- package/infra/firebase/index.d.ts +2 -0
- package/infra/index.d.ts +2 -0
- package/infrab4a-connect.d.ts +5 -0
- package/package.json +28 -20
- package/utils/index.d.ts +6 -0
- package/utils/mixins/base.mixin.d.ts +3 -0
- package/utils/mixins/index.d.ts +2 -0
- package/utils/mixins/mixin-ctor.type.d.ts +1 -0
- package/utils/types/index.d.ts +1 -0
- package/utils/types/prop.type.d.ts +1 -0
- package/index.ts +0 -1
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -24
- package/src/domain/catalog/index.ts +0 -2
- package/src/domain/catalog/models/category.ts +0 -27
- package/src/domain/catalog/models/enums/index.ts +0 -1
- package/src/domain/catalog/models/enums/shops.enum.ts +0 -5
- package/src/domain/catalog/models/index.ts +0 -5
- package/src/domain/catalog/models/product.ts +0 -47
- package/src/domain/catalog/models/types/category-condition.type.ts +0 -4
- package/src/domain/catalog/models/types/category-filter.type.ts +0 -4
- package/src/domain/catalog/models/types/index.ts +0 -7
- package/src/domain/catalog/models/types/product-review.type.ts +0 -16
- package/src/domain/catalog/models/types/shops-description.type.ts +0 -9
- package/src/domain/catalog/models/types/shops-price.type.ts +0 -12
- package/src/domain/catalog/models/types/stock.type.ts +0 -3
- package/src/domain/catalog/models/types/variant-grade.type.ts +0 -4
- package/src/domain/catalog/models/variant.ts +0 -19
- package/src/domain/catalog/repositories/category.repository.ts +0 -10
- package/src/domain/catalog/repositories/index.ts +0 -4
- package/src/domain/general/index.ts +0 -2
- package/src/domain/general/model/base-model-with-identifier-fields.ts +0 -4
- package/src/domain/general/model/base.model.ts +0 -17
- package/src/domain/general/model/index.ts +0 -4
- package/src/domain/general/model/types/base-model-builder.type.ts +0 -6
- package/src/domain/general/model/types/index.ts +0 -3
- package/src/domain/general/model/types/non-function-properties.type.ts +0 -3
- package/src/domain/general/model/types/non-function-property-name.type.ts +0 -1
- package/src/domain/general/repository/crud.repository.ts +0 -12
- package/src/domain/general/repository/enums/index.ts +0 -2
- package/src/domain/general/repository/enums/update-option-actions.enum.ts +0 -7
- package/src/domain/general/repository/enums/where.enum.ts +0 -10
- package/src/domain/general/repository/find.repository.ts +0 -11
- package/src/domain/general/repository/index.ts +0 -9
- package/src/domain/general/repository/read.repository.ts +0 -8
- package/src/domain/general/repository/types/index.ts +0 -5
- package/src/domain/general/repository/types/repository-find-filters.type.ts +0 -21
- package/src/domain/general/repository/types/repository-find-result.type.ts +0 -4
- package/src/domain/general/repository/types/repository-limit-options.type.ts +0 -4
- package/src/domain/general/repository/types/repository-order-by-list.type.ts +0 -7
- package/src/domain/general/repository/types/repository-update-params.type.ts +0 -16
- package/src/domain/index.ts +0 -6
- package/src/domain/location/index.ts +0 -1
- package/src/domain/location/models/address.ts +0 -23
- package/src/domain/location/models/index.ts +0 -2
- package/src/domain/location/models/types/index.ts +0 -3
- package/src/domain/location/models/types/location-bound.type.ts +0 -6
- package/src/domain/location/models/types/location-geometry.type.ts +0 -8
- package/src/domain/location/models/types/location-lat-lng.type.ts +0 -4
- package/src/domain/shop-settings/enums/filter-type.enum.ts +0 -19
- package/src/domain/shop-settings/enums/index.ts +0 -2
- package/src/domain/shop-settings/enums/questions-filters.enum.ts +0 -19
- package/src/domain/shop-settings/helpers/beauty-questions.helper.ts +0 -51
- package/src/domain/shop-settings/helpers/index.ts +0 -1
- package/src/domain/shop-settings/index.ts +0 -4
- package/src/domain/shop-settings/models/home.ts +0 -21
- package/src/domain/shop-settings/models/index.ts +0 -4
- package/src/domain/shop-settings/models/shop-menu.ts +0 -11
- package/src/domain/shop-settings/models/shop-settings.ts +0 -10
- package/src/domain/shop-settings/models/types/banner.type.ts +0 -6
- package/src/domain/shop-settings/models/types/benefit.type.ts +0 -5
- package/src/domain/shop-settings/models/types/home-data.type.ts +0 -18
- package/src/domain/shop-settings/models/types/index.ts +0 -5
- package/src/domain/shop-settings/models/types/menu-nav.type.ts +0 -9
- package/src/domain/shop-settings/models/types/sub-menu.type.ts +0 -8
- package/src/domain/shop-settings/repositories/home.repository.ts +0 -4
- package/src/domain/shop-settings/repositories/index.ts +0 -3
- package/src/domain/shopping/index.ts +0 -2
- package/src/domain/shopping/models/buy-2-win.ts +0 -26
- package/src/domain/shopping/models/checkout.ts +0 -43
- package/src/domain/shopping/models/coupons/coupon.ts +0 -42
- package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.ts +0 -4
- package/src/domain/shopping/models/coupons/enums/coupon-types.enum.ts +0 -6
- package/src/domain/shopping/models/coupons/enums/exclusivities.enum.ts +0 -5
- package/src/domain/shopping/models/coupons/enums/index.ts +0 -3
- package/src/domain/shopping/models/coupons/financial-coupon.ts +0 -32
- package/src/domain/shopping/models/coupons/index.ts +0 -3
- package/src/domain/shopping/models/enums/checkout-types.enum.ts +0 -4
- package/src/domain/shopping/models/enums/index.ts +0 -2
- package/src/domain/shopping/models/enums/order-status.enum.ts +0 -10
- package/src/domain/shopping/models/index.ts +0 -11
- package/src/domain/shopping/models/line-item.ts +0 -9
- package/src/domain/shopping/models/order.ts +0 -14
- package/src/domain/shopping/models/payment.ts +0 -117
- package/src/domain/shopping/models/shipping-method.ts +0 -22
- package/src/domain/shopping/models/subscription/checkout.ts +0 -38
- package/src/domain/shopping/models/subscription/index.ts +0 -2
- package/src/domain/shopping/models/subscription/plan.ts +0 -16
- package/src/domain/shopping/models/types/index.ts +0 -7
- package/src/domain/shopping/models/types/payment-address.type.ts +0 -12
- package/src/domain/shopping/models/types/payment-billing.type.ts +0 -8
- package/src/domain/shopping/models/types/payment-card.type.ts +0 -14
- package/src/domain/shopping/models/types/payment-customer.type.ts +0 -19
- package/src/domain/shopping/models/types/payment-document.type.ts +0 -6
- package/src/domain/shopping/models/types/payment-item.type.ts +0 -11
- package/src/domain/shopping/models/types/payment-shipping.type.ts +0 -11
- package/src/domain/shopping/repositories/index.ts +0 -7
- package/src/domain/shopping/repositories/subscription/index.ts +0 -2
- package/src/domain/users/errors/index.ts +0 -3
- package/src/domain/users/errors/unauthorized.error.ts +0 -5
- package/src/domain/users/errors/user-already-registered.error.ts +0 -5
- package/src/domain/users/errors/weak-password.error.ts +0 -5
- package/src/domain/users/index.ts +0 -5
- package/src/domain/users/models/beauty-profile.ts +0 -24
- package/src/domain/users/models/enums/accessory-importances.enum.ts +0 -5
- package/src/domain/users/models/enums/area.enum.ts +0 -11
- package/src/domain/users/models/enums/beard-problems.enum.ts +0 -9
- package/src/domain/users/models/enums/beard-sizes.enum.ts +0 -7
- package/src/domain/users/models/enums/beauty-product-importances.enum.ts +0 -6
- package/src/domain/users/models/enums/body-problems.enum.ts +0 -11
- package/src/domain/users/models/enums/body-shapes.enum.ts +0 -7
- package/src/domain/users/models/enums/body-tattoos.enum.ts +0 -5
- package/src/domain/users/models/enums/face-skin-oilinesses.enum.ts +0 -7
- package/src/domain/users/models/enums/face-skin-problems.enum.ts +0 -10
- package/src/domain/users/models/enums/face-skin-tones.enum.ts +0 -8
- package/src/domain/users/models/enums/family-incomes.enum.ts +0 -8
- package/src/domain/users/models/enums/fragrance-importances.enum.ts +0 -5
- package/src/domain/users/models/enums/hair-colors.enum.ts +0 -10
- package/src/domain/users/models/enums/hair-problems.enum.ts +0 -10
- package/src/domain/users/models/enums/hair-strands.enum.ts +0 -8
- package/src/domain/users/models/enums/hair-types.enum.ts +0 -7
- package/src/domain/users/models/enums/index.ts +0 -20
- package/src/domain/users/models/enums/office-position.enum.ts +0 -6
- package/src/domain/users/models/enums/product-spents.enum.ts +0 -8
- package/src/domain/users/models/enums/user-type.enum.ts +0 -8
- package/src/domain/users/models/index.ts +0 -7
- package/src/domain/users/models/lead.ts +0 -13
- package/src/domain/users/models/subscription/edition.ts +0 -22
- package/src/domain/users/models/subscription/enums/billing-status.enum.ts +0 -3
- package/src/domain/users/models/subscription/enums/edition-status.enum.ts +0 -4
- package/src/domain/users/models/subscription/enums/index.ts +0 -4
- package/src/domain/users/models/subscription/enums/payment-type.enum.ts +0 -5
- package/src/domain/users/models/subscription/enums/status.enum.ts +0 -4
- package/src/domain/users/models/subscription/index.ts +0 -4
- package/src/domain/users/models/subscription/payment.ts +0 -26
- package/src/domain/users/models/subscription/subscription.ts +0 -45
- package/src/domain/users/models/user-address.ts +0 -11
- package/src/domain/users/models/user-payment-method.ts +0 -18
- package/src/domain/users/models/user.ts +0 -50
- package/src/domain/users/repositories/index.ts +0 -8
- package/src/domain/users/repositories/lead.repository.ts +0 -4
- package/src/domain/users/repositories/user.repository.ts +0 -7
- package/src/domain/users/services/authentication.service.ts +0 -14
- package/src/domain/users/services/index.ts +0 -3
- package/src/domain/users/services/register.service.ts +0 -7
- package/src/domain/users/services/types/basic-user-data.type.ts +0 -7
- package/src/domain/users/services/types/index.ts +0 -1
- package/src/domain/users/use-cases/authentication.ts +0 -53
- package/src/domain/users/use-cases/index.ts +0 -4
- package/src/domain/users/use-cases/recovery-password.ts +0 -9
- package/src/domain/users/use-cases/register.ts +0 -45
- package/src/domain/users/use-cases/signout.ts +0 -9
- package/src/errors/duplicated-results.error.ts +0 -5
- package/src/errors/index.ts +0 -4
- package/src/errors/invalid-argument.error.ts +0 -5
- package/src/errors/not-found.error.ts +0 -5
- package/src/errors/required-argument.error.ts +0 -9
- package/src/index.ts +0 -6
- package/src/infra/elasticsearch/adapters/axios.adapter.ts +0 -27
- package/src/infra/elasticsearch/adapters/index.ts +0 -2
- package/src/infra/elasticsearch/index.ts +0 -3
- package/src/infra/elasticsearch/indexes/index.ts +0 -1
- package/src/infra/elasticsearch/indexes/products-index.ts +0 -61
- package/src/infra/elasticsearch/types/elastic-search-result.ts +0 -7
- package/src/infra/elasticsearch/types/index.ts +0 -1
- package/src/infra/firebase/auth/authentication-firebase-auth.service.ts +0 -52
- package/src/infra/firebase/auth/index.ts +0 -2
- package/src/infra/firebase/auth/register-firebase-auth.service.ts +0 -26
- package/src/infra/firebase/auth/types/firebase-user-with-id.type.ts +0 -1
- package/src/infra/firebase/auth/types/index.ts +0 -1
- package/src/infra/firebase/firestore/index.ts +0 -3
- package/src/infra/firebase/firestore/mixins/index.ts +0 -9
- package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.ts +0 -36
- package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.ts +0 -19
- package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.ts +0 -21
- package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.ts +0 -142
- package/src/infra/firebase/firestore/mixins/with-firestore.mixin.ts +0 -42
- package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.ts +0 -27
- package/src/infra/firebase/firestore/mixins/with-helpers.mixin.ts +0 -26
- package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.ts +0 -30
- package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.ts +0 -69
- package/src/infra/firebase/firestore/models/index.ts +0 -1
- package/src/infra/firebase/firestore/models/user-search.ts +0 -13
- package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.ts +0 -80
- package/src/infra/firebase/firestore/repositories/catalog/index.ts +0 -4
- package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.ts +0 -26
- package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/index.ts +0 -4
- package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.ts +0 -72
- package/src/infra/firebase/firestore/repositories/shop-settings/index.ts +0 -3
- package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.ts +0 -16
- package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.ts +0 -41
- package/src/infra/firebase/firestore/repositories/shopping/index.ts +0 -8
- package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.ts +0 -12
- package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/users/index.ts +0 -9
- package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.ts +0 -86
- package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.ts +0 -19
- package/src/infra/firebase/firestore/repositories/users/user-search-firestore.repository.ts +0 -17
- package/src/infra/firebase/firestore/types/firestore-sub.repository.type.ts +0 -11
- package/src/infra/firebase/firestore/types/firestore.helpers.type.ts +0 -13
- package/src/infra/firebase/firestore/types/firestore.repository.type.ts +0 -10
- package/src/infra/firebase/firestore/types/index.ts +0 -3
- package/src/infra/firebase/index.ts +0 -2
- package/src/infra/index.ts +0 -2
- package/src/utils/index.ts +0 -8
- package/src/utils/mixins/base.mixin.ts +0 -5
- package/src/utils/mixins/index.ts +0 -2
- package/src/utils/mixins/mixin-ctor.type.ts +0 -1
- package/src/utils/types/index.ts +0 -1
- package/src/utils/types/prop.type.ts +0 -1
- package/tsconfig.json +0 -14
- package/tsconfig.lib.json +0 -12
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -3
package/src/errors/index.ts
DELETED
package/src/index.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import axios from 'axios'
|
|
2
|
-
|
|
3
|
-
import { BaseModel } from '../../../domain'
|
|
4
|
-
import { ElasticSearchResult } from '../types/elastic-search-result'
|
|
5
|
-
|
|
6
|
-
export type AxiosElasticSearchConfig = {
|
|
7
|
-
url: string
|
|
8
|
-
credential: string
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class AxiosAdapter<T extends BaseModel<T>> {
|
|
12
|
-
constructor(private readonly config: AxiosElasticSearchConfig) {}
|
|
13
|
-
|
|
14
|
-
async query(index: string, query: any): Promise<ElasticSearchResult<Partial<T>>> {
|
|
15
|
-
const { data } = await axios({
|
|
16
|
-
url: `${this.config.url}/${index}`,
|
|
17
|
-
method: 'POST',
|
|
18
|
-
headers: { Authorization: `Basic ${this.config.credential}` },
|
|
19
|
-
data: query,
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
total: data.hits.total.value,
|
|
24
|
-
hits: data.hits.hits,
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './products-index'
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { AxiosAdapter } from '../adapters'
|
|
2
|
-
import { Product, Shops } from '../../../domain'
|
|
3
|
-
|
|
4
|
-
export class ProductsIndex {
|
|
5
|
-
constructor(private readonly adapter: AxiosAdapter<Product>) {}
|
|
6
|
-
|
|
7
|
-
async findById(ids: string[], options?: { hasStock: boolean; size: number; shop: Shops }): Promise<Product[]> {
|
|
8
|
-
const publishedField = options.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published'
|
|
9
|
-
const fields = [
|
|
10
|
-
'brand',
|
|
11
|
-
'id',
|
|
12
|
-
'images',
|
|
13
|
-
'miniatures',
|
|
14
|
-
'name',
|
|
15
|
-
'price',
|
|
16
|
-
'sku',
|
|
17
|
-
'stock',
|
|
18
|
-
'slug',
|
|
19
|
-
'reviews',
|
|
20
|
-
'pricePaid',
|
|
21
|
-
'isGift',
|
|
22
|
-
'stock',
|
|
23
|
-
'weight',
|
|
24
|
-
'tags',
|
|
25
|
-
'hasVariants',
|
|
26
|
-
]
|
|
27
|
-
const { hits } = await this.adapter.query('products/_search', {
|
|
28
|
-
_source: fields,
|
|
29
|
-
query: {
|
|
30
|
-
bool: {
|
|
31
|
-
filter: [
|
|
32
|
-
{
|
|
33
|
-
terms: {
|
|
34
|
-
_id: ids,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
term: {
|
|
39
|
-
[publishedField]: true,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
...(options.hasStock
|
|
43
|
-
? [
|
|
44
|
-
{
|
|
45
|
-
range: {
|
|
46
|
-
'stock.quantity': {
|
|
47
|
-
gt: 0,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
]
|
|
52
|
-
: []),
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
...(options.size ? { size: options.size } : {}),
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
return hits.map((hit) => Product.toInstance(hit._source))
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './elastic-search-result'
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import firebase from 'firebase/app'
|
|
2
|
-
|
|
3
|
-
import { AuthenticationService, BasicUserData, LoginAndPasswordParams } from '../../../domain'
|
|
4
|
-
|
|
5
|
-
import { FirebaseUserWithId } from './types/firebase-user-with-id.type'
|
|
6
|
-
|
|
7
|
-
export class AuthenticationFirebaseAuthService implements AuthenticationService {
|
|
8
|
-
constructor(private readonly firebaseAuth: firebase.auth.Auth) {}
|
|
9
|
-
|
|
10
|
-
async signInWithEmailAndPassword(data: LoginAndPasswordParams): Promise<BasicUserData> {
|
|
11
|
-
const credentials = await this.firebaseAuth.signInWithEmailAndPassword(data.email, data.password)
|
|
12
|
-
const user = credentials.user
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
id: user.uid,
|
|
16
|
-
displayName: user.displayName,
|
|
17
|
-
email: user.email,
|
|
18
|
-
phone: user.phoneNumber,
|
|
19
|
-
isAnonymous: false,
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
async signInWithGoogle(): Promise<BasicUserData> {
|
|
24
|
-
const credentials = await this.firebaseAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider())
|
|
25
|
-
const user = credentials.user
|
|
26
|
-
|
|
27
|
-
return {
|
|
28
|
-
id: user.uid,
|
|
29
|
-
displayName: user.displayName,
|
|
30
|
-
email: user.email,
|
|
31
|
-
phone: user.phoneNumber,
|
|
32
|
-
isAnonymous: false,
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async signOut(): Promise<void> {
|
|
37
|
-
this.firebaseAuth.signOut()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
async signInAnonymously(): Promise<FirebaseUserWithId> {
|
|
41
|
-
const auth = await this.firebaseAuth.signInAnonymously()
|
|
42
|
-
const user = auth.user as FirebaseUserWithId
|
|
43
|
-
|
|
44
|
-
user.id = auth.user.uid
|
|
45
|
-
|
|
46
|
-
return user
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async sendPasswordResetEmail(email: string): Promise<void> {
|
|
50
|
-
return this.firebaseAuth.sendPasswordResetEmail(email)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import firebase from 'firebase/app'
|
|
2
|
-
|
|
3
|
-
import { RegisterParams, RegisterService, UserAlreadyRegisteredError, WeakPasswordError } from '../../../domain'
|
|
4
|
-
|
|
5
|
-
import { FirebaseUserWithId } from './types/firebase-user-with-id.type'
|
|
6
|
-
|
|
7
|
-
export class RegisterFirebaseAuthService implements RegisterService {
|
|
8
|
-
constructor(private readonly firebaseAuth: firebase.auth.Auth) {}
|
|
9
|
-
|
|
10
|
-
async register(params: RegisterParams): Promise<FirebaseUserWithId> {
|
|
11
|
-
try {
|
|
12
|
-
const auth = await this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password)
|
|
13
|
-
const user = auth.user as FirebaseUserWithId
|
|
14
|
-
|
|
15
|
-
user.sendEmailVerification()
|
|
16
|
-
user.id = auth.user.uid
|
|
17
|
-
|
|
18
|
-
return user
|
|
19
|
-
} catch (error) {
|
|
20
|
-
if (error.code === 'auth/email-already-in-use') throw new UserAlreadyRegisteredError('Email already registered')
|
|
21
|
-
if (error.code === 'auth/weak-password') throw new WeakPasswordError()
|
|
22
|
-
|
|
23
|
-
throw error
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type FirebaseUserWithId = firebase.User & { id: string }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './firebase-user-with-id.type'
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './with-firestore.mixin'
|
|
2
|
-
export * from './with-helpers.mixin'
|
|
3
|
-
export * from './with-get-firestore.mixin'
|
|
4
|
-
export * from './with-find-firestore.mixin'
|
|
5
|
-
export * from './with-create-firestore.mixin'
|
|
6
|
-
export * from './with-update-firestore.mixin'
|
|
7
|
-
export * from './with-delete-firestore.mixin'
|
|
8
|
-
export * from './with-sub-collection.mixin'
|
|
9
|
-
export * from './with-crud-firestore.mixin'
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DocumentReference } from '@firebase/firestore-types'
|
|
2
|
-
|
|
3
|
-
import { CreateRepository, BaseModelWithIdentifier } from '../../../../domain'
|
|
4
|
-
import { FirestoreHelpers, FirestoreRepository } from '../types'
|
|
5
|
-
import { isEmpty, MixinCtor } from '../../../../utils'
|
|
6
|
-
|
|
7
|
-
export const withCreateFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(
|
|
8
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,
|
|
9
|
-
) => {
|
|
10
|
-
return class CreateFirestore extends MixinBase implements CreateRepository<TBase> {
|
|
11
|
-
async create(data: Partial<TBase>): Promise<TBase> {
|
|
12
|
-
const docRef = await this.save(this.model.toInstance(data))
|
|
13
|
-
const doc = await docRef.get()
|
|
14
|
-
|
|
15
|
-
return doc.data()
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async save(data: TBase): Promise<DocumentReference<TBase>> {
|
|
19
|
-
const id = data[data.identifierFields().shift()]?.toString()
|
|
20
|
-
const collectionPath = this.buildCollectionPathForAdd(data)
|
|
21
|
-
|
|
22
|
-
if (isEmpty(id)) return this.collection(collectionPath).add(data)
|
|
23
|
-
|
|
24
|
-
const docRef = this.collection(collectionPath).doc(id)
|
|
25
|
-
await docRef.set(data)
|
|
26
|
-
|
|
27
|
-
return docRef
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
buildCollectionPathForAdd(identifiers: Partial<TBase>): string {
|
|
31
|
-
return this.isSubCollection(this)
|
|
32
|
-
? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
|
|
33
|
-
: this.collectionName
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BaseModelWithIdentifier, CrudRepository } from '../../../../domain'
|
|
2
|
-
import { FirestoreHelpers, FirestoreRepository } from '../types'
|
|
3
|
-
import { MixinCtor } from '../../../../utils'
|
|
4
|
-
|
|
5
|
-
import { withCreateFirestore } from './with-create-firestore.mixin'
|
|
6
|
-
import { withDeleteFirestore } from './with-delete-firestore.mixin'
|
|
7
|
-
import { withFindFirestore } from './with-find-firestore.mixin'
|
|
8
|
-
import { withGetFirestore } from './with-get-firestore.mixin'
|
|
9
|
-
import { withUpdateFirestore } from './with-update-firestore.mixin'
|
|
10
|
-
|
|
11
|
-
export const withCrudFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(
|
|
12
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,
|
|
13
|
-
) => {
|
|
14
|
-
return class CrudFirestore
|
|
15
|
-
extends withUpdateFirestore(
|
|
16
|
-
withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase)))),
|
|
17
|
-
)
|
|
18
|
-
implements CrudRepository<TBase> {}
|
|
19
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { BaseModelWithIdentifier, NonFunctionProperties, DeleteRepository } from '../../../../domain'
|
|
2
|
-
import { FirestoreHelpers, FirestoreRepository } from '../types'
|
|
3
|
-
import { MixinCtor } from '../../../../utils'
|
|
4
|
-
|
|
5
|
-
export const withDeleteFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(
|
|
6
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,
|
|
7
|
-
) => {
|
|
8
|
-
return class DeleteFirestore extends MixinBase implements DeleteRepository<TBase> {
|
|
9
|
-
async delete(identifiers: NonFunctionProperties<TBase>): Promise<void> {
|
|
10
|
-
await this.collection(this.buildCollectionPathForRemove(identifiers))
|
|
11
|
-
.doc(Object.values(identifiers).shift().toString())
|
|
12
|
-
.delete()
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
buildCollectionPathForRemove(identifiers: NonFunctionProperties<TBase>): string {
|
|
16
|
-
return this.isSubCollection(this)
|
|
17
|
-
? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
|
|
18
|
-
: this.collectionName
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { CollectionReference, Query } from '@firebase/firestore-types'
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
BaseModelWithIdentifier,
|
|
5
|
-
FindRepository,
|
|
6
|
-
NonFunctionPropertyNames,
|
|
7
|
-
RepositoryFindField,
|
|
8
|
-
RepositoryFindFielters,
|
|
9
|
-
RepositoryFindFieltersOptions,
|
|
10
|
-
RepositoryFindResult,
|
|
11
|
-
RepositoryLimitOptions,
|
|
12
|
-
RepositoryOrderByList,
|
|
13
|
-
Where,
|
|
14
|
-
} from '../../../../domain'
|
|
15
|
-
import { FirestoreHelpers, FirestoreRepository } from '../types'
|
|
16
|
-
import { isDate, isNil, isNumber, isObject, isString, MixinCtor, set } from '../../../../utils'
|
|
17
|
-
|
|
18
|
-
export const withFindFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(
|
|
19
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,
|
|
20
|
-
) => {
|
|
21
|
-
const checkIfIsFilterOption = (filter: any): filter is RepositoryFindFieltersOptions<TBase, any> =>
|
|
22
|
-
!isNil(filter?.operator)
|
|
23
|
-
const getValueFromFilter = (filter: RepositoryFindField<TBase, any>): any => {
|
|
24
|
-
return checkIfIsFilterOption(filter) ? filter.value : filter
|
|
25
|
-
}
|
|
26
|
-
const getFinalValueFrom = (value: any) =>
|
|
27
|
-
isNumber(value) || isString(value) || isDate(value) || Array.isArray(value)
|
|
28
|
-
? value
|
|
29
|
-
: Object.values(getFinalValueFrom)
|
|
30
|
-
|
|
31
|
-
return class FindFirestore extends MixinBase implements FindRepository<TBase> {
|
|
32
|
-
async find(
|
|
33
|
-
filters?: RepositoryFindFielters<TBase>[],
|
|
34
|
-
limits?: RepositoryLimitOptions<TBase>,
|
|
35
|
-
orderBy?: RepositoryOrderByList<TBase>,
|
|
36
|
-
): Promise<RepositoryFindResult<TBase>> {
|
|
37
|
-
let query: CollectionReference<TBase> | Query<TBase> = this.collection(this.buildCollectionPathForFind(filters))
|
|
38
|
-
|
|
39
|
-
filters?.forEach((filterer) => (query = this.makeFirestoreWhere(query, filterer)))
|
|
40
|
-
|
|
41
|
-
orderBy?.forEach((orderer) =>
|
|
42
|
-
Object.keys(orderer).forEach((fieldName) => (query = query.orderBy(fieldName, orderer[fieldName]))),
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
query = await this.defineLimits(query, filters, limits)
|
|
46
|
-
|
|
47
|
-
const docs = await query.get()
|
|
48
|
-
const data = docs.docs.map((doc) => doc.data())
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
data,
|
|
52
|
-
count: this.calculateCount(data, limits),
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
buildCollectionPathForFind(filters: RepositoryFindFielters<TBase>[]): string {
|
|
57
|
-
if (!this.isSubCollection<TBase>(this)) return this.collectionName
|
|
58
|
-
|
|
59
|
-
const parentIdField = this.parentIdField
|
|
60
|
-
const parentId = getValueFromFilter(
|
|
61
|
-
filters.find((groupFilter) => Boolean(getValueFromFilter(groupFilter[parentIdField])))?.[parentIdField],
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
makeFirestoreWhere = (
|
|
68
|
-
queryReference: CollectionReference<TBase> | Query<TBase>,
|
|
69
|
-
filter: RepositoryFindFielters<TBase>,
|
|
70
|
-
): Query<TBase> =>
|
|
71
|
-
Object.keys(filter).reduce(
|
|
72
|
-
(query: Query<TBase>, fieldName: string) => this.buildWhereSentence(query, fieldName, filter[fieldName]),
|
|
73
|
-
queryReference,
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
buildWhereSentence = (
|
|
77
|
-
queryReference: CollectionReference<TBase> | Query<TBase>,
|
|
78
|
-
fieldName: NonFunctionPropertyNames<TBase> | string,
|
|
79
|
-
options: RepositoryFindFieltersOptions<TBase, NonFunctionPropertyNames<TBase>>,
|
|
80
|
-
): Query<TBase> => {
|
|
81
|
-
if (this.isSubCollection<TBase>(this) && fieldName === this.parentIdField) return queryReference
|
|
82
|
-
|
|
83
|
-
const value = options?.value || options
|
|
84
|
-
const object = {}
|
|
85
|
-
|
|
86
|
-
set(object, fieldName, value)
|
|
87
|
-
|
|
88
|
-
const plainInstance = new this.model(object).toPlain()
|
|
89
|
-
const firestoreFieldName =
|
|
90
|
-
fieldName.toString().indexOf('.') > -1
|
|
91
|
-
? fieldName.toString()
|
|
92
|
-
: Object.keys(plainInstance).find((key) => plainInstance[key])
|
|
93
|
-
|
|
94
|
-
if (options?.operator === Where.LIKE) {
|
|
95
|
-
if (Array.isArray(options?.value))
|
|
96
|
-
return queryReference.where(firestoreFieldName, 'array-contains-any', options.value)
|
|
97
|
-
|
|
98
|
-
queryReference = queryReference.where(firestoreFieldName, '>=', options.value)
|
|
99
|
-
queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`)
|
|
100
|
-
|
|
101
|
-
return queryReference
|
|
102
|
-
}
|
|
103
|
-
if (options?.operator === Where.IN && Array.isArray(options?.value))
|
|
104
|
-
return queryReference.where(firestoreFieldName, 'array-contains', options.value)
|
|
105
|
-
if (isObject(options) && isNil(options?.operator) && isNil(options?.value)) {
|
|
106
|
-
return Object.keys(options).reduce(
|
|
107
|
-
(queryReferenceWithWhere, key) =>
|
|
108
|
-
this.buildWhereSentence(queryReferenceWithWhere, `${fieldName}.${key}`, options[key]),
|
|
109
|
-
queryReference,
|
|
110
|
-
)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return queryReference.where(firestoreFieldName, options?.operator || '==', options?.value || options)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
async defineLimits(
|
|
117
|
-
query: CollectionReference<TBase> | Query<TBase>,
|
|
118
|
-
filters: RepositoryFindFielters<TBase>[],
|
|
119
|
-
limits: RepositoryLimitOptions<TBase>,
|
|
120
|
-
): Promise<Query<TBase>> {
|
|
121
|
-
if (limits?.offset) {
|
|
122
|
-
if (limits.offset instanceof this.model)
|
|
123
|
-
query = query.startAfter(
|
|
124
|
-
await this.collection(this.buildCollectionPathForFind(filters))
|
|
125
|
-
.doc(limits.offset[limits.offset.identifierFields().shift() as string])
|
|
126
|
-
.get(),
|
|
127
|
-
)
|
|
128
|
-
else if (isNumber(limits.offset) || isString(limits.offset)) query = query.startAt(limits.offset)
|
|
129
|
-
}
|
|
130
|
-
if (limits?.limit) query = query.limit(limits.limit)
|
|
131
|
-
|
|
132
|
-
return query
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
calculateCount(data: TBase[], limits: RepositoryLimitOptions<TBase>): number {
|
|
136
|
-
if (data.length <= 0) return 0
|
|
137
|
-
if (data.length < limits?.limit) return data.length
|
|
138
|
-
|
|
139
|
-
return Infinity
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'
|
|
2
|
-
import firebase from 'firebase'
|
|
3
|
-
|
|
4
|
-
import { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain'
|
|
5
|
-
import { FirestoreRepository } from '../types'
|
|
6
|
-
import { MixinCtor } from '../../../../utils'
|
|
7
|
-
|
|
8
|
-
export const withFirestore = <TBase extends BaseModelWithIdentifier<TBase>>(MixinBase: MixinCtor) => {
|
|
9
|
-
return class extends MixinBase implements FirestoreRepository<TBase> {
|
|
10
|
-
readonly firestore?: FirebaseFirestore
|
|
11
|
-
collectionName: string
|
|
12
|
-
model: BaseModelBuilder<TBase>
|
|
13
|
-
|
|
14
|
-
constructor(...args: Array<any>) {
|
|
15
|
-
super(args)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
collection(path?: string): CollectionReference<TBase> {
|
|
19
|
-
return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance())
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
buildModelInstance(): {
|
|
23
|
-
toFirestore: (data: TBase) => DocumentData
|
|
24
|
-
fromFirestore: (snap: QueryDocumentSnapshot<TBase>) => TBase
|
|
25
|
-
} {
|
|
26
|
-
return {
|
|
27
|
-
toFirestore: (data: TBase): DocumentData => (data?.toPlain ? data.toPlain() : data),
|
|
28
|
-
fromFirestore: (snap: QueryDocumentSnapshot<TBase>): TBase => {
|
|
29
|
-
const data = snap.data()
|
|
30
|
-
|
|
31
|
-
Object.keys(data).forEach((key) => {
|
|
32
|
-
if (data[key] instanceof firebase.firestore.Timestamp) {
|
|
33
|
-
data[key] = data[key].toDate()
|
|
34
|
-
}
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
return this.model.toInstance({ ...data, id: snap.id })
|
|
38
|
-
},
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { BaseModelWithIdentifier, GetRepository, NonFunctionProperties } from '../../../../domain'
|
|
2
|
-
import { FirestoreHelpers, FirestoreRepository } from '../types'
|
|
3
|
-
import { isNil, MixinCtor } from '../../../../utils'
|
|
4
|
-
import { NotFoundError } from '../../../../errors'
|
|
5
|
-
|
|
6
|
-
export const withGetFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(
|
|
7
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,
|
|
8
|
-
) => {
|
|
9
|
-
return class GetFirestore extends MixinBase implements GetRepository<TBase> {
|
|
10
|
-
async get(identifiers: NonFunctionProperties<TBase>): Promise<TBase> {
|
|
11
|
-
const doc = await this.collection(this.buildCollectionPathForGet(identifiers))
|
|
12
|
-
.doc(Object.values(identifiers).shift().toString())
|
|
13
|
-
.get()
|
|
14
|
-
const data = doc.data()
|
|
15
|
-
|
|
16
|
-
if (isNil(data)) throw new NotFoundError(`Document ${JSON.stringify(identifiers)} not found`)
|
|
17
|
-
|
|
18
|
-
return data
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
buildCollectionPathForGet(identifiers: NonFunctionProperties<TBase>): string {
|
|
22
|
-
return this.isSubCollection(this)
|
|
23
|
-
? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
|
|
24
|
-
: this.collectionName
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types'
|
|
2
|
-
|
|
3
|
-
import { BaseModelWithIdentifier } from '../../../../domain'
|
|
4
|
-
|
|
5
|
-
import { FirestoreHelpers, FirestoreRepository, FirestoreSubRepository } from '../types'
|
|
6
|
-
import { isNil, MixinCtor } from '../../../../utils'
|
|
7
|
-
|
|
8
|
-
export const withHelpers = <Model extends BaseModelWithIdentifier<Model>, TMixinBase extends MixinCtor>(
|
|
9
|
-
MixinBase: MixinCtor & TMixinBase,
|
|
10
|
-
) => {
|
|
11
|
-
return class extends MixinBase implements FirestoreHelpers {
|
|
12
|
-
toArray<T extends BaseModelWithIdentifier<T>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[] {
|
|
13
|
-
if (Array.isArray(snapShot)) {
|
|
14
|
-
return snapShot.map((doc: QueryDocumentSnapshot<T>) => doc.data())
|
|
15
|
-
} else {
|
|
16
|
-
return snapShot.docs.map((doc: QueryDocumentSnapshot<T>) => doc.data())
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
isSubCollection<T extends BaseModelWithIdentifier<T>>(
|
|
21
|
-
repository: FirestoreRepository<T>,
|
|
22
|
-
): repository is FirestoreSubRepository<T> {
|
|
23
|
-
return !isNil(Object.keys(this).find((key) => key === 'parentRepository'))
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'
|
|
2
|
-
|
|
3
|
-
import { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain'
|
|
4
|
-
import { FirestoreRepository, FirestoreSubRepository } from '../types'
|
|
5
|
-
import { MixinCtor } from '../../../../utils'
|
|
6
|
-
|
|
7
|
-
export const withSubCollection = <
|
|
8
|
-
TBase extends BaseModelWithIdentifier<TBase>,
|
|
9
|
-
TBaseParent extends BaseModelWithIdentifier<TBaseParent>,
|
|
10
|
-
TMixinBase extends MixinCtor,
|
|
11
|
-
>(
|
|
12
|
-
MixinBase: MixinCtor<FirestoreRepository<TBase>> & TMixinBase,
|
|
13
|
-
ParentModel: new () => TBaseParent,
|
|
14
|
-
) => {
|
|
15
|
-
return class SubCollectionMix
|
|
16
|
-
extends MixinBase
|
|
17
|
-
implements FirestoreSubRepository<TBase, InstanceType<typeof ParentModel>>
|
|
18
|
-
{
|
|
19
|
-
readonly parentRepository: FirestoreRepository<InstanceType<typeof ParentModel>>
|
|
20
|
-
parentIdField: NonFunctionPropertyNames<TBase>
|
|
21
|
-
|
|
22
|
-
constructor(...args: Array<any>) {
|
|
23
|
-
super(args)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
collection(path?: string): CollectionReference<TBase> {
|
|
27
|
-
return super.collection(path)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|