@infrab4a/connect 1.0.0-beta.0 → 1.0.0-beta.10
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 +1574 -236
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category.d.ts +23 -0
- package/domain/catalog/models/enums/shops.enum.d.ts +5 -0
- package/domain/catalog/models/product.d.ts +36 -0
- package/domain/catalog/models/types/product-review.type.d.ts +15 -0
- package/domain/catalog/models/variant.d.ts +18 -0
- package/domain/catalog/repositories/category.repository.d.ts +15 -0
- package/domain/catalog/repositories/product.repository.d.ts +5 -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/model/base.model.d.ts +10 -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/where.enum.d.ts +13 -0
- package/domain/generic/repository/find.repository.d.ts +10 -0
- package/domain/generic/repository/get.repository.d.ts +5 -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-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/models/address.d.ts +22 -0
- package/domain/shop-settings/models/home.d.ts +17 -0
- package/domain/shop-settings/models/shop-menu.d.ts +7 -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/repositories/home.repository.d.ts +4 -0
- package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -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/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/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/plan.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/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/plan.repository.d.ts +4 -0
- package/domain/users/models/beauty-profile.d.ts +11 -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/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/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/use-cases/index.d.ts +4 -0
- package/domain/users/use-cases/recovery-password.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 +6 -0
- package/esm2015/domain/catalog/models/product.js +14 -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 +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 +86 -0
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +23 -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 +70 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +25 -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 +4 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +32 -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 +74 -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 +27 -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 +86 -0
- package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +34 -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 +53 -0
- package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
- package/esm2015/infra/hasura-graphql/models/index.js +4 -0
- package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +4 -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 +107 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +108 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +61 -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 +2 -2
- 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 +1036 -141
- 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/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/product-firestore.repository.d.ts +9 -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/shop-settings/home-firestore.repository.d.ts +16 -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/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/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/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 +3 -0
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +17 -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 +30 -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 +3 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +7 -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 +11 -0
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +10 -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 +42 -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 +1 -1
- package/package.json +4 -1
- package/utils/index.d.ts +7 -0
- package/utils/is-uuid.d.ts +1 -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/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 -38
- package/esm2015/lib/domain/shopping/models/coupons/club-coupon.js +0 -23
- package/esm2015/lib/domain/shopping/models/coupons/coupon.js +0 -23
- 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/models/category.d.ts +0 -22
- package/lib/domain/catalog/models/enums/shops.enum.d.ts +0 -4
- package/lib/domain/catalog/models/product.d.ts +0 -33
- package/lib/domain/catalog/models/types/product-review.type.d.ts +0 -14
- 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/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/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/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/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/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-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/models/address.d.ts +0 -21
- package/lib/domain/shop-settings/models/home.d.ts +0 -17
- package/lib/domain/shop-settings/models/shop-menu.d.ts +0 -7
- package/lib/domain/shop-settings/models/types/index.d.ts +0 -4
- package/lib/domain/shop-settings/repositories/home.repository.d.ts +0 -4
- package/lib/domain/shop-settings/repositories/shop-menu.repository.d.ts +0 -4
- 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 -9
- package/lib/domain/shopping/models/coupons/coupon.d.ts +0 -27
- package/lib/domain/shopping/models/coupons/enums/discount-type.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/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/plan.d.ts +0 -12
- 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/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/plan.repository.d.ts +0 -4
- package/lib/domain/users/models/beauty-profile.d.ts +0 -12
- 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/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/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/use-cases/index.d.ts +0 -3
- package/lib/index.d.ts +0 -4
- package/lib/infra/firebase/auth/authentication-firebase-auth.service.d.ts +0 -11
- 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/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/shop-settings/home-firestore.repository.d.ts +0 -49
- 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/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/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/index.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -4
- 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/public-api.d.ts +0 -2
- /package/{lib/domain → domain}/catalog/index.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/enums/index.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/index.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/category-condition.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/category-filter.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/index.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/shops-description.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/shops-price.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/stock.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/models/types/variant-grade.type.d.ts +0 -0
- /package/{lib/domain → domain}/catalog/repositories/index.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/index.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/model/identifier-fields.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/enums/index.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/enums/update-option-actions.enum.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/index.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/types/repository-find-result.type.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/types/repository-limit-options.type.d.ts +0 -0
- /package/{lib/domain/general → domain/generic}/repository/types/repository-order-by-list.type.d.ts +0 -0
- /package/{lib/domain → domain}/location/index.d.ts +0 -0
- /package/{lib/domain → domain}/location/models/index.d.ts +0 -0
- /package/{lib/domain → domain}/location/models/types/index.d.ts +0 -0
- /package/{lib/domain → domain}/location/models/types/location-bound.type.d.ts +0 -0
- /package/{lib/domain → domain}/location/models/types/location-geometry.type.d.ts +0 -0
- /package/{lib/domain → domain}/location/models/types/location-lat-lng.type.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/enums/filter-type.enum.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/enums/index.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/enums/questions-filters.enum.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/helpers/beauty-questions.helper.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/helpers/index.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/index.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/models/index.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/models/types/banner.type.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/models/types/benefit.type.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/models/types/menu-nav.type.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/models/types/sub-menu.type.d.ts +0 -0
- /package/{lib/domain → domain}/shop-settings/repositories/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/enums/checkout-types.enum.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/enums/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/enums/order-status.enum.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/line-item.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/order.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/subscription/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-address.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-billing.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-card.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-customer.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-document.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-item.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/models/types/payment-shipping.type.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/repositories/index.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/repositories/legacy-order.repository.d.ts +0 -0
- /package/{lib/domain → domain}/shopping/repositories/subscription/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/errors/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/errors/unauthorized.error.d.ts +0 -0
- /package/{lib/domain → domain}/users/errors/user-already-registered.error.d.ts +0 -0
- /package/{lib/domain → domain}/users/errors/weak-password.error.d.ts +0 -0
- /package/{lib/domain → domain}/users/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/accessory-importances.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/area.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/beard-problems.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/beard-sizes.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/beauty-product-importances.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/body-problems.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/body-shapes.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/body-tattoos.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/face-skin-problems.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/face-skin-tones.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/family-incomes.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/fragrance-importances.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/hair-colors.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/hair-problems.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/hair-strands.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/hair-types.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/office-position.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/product-spents.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/enums/user-type.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/enums/billing-status.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/enums/edition-status.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/enums/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/enums/payment-type.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/enums/status.enum.d.ts +0 -0
- /package/{lib/domain → domain}/users/models/subscription/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/repositories/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/services/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/services/register.service.d.ts +0 -0
- /package/{lib/domain → domain}/users/services/types/basic-user-data.type.d.ts +0 -0
- /package/{lib/domain → domain}/users/services/types/index.d.ts +0 -0
- /package/{lib/domain → domain}/users/use-cases/authentication.d.ts +0 -0
- /package/{lib/domain → domain}/users/use-cases/register.d.ts +0 -0
- /package/{lib/domain → domain}/users/use-cases/signout.d.ts +0 -0
- /package/{lib/errors → errors}/duplicated-results.error.d.ts +0 -0
- /package/{lib/errors → errors}/index.d.ts +0 -0
- /package/{lib/errors → errors}/invalid-argument.error.d.ts +0 -0
- /package/{lib/errors → errors}/not-found.error.d.ts +0 -0
- /package/{lib/errors → errors}/required-argument.error.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/auth/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/auth/register-firebase-auth.service.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/auth/types/firebase-user-with-id.type.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/mixins/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/catalog/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/shop-settings/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/shopping/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/repositories/users/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/firestore/types/index.d.ts +0 -0
- /package/{lib/infra → infra}/firebase/index.d.ts +0 -0
- /package/{lib/utils → utils}/mixins/base.mixin.d.ts +0 -0
- /package/{lib/utils → utils}/types/prop.type.d.ts +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { isNil } from '../../../utils';
|
|
3
|
+
import { NotFoundError } from '../../../errors';
|
|
4
|
+
import { AttributeOptionHelper } from './helpers';
|
|
5
|
+
export const withGetHasuraGraphQL = (MixinBase) => {
|
|
6
|
+
return class GetHasuraGraphQLMixin extends MixinBase {
|
|
7
|
+
constructor(...params) {
|
|
8
|
+
const options = params === null || params === void 0 ? void 0 : params[0];
|
|
9
|
+
super(...params);
|
|
10
|
+
this.getGraphQLOperation = (options === null || options === void 0 ? void 0 : options.getGraphQLOperation) || `${this.tableName}_by_pk`;
|
|
11
|
+
}
|
|
12
|
+
get(identifiers) {
|
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
const instance = this.model.toInstance(identifiers);
|
|
15
|
+
const result = yield this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
|
|
16
|
+
if (isNil(instance[identifier]))
|
|
17
|
+
return ids;
|
|
18
|
+
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
19
|
+
const value = columnOption.to(identifiers[identifier.toString()], instance);
|
|
20
|
+
return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
|
|
21
|
+
type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
|
|
22
|
+
value,
|
|
23
|
+
required: true,
|
|
24
|
+
} });
|
|
25
|
+
}, {}));
|
|
26
|
+
const data = result[this.getGraphQLOperation];
|
|
27
|
+
if (isNil(data))
|
|
28
|
+
throw new NotFoundError(`${instance.constructor.name} not found`);
|
|
29
|
+
return this.convertDataFromHasura(result[this.getGraphQLOperation]);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRWpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUssR0FBRyxDQUFDLFdBQXVDOztnQkFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO29CQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQUUsT0FBTyxHQUFHLENBQUE7b0JBRTNDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUNuRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFFM0UsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO2dCQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtnQkFFbEYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7WUFDckUsQ0FBQztTQUFBO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSwgR2V0UmVwb3NpdG9yeSwgR2V0UmVwb3NpdG9yeVBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBpc05pbCwgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBnZXRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0SGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBHZXRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHZXRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgZ2V0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5nZXRHcmFwaFFMT3BlcmF0aW9uIHx8IGAke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICB9XG5cbiAgICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoaWRlbnRpZmllcnMpXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFxuICAgICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbHVtbk9wdGlvbi50byhpZGVudGlmaWVyc1tpZGVudGlmaWVyLnRvU3RyaW5nKCldLCBpbnN0YW5jZSlcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZihjb2x1bW5PcHRpb24udHlwZSB8fCB2YWx1ZSksXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSksXG4gICAgICApXG4gICAgICBjb25zdCBkYXRhID0gcmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl1cblxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgJHtpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lfSBub3QgZm91bmRgKVxuXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl0pXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { query, mutation } from 'gql-query-builder';
|
|
3
|
+
import fetch from 'node-fetch';
|
|
4
|
+
import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
|
|
5
|
+
import { GraphQLFieldHelper } from './helpers';
|
|
6
|
+
export const withHasuraGraphQL = (MixinBase) => {
|
|
7
|
+
return class HasuraGraphQLMixin extends MixinBase {
|
|
8
|
+
constructor(...params) {
|
|
9
|
+
const options = params[0];
|
|
10
|
+
super(...params);
|
|
11
|
+
this.tableName = options.tableName;
|
|
12
|
+
this.endpoint = options.endpoint;
|
|
13
|
+
this.authOptions = options.authOptions;
|
|
14
|
+
this.model = options.model;
|
|
15
|
+
this.fields = options.fields || this.model.identifiersFields;
|
|
16
|
+
}
|
|
17
|
+
get headers() {
|
|
18
|
+
return Object.assign(Object.assign(Object.assign({ 'Content-Type': 'application/json' }, (isNil(this.authOptions.authToken) ? {} : { Authorization: this.authOptions.authToken })), (isNil(this.authOptions.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions.adminSecret })), (isNil(this.authOptions.authRole)
|
|
19
|
+
? {}
|
|
20
|
+
: { 'X-Hasura-Role': this.authOptions.authRole.role, 'X-Hasura-User-Id': this.authOptions.authRole.userId }));
|
|
21
|
+
}
|
|
22
|
+
mutation(operation, fields, variables) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const resultQuery = mutation({
|
|
25
|
+
operation,
|
|
26
|
+
variables,
|
|
27
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
28
|
+
});
|
|
29
|
+
return this.fetch(resultQuery);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
query(operation, fields, variables) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
|
|
35
|
+
? query(operation.map((option) => ({
|
|
36
|
+
operation: option.operation,
|
|
37
|
+
variables: option.variables,
|
|
38
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
|
|
39
|
+
})))
|
|
40
|
+
: query({
|
|
41
|
+
operation,
|
|
42
|
+
variables,
|
|
43
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
44
|
+
});
|
|
45
|
+
return this.fetch(resultQuery);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
fetch(params) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const headers = this.headers;
|
|
51
|
+
const response = yield fetch(`${this.endpoint}`, {
|
|
52
|
+
method: 'POST',
|
|
53
|
+
body: JSON.stringify(params),
|
|
54
|
+
headers,
|
|
55
|
+
});
|
|
56
|
+
const result = yield response.json();
|
|
57
|
+
if (!isNil(result.errors))
|
|
58
|
+
throw new Error(JSON.stringify(result.errors));
|
|
59
|
+
return result.data;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
getAttributeGraphQLTypeOf(value) {
|
|
63
|
+
if (isUUID(value))
|
|
64
|
+
return 'uuid';
|
|
65
|
+
if (isString(value))
|
|
66
|
+
return 'String';
|
|
67
|
+
if (isBoolean(value))
|
|
68
|
+
return 'Boolean';
|
|
69
|
+
if (value instanceof Date)
|
|
70
|
+
return 'timestamptz';
|
|
71
|
+
if (isInteger(value))
|
|
72
|
+
return 'Int';
|
|
73
|
+
if (isNumber(value))
|
|
74
|
+
return 'numeric';
|
|
75
|
+
throw new Error('Type not implemented yet');
|
|
76
|
+
}
|
|
77
|
+
checkIfIsDateTimeAndParse(value) {
|
|
78
|
+
if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value))
|
|
79
|
+
return value;
|
|
80
|
+
const date = parseISO(value);
|
|
81
|
+
if (isNaN(date.getTime()))
|
|
82
|
+
return value;
|
|
83
|
+
return date;
|
|
84
|
+
}
|
|
85
|
+
convertDataFromHasura(data) {
|
|
86
|
+
const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
|
|
87
|
+
return this.model.toInstance(plain);
|
|
88
|
+
}
|
|
89
|
+
convertDataToHasura(instance, update = false) {
|
|
90
|
+
return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQVU5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBR3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFvRSxDQUFBO1FBQ2xI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cXVlcnksIG11dGF0aW9uIH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIEhhc3VyYUdyYXBoUUxGaWVsZHMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQge1xuICBpc0Jvb2xlYW4sXG4gIGlzSW50ZWdlcixcbiAgaXNOYU4sXG4gIGlzTmlsLFxuICBpc051bWJlcixcbiAgaXNTdHJpbmcsXG4gIGlzVVVJRCxcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTWl4aW5DdG9yLFxuICBwYXJzZUlTTyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlTW9kZWxCdWlsZGVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUsIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IEdyYXBoUUxGaWVsZEhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxuICBlbmRwb2ludDogc3RyaW5nXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5bXSlcbiAgICB9XG5cbiAgICBhc3luYyBtdXRhdGlvbjxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcsXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgcmVzdWx0UXVlcnkgPSBtdXRhdGlvbih7XG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxuICAgIH1cblxuICAgIGFzeW5jIHF1ZXJ5PFJldHVybkZpZWxkcyA9IGFueT4oXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TUJhc2U+W10sXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgcmVzdWx0UXVlcnkgPSBHcmFwaFFMRmllbGRIZWxwZXIuQ2hlY2tJc0dyYXBoUUxQYXJhbXMob3BlcmF0aW9uKVxuICAgICAgICA/IHF1ZXJ5KFxuICAgICAgICAgICAgb3BlcmF0aW9uLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICBvcGVyYXRpb246IG9wdGlvbi5vcGVyYXRpb24sXG4gICAgICAgICAgICAgIHZhcmlhYmxlczogb3B0aW9uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKG9wdGlvbi5maWVsZHMpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIClcbiAgICAgICAgOiBxdWVyeSh7XG4gICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcbiAgICAgICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBmZXRjaDxSZXR1cm5GaWVsZHMgPSBhbnk+KHBhcmFtczogeyB2YXJpYWJsZXM6IGFueTsgcXVlcnk6IHN0cmluZyB9KTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnNcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7dGhpcy5lbmRwb2ludH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgIGlmICghaXNOaWwocmVzdWx0LmVycm9ycykpIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShyZXN1bHQuZXJyb3JzKSlcblxuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhXG4gICAgfVxuXG4gICAgZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZjxGaWVsZFR5cGU+KHZhbHVlOiBGaWVsZFR5cGUpOiBzdHJpbmcge1xuICAgICAgaWYgKGlzVVVJRCh2YWx1ZSBhcyBhbnkpKSByZXR1cm4gJ3V1aWQnXG4gICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSByZXR1cm4gJ1N0cmluZydcbiAgICAgIGlmIChpc0Jvb2xlYW4odmFsdWUpKSByZXR1cm4gJ0Jvb2xlYW4nXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gJ3RpbWVzdGFtcHR6J1xuICAgICAgaWYgKGlzSW50ZWdlcih2YWx1ZSkpIHJldHVybiAnSW50J1xuICAgICAgaWYgKGlzTnVtYmVyKHZhbHVlKSkgcmV0dXJuICdudW1lcmljJ1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R5cGUgbm90IGltcGxlbWVudGVkIHlldCcpXG4gICAgfVxuXG4gICAgY2hlY2tJZklzRGF0ZVRpbWVBbmRQYXJzZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IHN0cmluZyB7XG4gICAgICBpZiAoIS9eXFxkezR9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSkkLy50ZXN0KHZhbHVlKSkgcmV0dXJuIHZhbHVlXG5cbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZUlTTyh2YWx1ZSlcblxuICAgICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkgcmV0dXJuIHZhbHVlXG5cbiAgICAgIHJldHVybiBkYXRlXG4gICAgfVxuXG4gICAgY29udmVydERhdGFGcm9tSGFzdXJhKGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4pOiBNQmFzZSB7XG4gICAgICBjb25zdCBwbGFpbiA9IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oZGF0YSwgdGhpcy5maWVsZHMpXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW4pXG4gICAgfVxuXG4gICAgY29udmVydERhdGFUb0hhc3VyYShpbnN0YW5jZTogTUJhc2UsIHVwZGF0ZSA9IGZhbHNlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgICByZXR1cm4gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlVG8oaW5zdGFuY2UsIHRoaXMuZmllbGRzLCB1cGRhdGUpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { UpdateOptionActions, } from '../../../domain';
|
|
3
|
+
import { isNil } from '../../../utils';
|
|
4
|
+
import { AttributeOptionHelper } from './helpers';
|
|
5
|
+
export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
6
|
+
const getValueByAction = (options) => {
|
|
7
|
+
if (isNil(options.action))
|
|
8
|
+
return options;
|
|
9
|
+
if (options.action === UpdateOptionActions.REMOVE_FIELD)
|
|
10
|
+
return null;
|
|
11
|
+
return options.value;
|
|
12
|
+
};
|
|
13
|
+
return class UpdateHasuraGraphQLMixin extends MixinBase {
|
|
14
|
+
constructor(...params) {
|
|
15
|
+
const options = params === null || params === void 0 ? void 0 : params[0];
|
|
16
|
+
super(...params);
|
|
17
|
+
this.updateGraphQLOperation = (options === null || options === void 0 ? void 0 : options.updateGraphQLOperation) || `update_${this.tableName}_by_pk`;
|
|
18
|
+
this.updateGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.updateGraphQLObjectType) || `${this.tableName}_set_input`;
|
|
19
|
+
this.updateGraphQLPKType = (options === null || options === void 0 ? void 0 : options.updateGraphQLPKType) || `${this.tableName}_pk_columns_input`;
|
|
20
|
+
}
|
|
21
|
+
update(data) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const plainData = this.paramsToPlain(data);
|
|
24
|
+
yield this.mutation(this.updateGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), {
|
|
25
|
+
_set: {
|
|
26
|
+
type: this.updateGraphQLObjectType,
|
|
27
|
+
value: this.convertDataToHasura(this.model.toInstance(plainData), true),
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
pk_columns: { type: this.updateGraphQLPKType, value: this.getUpdateModelKeys(plainData), required: true },
|
|
31
|
+
});
|
|
32
|
+
return this.model.toInstance(plainData);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
paramsToPlain(params) {
|
|
36
|
+
const model = this.model;
|
|
37
|
+
if (model.isModel(params))
|
|
38
|
+
return params.toPlain();
|
|
39
|
+
return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(params[currentKey]) })), {});
|
|
40
|
+
}
|
|
41
|
+
getUpdateModelKeys(data) {
|
|
42
|
+
const instance = this.model.toInstance(data);
|
|
43
|
+
return this.model.identifiersFields.reduce((ids, identifier) => {
|
|
44
|
+
if (isNil(instance[identifier]))
|
|
45
|
+
return ids;
|
|
46
|
+
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
47
|
+
const value = columnOption.to(data[identifier.toString()], instance);
|
|
48
|
+
return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: value });
|
|
49
|
+
}, {});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxtQkFBbUIsR0FHcEIsTUFBTSxpQkFBaUIsQ0FBQTtBQUV4QixPQUFPLEVBQUUsS0FBSyxFQUFxQyxNQUFNLGdCQUFnQixDQUFBO0FBRXpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVlqRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQTZCLEVBQVcsRUFBRTtRQUNsRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUE7UUFDekMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVwRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUE7SUFDdEIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFLckQsWUFBWSxHQUFHLE1BQU07WUFDbkIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUE7WUFDakcsSUFBSSxDQUFD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dHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllcyxcbiAgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtcyxcbiAgVXBkYXRlT3B0aW9uQWN0aW9ucyxcbiAgVXBkYXRlT3B0aW9ucyxcbiAgVXBkYXRlUmVwb3NpdG9yeSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0gVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4gJiB7XG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8VXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8TUJhc2U+KTogdW5rbm93biA9PiB7XG4gICAgaWYgKGlzTmlsKG9wdGlvbnMuYWN0aW9uKSkgcmV0dXJuIG9wdGlvbnNcbiAgICBpZiAob3B0aW9ucy5hY3Rpb24gPT09IFVwZGF0ZU9wdGlvbkFjdGlvbnMuUkVNT1ZFX0ZJRUxEKSByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIG9wdGlvbnMudmFsdWVcbiAgfVxuXG4gIHJldHVybiBjbGFzcyBVcGRhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBVcGRhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdXBkYXRlR3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG4gICAgdXBkYXRlR3JhcGhRTE9iamVjdFR5cGU6IHN0cmluZ1xuICAgIHVwZGF0ZUdyYXBoUUxQS1R5cGU6IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTE9wZXJhdGlvbiB8fCBgdXBkYXRlXyR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlIHx8IGAke3RoaXMudGFibGVOYW1lfV9zZXRfaW5wdXRgXG4gICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxQS1R5cGUgPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMUEtUeXBlIHx8IGAke3RoaXMudGFibGVOYW1lfV9wa19jb2x1bW5zX2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZShkYXRhOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbihkYXRhKVxuXG4gICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKFxuICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBfc2V0OiB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKSwgdHJ1ZSksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBrX2NvbHVtbnM6IHsgdHlwZTogdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlLCB2YWx1ZTogdGhpcy5nZXRVcGRhdGVNb2RlbEtleXMocGxhaW5EYXRhKSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbkRhdGEpXG4gICAgfVxuXG4gICAgcGFyYW1zVG9QbGFpbihwYXJhbXM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8TUJhc2U+KTogUGFydGlhbDxNQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXG5cbiAgICAgIGlmIChtb2RlbC5pc01vZGVsKHBhcmFtcykpIHJldHVybiBwYXJhbXMudG9QbGFpbigpXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZShcbiAgICAgICAgKGRhdGEsIGN1cnJlbnRLZXkpID0+ICh7IC4uLmRhdGEsIFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihwYXJhbXNbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRVcGRhdGVNb2RlbEtleXMoZGF0YTogUGFydGlhbDxNQmFzZT4pOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzPE1CYXNlPiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShkYXRhKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2VbaWRlbnRpZmllcl0pKSByZXR1cm4gaWRzXG5cbiAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oZGF0YVtpZGVudGlmaWVyLnRvU3RyaW5nKCldLCBpbnN0YW5jZSlcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmlkcyxcbiAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB2YWx1ZSxcbiAgICAgICAgfVxuICAgICAgfSwge30gYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4pXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Category } from '../../../domain';
|
|
2
|
+
export class CategoryHasuraGraphQL extends Category {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTFDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxRQUFRO0NBSWxEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUhhc3VyYUdyYXBoUUwgZXh0ZW5kcyBDYXRlZ29yeSB7XG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXG4gIGJyYW5kQ29uZGl0aW9uPzogc3RyaW5nXG4gIHRhZ0NvbmRpdGlvbj86IHN0cmluZ1tdXG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './category-hasura-graphql';
|
|
2
|
+
export * from './product-hasura-graphql';
|
|
3
|
+
export * from './variant-hasura-graphql';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsJ1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Product } from '../../../domain';
|
|
2
|
+
export class ProductHasuraGraphQL extends Product {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV6QyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTztDQUtoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Variant } from '../../../domain';
|
|
2
|
+
export class VariantHasuraGraphQL extends Variant {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.name = '';
|
|
6
|
+
this.hasVariants = false;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy92YXJpYW50LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV6QyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTztJQUFqRDs7UUFNRSxTQUFJLEdBQUssRUFBRSxDQUFBO1FBQ1gsZ0JBQVcsR0FBSyxLQUFLLENBQUE7SUFDdkIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcblxuZXhwb3J0IGNsYXNzIFZhcmlhbnRIYXN1cmFHcmFwaFFMIGV4dGVuZHMgVmFyaWFudCB7XG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXG4gIGZ1bGxQcmljZT86IG51bWJlclxuICBzdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlPzogbnVtYmVyXG4gIHN1YnNjcmliZXJQcmljZT86IG51bWJlclxuXG4gIG5hbWUgPyA9ICcnXG4gIGhhc1ZhcmlhbnRzID8gPSBmYWxzZVxufVxuIl19
|
package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Base } from '../../../../utils';
|
|
3
|
+
import { Category, Shops, Where } from '../../../../domain';
|
|
4
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
5
|
+
import { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../errors';
|
|
6
|
+
export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
7
|
+
constructor(endpoint, authOptions, productRepository) {
|
|
8
|
+
super({
|
|
9
|
+
tableName: 'category',
|
|
10
|
+
model: Category,
|
|
11
|
+
endpoint,
|
|
12
|
+
authOptions,
|
|
13
|
+
fields: [
|
|
14
|
+
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
15
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
16
|
+
'name',
|
|
17
|
+
'description',
|
|
18
|
+
'image',
|
|
19
|
+
'published',
|
|
20
|
+
'shop',
|
|
21
|
+
'slug',
|
|
22
|
+
{ brandCategory: { columnName: 'brand_category' } },
|
|
23
|
+
{ brandCategoryBanner: { columnName: 'brand_banner' } },
|
|
24
|
+
{ brandCategoryBannerMobile: { columnName: 'brand_banner_mobile' } },
|
|
25
|
+
{ brandLogo: { columnName: 'brand_logo' } },
|
|
26
|
+
{ brandCondition: { columnName: 'brand_condition' } },
|
|
27
|
+
{
|
|
28
|
+
conditions: {
|
|
29
|
+
columnName: 'tag_condition',
|
|
30
|
+
from: (tags, row) => ({ brand: row.brand_condition, tags }),
|
|
31
|
+
bindPersistData: (value) => {
|
|
32
|
+
return {
|
|
33
|
+
brand_condition: value.brand,
|
|
34
|
+
tag_condition: `{"${value.tags.join('","')}"}`,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
'filters',
|
|
40
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
41
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
42
|
+
{
|
|
43
|
+
products: {
|
|
44
|
+
columnName: 'products',
|
|
45
|
+
fields: ['product_id'],
|
|
46
|
+
from: (value) => value.map((product) => product.product_id.toString()),
|
|
47
|
+
to: (productIds) => productIds.map((productId) => ({
|
|
48
|
+
product_id: +productId,
|
|
49
|
+
})),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
});
|
|
54
|
+
this.productRepository = productRepository;
|
|
55
|
+
}
|
|
56
|
+
get(identifiers) {
|
|
57
|
+
const _super = Object.create(null, {
|
|
58
|
+
get: { get: () => super.get }
|
|
59
|
+
});
|
|
60
|
+
var _a;
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return Number.isNaN(+identifiers.id)
|
|
63
|
+
? (_a = (yield this.find({ filters: { firestoreId: identifiers.id } })).data) === null || _a === void 0 ? void 0 : _a[0]
|
|
64
|
+
: _super.get.call(this, identifiers);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
getCategoryBySlug(slug, shop) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
if (!slug)
|
|
70
|
+
return;
|
|
71
|
+
const { data, count } = yield this.find({ filters: { slug, shop, published: true } });
|
|
72
|
+
if (count > 1)
|
|
73
|
+
throw new DuplicatedResultsError('Query returned duplicated values');
|
|
74
|
+
if (!count)
|
|
75
|
+
throw new NotFoundError(`Category with slug ${slug} not found`);
|
|
76
|
+
return data.shift();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
getCategoriesForHome(categoryIds, limit = 4) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const { data: categories, count } = yield this.find({
|
|
82
|
+
filters: { firestoreId: { operator: Where.IN, value: categoryIds.filter(Boolean) }, published: true },
|
|
83
|
+
});
|
|
84
|
+
if (!count)
|
|
85
|
+
throw new NotFoundError('Categories not found');
|
|
86
|
+
const homeSections = yield Promise.all(categories.map((category) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
return ({
|
|
88
|
+
category,
|
|
89
|
+
products: yield this.mountCategory(category, { limit, hasStock: true }),
|
|
90
|
+
});
|
|
91
|
+
})));
|
|
92
|
+
return homeSections;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
mountCategory(category, options) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
if (!category.products)
|
|
98
|
+
throw new RequiredArgumentError(['Category products is empty']);
|
|
99
|
+
const products = [];
|
|
100
|
+
const publishedField = category.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published';
|
|
101
|
+
const { data: productsData } = yield this.productRepository.find(Object.assign({ filters: Object.assign({ id: { operator: Where.IN, value: category.products }, [publishedField]: true }, ((options === null || options === void 0 ? void 0 : options.hasStock) ? { stock: { quantity: { operator: Where.GT, value: 0 } } } : {})) }, ((options === null || options === void 0 ? void 0 : options.limit) ? { limits: { limit: options === null || options === void 0 ? void 0 : options.limit } } : {})));
|
|
102
|
+
products.push(...productsData);
|
|
103
|
+
return products;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL3JlcG9zaXRvcmllcy9jYXRhbG9nL2NhdGVnb3J5LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFvRCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFHN0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUlqRyxNQUFNLE9BQU8sK0JBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFHN0UsWUFDRSxRQUFnQixFQUNoQixXQUFxQyxFQUNwQixpQkFBaUQ7UUFFbEUsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFVBQVU7WUFDckIsS0FBSyxFQUFFLFFBQVE7WUFDZixRQUFRO1lBQ1IsV0FBVztZQUNYLE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO2dCQUN0RixFQUFFLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFBRTtnQkFDL0MsTUFBTTtnQkFDTixhQUFh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LENBQUMsQ0FBQyxXQUFXLENBQUE7WUFDdkYsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUM5RCxPQUFPLGtCQUNMLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQ3BELENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxJQUNuQixDQUFDLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FFdEYsQ0FBQyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEUsQ0FBQTtZQUVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtZQUU5QixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IENhdGVnb3J5LCBDYXRlZ29yeVJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIFByb2R1Y3QsIFNob3BzLCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IENhdGVnb3J5SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21vZGVscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgd2l0aENydWRIYXN1cmFHcmFwaFFMLCB3aXRoSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21peGlucydcbmltcG9ydCB7IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IsIE5vdEZvdW5kRXJyb3IsIFJlcXVpcmVkQXJndW1lbnRFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2Vycm9ycydcblxuaW1wb3J0IHsgUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5IH0gZnJvbSAnLi9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnknXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XG4gIGV4dGVuZHMgd2l0aENydWRIYXN1cmFHcmFwaFFMKHdpdGhIYXN1cmFHcmFwaFFMPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4oQmFzZSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRhYmxlTmFtZTogJ2NhdGVnb3J5JyxcbiAgICAgIG1vZGVsOiBDYXRlZ29yeSxcbiAgICAgIGVuZHBvaW50LFxuICAgICAgYXV0aE9wdGlvbnMsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAgeyBpZDogeyBjb2x1bW5OYW1lOiAnaWQnLCB0bzogKHZhbHVlKSA9PiArdmFsdWUsIGZyb206ICh2YWx1ZSkgPT4gdmFsdWUudG9TdHJpbmcoKSB9IH0sXG4gICAgICAgIHsgZmlyZXN0b3JlSWQ6IHsgY29sdW1uTmFtZTogJ2ZpcmVzdG9yZV9pZCcgfSB9LFxuICAgICAgICAnbmFtZScsXG4gICAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAgICdpbWFnZScsXG4gICAgICAgICdwdWJsaXNoZWQnLFxuICAgICAgICAnc2hvcCcsXG4gICAgICAgICdzbHVnJyxcbiAgICAgICAgeyBicmFuZENhdGVnb3J5OiB7IGNvbHVtbk5hbWU6ICdicmFuZF9jYXRlZ29yeScgfSB9LFxuICAgICAgICB7IGJyYW5kQ2F0ZWdvcnlCYW5uZXI6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2Jhbm5lcicgfSB9LFxuICAgICAgICB7IGJyYW5kQ2F0ZWdvcnlCYW5uZXJNb2JpbGU6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2Jhbm5lcl9tb2JpbGUnIH0gfSxcbiAgICAgICAgeyBicmFuZExvZ286IHsgY29sdW1uTmFtZTogJ2JyYW5kX2xvZ28nIH0gfSxcbiAgICAgICAgeyBicmFuZENvbmRpdGlvbjogeyBjb2x1bW5OYW1lOiAnYnJhbmRfY29uZGl0aW9uJyB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndGFnX2NvbmRpdGlvbicsXG4gICAgICAgICAgICBmcm9tOiAodGFnczogc3RyaW5nW10sIHJvdykgPT4gKHsgYnJhbmQ6IHJvdy5icmFuZF9jb25kaXRpb24sIHRhZ3MgfSksXG4gICAgICAgICAgICBiaW5kUGVyc2lzdERhdGE6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJyYW5kX2NvbmRpdGlvbjogdmFsdWUuYnJhbmQsXG4gICAgICAgICAgICAgICAgdGFnX2NvbmRpdGlvbjogYHtcIiR7dmFsdWUudGFncy5qb2luKCdcIixcIicpfVwifWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2ZpbHRlcnMnLFxuICAgICAgICB7IGNyZWF0ZWRBdDogeyBjb2x1bW5OYW1lOiAnY3JlYXRlZF9hdCcgfSB9LFxuICAgICAgICB7IHVwZGF0ZWRBdDogeyBjb2x1bW5OYW1lOiAndXBkYXRlZF9hdCcgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdwcm9kdWN0cycsXG4gICAgICAgICAgICBmaWVsZHM6IFsncHJvZHVjdF9pZCddLFxuICAgICAgICAgICAgZnJvbTogKHZhbHVlOiB7IHByb2R1Y3RfaWQ6IG51bWJlciB9W10pID0+IHZhbHVlLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5wcm9kdWN0X2lkLnRvU3RyaW5nKCkpLFxuICAgICAgICAgICAgdG86IChwcm9kdWN0SWRzKSA9PlxuICAgICAgICAgICAgICBwcm9kdWN0SWRzLm1hcCgocHJvZHVjdElkKSA9PiAoe1xuICAgICAgICAgICAgICAgIHByb2R1Y3RfaWQ6ICtwcm9kdWN0SWQsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0KGlkZW50aWZpZXJzOiBHZXRSZXBvc2l0b3J5UGFyYW1zPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4pOiBQcm9taXNlPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNOYU4oK2lkZW50aWZpZXJzLmlkKVxuICAgICAgPyAoYXdhaXQgdGhpcy5maW5kKHsgZmlsdGVyczogeyBmaXJlc3RvcmVJZDogaWRlbnRpZmllcnMuaWQgfSB9KSkuZGF0YT8uWzBdXG4gICAgICA6IHN1cGVyLmdldChpZGVudGlmaWVycylcbiAgfVxuXG4gIGFzeW5jIGdldENhdGVnb3J5QnlTbHVnKHNsdWc6IHN0cmluZywgc2hvcDogU2hvcHMpOiBQcm9taXNlPENhdGVnb3J5PiB7XG4gICAgaWYgKCFzbHVnKSByZXR1cm5cblxuICAgIGNvbnN0IHsgZGF0YSwgY291bnQgfSA9IGF3YWl0IHRoaXMuZmluZCh7IGZpbHRlcnM6IHsgc2x1Zywgc2hvcCwgcHVibGlzaGVkOiB0cnVlIH0gfSlcblxuICAgIGlmIChjb3VudCA+IDEpIHRocm93IG5ldyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yKCdRdWVyeSByZXR1cm5lZCBkdXBsaWNhdGVkIHZhbHVlcycpXG4gICAgaWYgKCFjb3VudCkgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYENhdGVnb3J5IHdpdGggc2x1ZyAke3NsdWd9IG5vdCBmb3VuZGApXG5cbiAgICByZXR1cm4gZGF0YS5zaGlmdCgpXG4gIH1cblxuICBhc3luYyBnZXRDYXRlZ29yaWVzRm9ySG9tZShjYXRlZ29yeUlkczogc3RyaW5nW10sIGxpbWl0ID0gNCk6IFByb21pc2U8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XG4gICAgY29uc3QgeyBkYXRhOiBjYXRlZ29yaWVzLCBjb3VudCB9ID0gYXdhaXQgdGhpcy5maW5kKHtcbiAgICAgIGZpbHRlcnM6IHsgZmlyZXN0b3JlSWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogY2F0ZWdvcnlJZHMuZmlsdGVyKEJvb2xlYW4pIH0sIHB1Ymxpc2hlZDogdHJ1ZSB9LFxuICAgIH0pXG5cbiAgICBpZiAoIWNvdW50KSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcignQ2F0ZWdvcmllcyBub3QgZm91bmQnKVxuXG4gICAgY29uc3QgaG9tZVNlY3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjYXRlZ29yaWVzLm1hcChhc3luYyAoY2F0ZWdvcnkpID0+ICh7XG4gICAgICAgIGNhdGVnb3J5LFxuICAgICAgICBwcm9kdWN0czogYXdhaXQgdGhpcy5tb3VudENhdGVnb3J5KGNhdGVnb3J5LCB7IGxpbWl0LCBoYXNTdG9jazogdHJ1ZSB9KSxcbiAgICAgIH0pKSxcbiAgICApXG5cbiAgICByZXR1cm4gaG9tZVNlY3Rpb25zXG4gIH1cblxuICBhc3luYyBtb3VudENhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSwgb3B0aW9ucz86IHsgbGltaXQ/OiBudW1iZXI7IGhhc1N0b2NrPzogYm9vbGVhbiB9KTogUHJvbWlzZTxQcm9kdWN0W10+IHtcbiAgICBpZiAoIWNhdGVnb3J5LnByb2R1Y3RzKSB0aHJvdyBuZXcgUmVxdWlyZWRBcmd1bWVudEVycm9yKFsnQ2F0ZWdvcnkgcHJvZHVjdHMgaXMgZW1wdHknXSlcblxuICAgIGNvbnN0IHByb2R1Y3RzID0gW11cbiAgICBjb25zdCBwdWJsaXNoZWRGaWVsZCA9IGNhdGVnb3J5LnNob3AgPT09IFNob3BzLkdMQU1TSE9QID8gJ3B1Ymxpc2hlZEdsYW0nIDogJ3B1Ymxpc2hlZCdcbiAgICBjb25zdCB7IGRhdGE6IHByb2R1Y3RzRGF0YSB9ID0gYXdhaXQgdGhpcy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kKHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogY2F0ZWdvcnkucHJvZHVjdHMgfSxcbiAgICAgICAgW3B1Ymxpc2hlZEZpZWxkXTogdHJ1ZSxcbiAgICAgICAgLi4uKG9wdGlvbnM/Lmhhc1N0b2NrID8geyBzdG9jazogeyBxdWFudGl0eTogeyBvcGVyYXRvcjogV2hlcmUuR1QsIHZhbHVlOiAwIH0gfSB9IDoge30pLFxuICAgICAgfSxcbiAgICAgIC4uLihvcHRpb25zPy5saW1pdCA/IHsgbGltaXRzOiB7IGxpbWl0OiBvcHRpb25zPy5saW1pdCB9IH0gOiB7fSksXG4gICAgfSlcblxuICAgIHByb2R1Y3RzLnB1c2goLi4ucHJvZHVjdHNEYXRhKVxuXG4gICAgcmV0dXJuIHByb2R1Y3RzXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './category-hasura-graphql.repository';
|
|
2
|
+
export * from './product-hasura-graphql.repository';
|
|
3
|
+
export * from './variant-hasura-graphql.repository';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9yZXBvc2l0b3JpZXMvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnknXG4iXX0=
|
package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Base } from '../../../../utils';
|
|
3
|
+
import { HasuraGraphQLColumnType } from '../../enums';
|
|
4
|
+
import { ProductHasuraGraphQL } from '../../models';
|
|
5
|
+
import { Shops, Where } from '../../../../domain';
|
|
6
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
7
|
+
export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
8
|
+
constructor(endpoint, authOptions) {
|
|
9
|
+
super({
|
|
10
|
+
tableName: 'product',
|
|
11
|
+
model: ProductHasuraGraphQL,
|
|
12
|
+
endpoint,
|
|
13
|
+
authOptions,
|
|
14
|
+
fields: [
|
|
15
|
+
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
16
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
17
|
+
{ CEST: { columnName: 'cest' } },
|
|
18
|
+
{ EAN: { columnName: 'ean' } },
|
|
19
|
+
{ NCM: { columnName: 'ncm' } },
|
|
20
|
+
'brand',
|
|
21
|
+
{ costPrice: { columnName: 'cost_price' } },
|
|
22
|
+
{
|
|
23
|
+
description: {
|
|
24
|
+
columnName: 'description',
|
|
25
|
+
from: (description) => Object.values(Shops).reduce((shops, shop) => (Object.assign(Object.assign({}, shops), { [shop]: { description } })), {}),
|
|
26
|
+
to: (value) => Object.values(value).shift().description,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
{ hasVariants: { columnName: 'has_variants' } },
|
|
30
|
+
{ images: { columnName: 'images', to: (value) => `{"${value.join(`","`)}"}` } },
|
|
31
|
+
{ miniatures: { columnName: 'miniatures', to: (value) => `{"${value.join(`","`)}"}` } },
|
|
32
|
+
'name',
|
|
33
|
+
{
|
|
34
|
+
price: {
|
|
35
|
+
columnName: 'price',
|
|
36
|
+
from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
|
|
37
|
+
price,
|
|
38
|
+
fullPrice: data.full_price,
|
|
39
|
+
subscriberDiscountPercentage: data.subscriber_discount_percentage,
|
|
40
|
+
subscriberPrice: data.subscriber_price,
|
|
41
|
+
} })), {}),
|
|
42
|
+
bindFindFilter: (sentence) => {
|
|
43
|
+
const filters = Object.values(sentence).shift();
|
|
44
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
|
|
45
|
+
subscriber_discount_percentage: filters.subscriberDiscountPercentage,
|
|
46
|
+
})), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
|
|
47
|
+
},
|
|
48
|
+
bindPersistData: (value) => {
|
|
49
|
+
const priceData = Object.values(value).shift();
|
|
50
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
|
|
51
|
+
subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
|
|
52
|
+
})), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{ fullPrice: { columnName: 'full_price' } },
|
|
57
|
+
{ subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
|
|
58
|
+
{ subscriberPrice: { columnName: 'subscriber_price' } },
|
|
59
|
+
'published',
|
|
60
|
+
{ publishedGlam: { columnName: 'published_glam' } },
|
|
61
|
+
'sku',
|
|
62
|
+
{
|
|
63
|
+
stock: {
|
|
64
|
+
columnName: 'stock',
|
|
65
|
+
from: (quantity) => ({ quantity }),
|
|
66
|
+
to: (value) => (value === null || value === void 0 ? void 0 : value.quantity) || value,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
'slug',
|
|
70
|
+
'type',
|
|
71
|
+
'video',
|
|
72
|
+
'weight',
|
|
73
|
+
{
|
|
74
|
+
categories: {
|
|
75
|
+
columnName: 'categories',
|
|
76
|
+
fields: ['category_id'],
|
|
77
|
+
to: (categories) => categories.map((categoryId) => ({ category_id: +categoryId })),
|
|
78
|
+
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(); })) || [],
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
shopAvailability: {
|
|
83
|
+
columnName: 'shop_availabilities',
|
|
84
|
+
fields: ['shop'],
|
|
85
|
+
from: (shop) => (Array.isArray(shop) ? shop.map((row) => row.shop) : []),
|
|
86
|
+
to: (shops) => shops.map((shop) => ({ shop })),
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{ tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
|
|
90
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
91
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
92
|
+
],
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
getBySlug(slug, shop) {
|
|
96
|
+
var _a;
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const result = yield this.find({
|
|
99
|
+
filters: {
|
|
100
|
+
slug: { operator: Where.EQUALS, value: slug },
|
|
101
|
+
shopAvailability: { operator: Where.IN, value: [shop] },
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
return (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNuRCxPQUFPLEVBQXFCLEtBQUssRUFBYyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdkUsTUFBTSxPQUFPLDhCQUNYLFNBQVEscUJBQXFCLENBQUMsaUJBQWlCLENBQXVCLElBQUksQ0FBQyxDQUFDO0lBRzVFLFlBQVksUUFBZ0IsRUFBRSxXQUFxQztRQUNqRSxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFFBQVE7WUFDUixXQUFXO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7Z0JBQ3RGLEVBQUUsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO2dCQUMvQyxFQUFFLElBQUksRUFBRSxFQUFF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LFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTthQUM1QztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFSyxTQUFTLENBQUMsSUFBWSxFQUFFLElBQVc7OztZQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO29CQUM3QyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO2lCQUN4RDthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSwwQ0FBRSxLQUFLLEVBQUUsQ0FBQTs7S0FDN0I7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcydcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgUHJvZHVjdFJlcG9zaXRvcnksIFNob3BzLCBTaG9wc1ByaWNlLCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IHdpdGhDcnVkSGFzdXJhR3JhcGhRTCwgd2l0aEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwod2l0aEhhc3VyYUdyYXBoUUw8UHJvZHVjdEhhc3VyYUdyYXBoUUw+KEJhc2UpKVxuICBpbXBsZW1lbnRzIFByb2R1Y3RSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKGVuZHBvaW50OiBzdHJpbmcsIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICB0YWJsZU5hbWU6ICdwcm9kdWN0JyxcbiAgICAgIG1vZGVsOiBQcm9kdWN0SGFzdXJhR3JhcGhRTCxcbiAgICAgIGVuZHBvaW50LFxuICAgICAgYXV0aE9wdGlvbnMsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAgeyBpZDogeyBjb2x1bW5OYW1lOiAnaWQnLCB0bzogKHZhbHVlKSA9PiArdmFsdWUsIGZyb206ICh2YWx1ZSkgPT4gdmFsdWUudG9TdHJpbmcoKSB9IH0sXG4gICAgICAgIHsgZmlyZXN0b3JlSWQ6IHsgY29sdW1uTmFtZTogJ2ZpcmVzdG9yZV9pZCcgfSB9LFxuICAgICAgICB7IENFU1Q6IHsgY29sdW1uTmFtZTogJ2Nlc3QnIH0gfSxcbiAgICAgICAgeyBFQU46IHsgY29sdW1uTmFtZTogJ2VhbicgfSB9LFxuICAgICAgICB7IE5DTTogeyBjb2x1bW5OYW1lOiAnbmNtJyB9IH0sXG4gICAgICAgICdicmFuZCcsXG4gICAgICAgIHsgY29zdFByaWNlOiB7IGNvbHVtbk5hbWU6ICdjb3N0X3ByaWNlJyB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgIGZyb206IChkZXNjcmlwdGlvbikgPT5cbiAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhTaG9wcykucmVkdWNlKChzaG9wcywgc2hvcCkgPT4gKHsgLi4uc2hvcHMsIFtzaG9wXTogeyBkZXNjcmlwdGlvbiB9IH0pLCB7fSksXG4gICAgICAgICAgICB0bzogKHZhbHVlKSA9PiBPYmplY3QudmFsdWVzKHZhbHVlKS5zaGlmdCgpLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgaGFzVmFyaWFudHM6IHsgY29sdW1uTmFtZTogJ2hhc192YXJpYW50cycgfSB9LFxuICAgICAgICB7IGltYWdlczogeyBjb2x1bW5OYW1lOiAnaW1hZ2VzJywgdG86ICh2YWx1ZSkgPT4gYHtcIiR7dmFsdWUuam9pbihgXCIsXCJgKX1cIn1gIH0gfSxcbiAgICAgICAgeyBtaW5pYXR1cmVzOiB7IGNvbHVtbk5hbWU6ICdtaW5pYXR1cmVzJywgdG86ICh2YWx1ZSkgPT4gYHtcIiR7dmFsdWUuam9pbihgXCIsXCJgKX1cIn1gIH0gfSxcbiAgICAgICAgJ25hbWUnLFxuICAgICAgICB7XG4gICAgICAgICAgcHJpY2U6IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdwcmljZScsXG4gICAgICAgICAgICBmcm9tOiAocHJpY2UsIGRhdGEpOiBTaG9wc1ByaWNlID0+XG4gICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoU2hvcHMpLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocHJpY2VzOiBTaG9wc1ByaWNlLCBzaG9wKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4ucHJpY2VzLFxuICAgICAgICAgICAgICAgICAgW3Nob3BdOiB7XG4gICAgICAgICAgICAgICAgICAgIHByaWNlLFxuICAgICAgICAgICAgICAgICAgICBmdWxsUHJpY2U6IGRhdGEuZnVsbF9wcmljZSxcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZTogZGF0YS5zdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJQcmljZTogZGF0YS5zdWJzY3JpYmVyX3ByaWNlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGJpbmRGaW5kRmlsdGVyOiAoc2VudGVuY2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsdGVycyA9IE9iamVjdC52YWx1ZXMoc2VudGVuY2UpLnNoaWZ0KClcblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJzPy5wcmljZSAmJiB7IHByaWNlOiBmaWx0ZXJzLnByaWNlIH0pLFxuICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJzLmZ1bGxQcmljZSAmJiB7IGZ1bGxfcHJpY2U6IGZpbHRlcnMuZnVsbFByaWNlIH0pLFxuICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJzLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UgJiYge1xuICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlOiBmaWx0ZXJzLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLi4uKGZpbHRlcnMuc3Vic2NyaWJlclByaWNlICYmIHsgc3Vic2NyaWJlcl9wcmljZTogZmlsdGVycy5zdWJzY3JpYmVyUHJpY2UgfSksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiaW5kUGVyc2lzdERhdGE6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwcmljZURhdGEgPSBPYmplY3QudmFsdWVzKHZhbHVlKS5zaGlmdCgpXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhPy5wcmljZSAmJiB7IHByaWNlOiBwcmljZURhdGEucHJpY2UgfSksXG4gICAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YS5mdWxsUHJpY2UgJiYgeyBmdWxsX3ByaWNlOiBwcmljZURhdGEuZnVsbFByaWNlIH0pLFxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSAmJiB7XG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuc3Vic2NyaWJlclByaWNlICYmIHsgc3Vic2NyaWJlcl9wcmljZTogcHJpY2VEYXRhLnN1YnNjcmliZXJQcmljZSB9KSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7IGZ1bGxQcmljZTogeyBjb2x1bW5OYW1lOiAnZnVsbF9wcmljZScgfSB9LFxuICAgICAgICB7IHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IHsgY29sdW1uTmFtZTogJ3N1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZScgfSB9LFxuICAgICAgICB7IHN1YnNjcmliZXJQcmljZTogeyBjb2x1bW5OYW1lOiAnc3Vic2NyaWJlcl9wcmljZScgfSB9LFxuICAgICAgICAncHVibGlzaGVkJyxcbiAgICAgICAgeyBwdWJsaXNoZWRHbGFtOiB7IGNvbHVtbk5hbWU6ICdwdWJsaXNoZWRfZ2xhbScgfSB9LFxuICAgICAgICAnc2t1JyxcbiAgICAgICAge1xuICAgICAgICAgIHN0b2NrOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnc3RvY2snLFxuICAgICAgICAgICAgZnJvbTogKHF1YW50aXR5OiBudW1iZXIpID0+ICh7IHF1YW50aXR5IH0pLFxuICAgICAgICAgICAgdG86ICh2YWx1ZSkgPT4gdmFsdWU/LnF1YW50aXR5IHx8IHZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdzbHVnJyxcbiAgICAgICAgJ3R5cGUnLFxuICAgICAgICAndmlkZW8nLFxuICAgICAgICAnd2VpZ2h0JyxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdjYXRlZ29yaWVzJyxcbiAgICAgICAgICAgIGZpZWxkczogWydjYXRlZ29yeV9pZCddLFxuICAgICAgICAgICAgdG86IChjYXRlZ29yaWVzKSA9PiBjYXRlZ29yaWVzLm1hcCgoY2F0ZWdvcnlJZCkgPT4gKHsgY2F0ZWdvcnlfaWQ6ICtjYXRlZ29yeUlkIH0pKSxcbiAgICAgICAgICAgIGZyb206IChjYXRlZ29yaWVzOiB7IGNhdGVnb3J5X2lkOiBudW1iZXIgfVtdKSA9PlxuICAgICAgICAgICAgICBjYXRlZ29yaWVzPy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeT8uY2F0ZWdvcnlfaWQ/LnRvU3RyaW5nKCkpIHx8IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzaG9wQXZhaWxhYmlsaXR5OiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnc2hvcF9hdmFpbGFiaWxpdGllcycsXG4gICAgICAgICAgICBmaWVsZHM6IFsnc2hvcCddLFxuICAgICAgICAgICAgZnJvbTogKHNob3ApID0+IChBcnJheS5pc0FycmF5KHNob3ApID8gc2hvcC5tYXAoKHJvdzogeyBzaG9wOiBTaG9wcyB9KSA9PiByb3cuc2hvcCkgOiBbXSksXG4gICAgICAgICAgICB0bzogKHNob3BzKSA9PiBzaG9wcy5tYXAoKHNob3A6IFNob3BzKSA9PiAoeyBzaG9wIH0pKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7IHRhZ3M6IHsgY29sdW1uTmFtZTogJ3RhZ3MnLCB0eXBlOiBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYiB9IH0sXG4gICAgICAgIHsgY3JlYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICdjcmVhdGVkX2F0JyB9IH0sXG4gICAgICAgIHsgdXBkYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICd1cGRhdGVkX2F0JyB9IH0sXG4gICAgICBdLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUw+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmZpbmQoe1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBzbHVnOiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiBzbHVnIH0sXG4gICAgICAgIHNob3BBdmFpbGFiaWxpdHk6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW3Nob3BdIH0sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0Py5kYXRhPy5zaGlmdCgpXG4gIH1cbn1cbiJdfQ==
|
package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Base } from '../../../../utils';
|
|
2
|
+
import { VariantHasuraGraphQL } from '../../models';
|
|
3
|
+
import { Shops } from '../../../../domain';
|
|
4
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
5
|
+
export class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
6
|
+
constructor(endpoint, authOptions) {
|
|
7
|
+
super({
|
|
8
|
+
tableName: 'product',
|
|
9
|
+
model: VariantHasuraGraphQL,
|
|
10
|
+
endpoint,
|
|
11
|
+
authOptions,
|
|
12
|
+
fields: [
|
|
13
|
+
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
14
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
15
|
+
{ productId: { columnName: 'main_product_id', to: (value) => +value, from: (value) => value.toString() } },
|
|
16
|
+
{ EAN: { columnName: 'ean' } },
|
|
17
|
+
{ costPrice: { columnName: 'cost_price' } },
|
|
18
|
+
{
|
|
19
|
+
price: {
|
|
20
|
+
columnName: 'price',
|
|
21
|
+
from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
|
|
22
|
+
price,
|
|
23
|
+
fullPrice: data.full_price,
|
|
24
|
+
subscriberDiscountPercentage: data.subscriber_discount_percentage,
|
|
25
|
+
subscriberPrice: data.subscriber_price,
|
|
26
|
+
} })), {}),
|
|
27
|
+
bindFindFilter: (sentence) => {
|
|
28
|
+
const filters = Object.values(sentence).shift();
|
|
29
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
|
|
30
|
+
subscriber_discount_percentage: filters.subscriberDiscountPercentage,
|
|
31
|
+
})), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
|
|
32
|
+
},
|
|
33
|
+
bindPersistData: (value, instance) => {
|
|
34
|
+
const priceData = Object.values(value).shift();
|
|
35
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
|
|
36
|
+
subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
|
|
37
|
+
})), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{ fullPrice: { columnName: 'full_price' } },
|
|
42
|
+
{ subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
|
|
43
|
+
{ subscriberPrice: { columnName: 'subscriber_price' } },
|
|
44
|
+
'sku',
|
|
45
|
+
{
|
|
46
|
+
stock: {
|
|
47
|
+
columnName: 'stock',
|
|
48
|
+
from: (quantity) => ({ quantity }),
|
|
49
|
+
to: (value) => (value === null || value === void 0 ? void 0 : value.quantity) || value,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
'weight',
|
|
53
|
+
{ name: { to: () => '', from: () => undefined } },
|
|
54
|
+
{ hasVariants: { columnName: 'has_variants', to: () => false, from: () => undefined } },
|
|
55
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
56
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
57
|
+
],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvdmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBaUMsTUFBTSxvQkFBb0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdkUsTUFBTSxPQUFPLDhCQUNYLFNBQVEscUJBQXFCLENBQUMsaUJBQWlCLENBQXVCLElBQUksQ0FBQyxDQUFDO0lBRzVFLFlBQVksUUFBZ0IsRUFBRSxXQUFxQztRQUNqRSxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFFBQVE7WUFDUixXQUFXO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7Z0JBQ3RGLEVBQUUsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO2dCQUMvQyxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxD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QSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxLQUFJLEtBQUs7cUJBQ3hDO2lCQUNGO2dCQUNELFFBQVE7Z0JBQ1IsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDakQsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN2RixFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTtnQkFDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7YUFDNUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IFZhcmlhbnRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgU2hvcHMsIFNob3BzUHJpY2UsIFZhcmlhbnRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgd2l0aENydWRIYXN1cmFHcmFwaFFMLCB3aXRoSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21peGlucydcblxuZXhwb3J0IGNsYXNzIFZhcmlhbnRIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxWYXJpYW50SGFzdXJhR3JhcGhRTD4oQmFzZSkpXG4gIGltcGxlbWVudHMgVmFyaWFudFJlcG9zaXRvcnlcbntcbiAgY29uc3RydWN0b3IoZW5kcG9pbnQ6IHN0cmluZywgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIHRhYmxlTmFtZTogJ3Byb2R1Y3QnLFxuICAgICAgbW9kZWw6IFZhcmlhbnRIYXN1cmFHcmFwaFFMLFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+ICt2YWx1ZSwgZnJvbTogKHZhbHVlKSA9PiB2YWx1ZS50b1N0cmluZygpIH0gfSxcbiAgICAgICAgeyBmaXJlc3RvcmVJZDogeyBjb2x1bW5OYW1lOiAnZmlyZXN0b3JlX2lkJyB9IH0sXG4gICAgICAgIHsgcHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdtYWluX3Byb2R1Y3RfaWQnLCB0bzogKHZhbHVlKSA9PiArdmFsdWUsIGZyb206ICh2YWx1ZSkgPT4gdmFsdWUudG9TdHJpbmcoKSB9IH0sXG4gICAgICAgIHsgRUFOOiB7IGNvbHVtbk5hbWU6ICdlYW4nIH0gfSxcbiAgICAgICAgeyBjb3N0UHJpY2U6IHsgY29sdW1uTmFtZTogJ2Nvc3RfcHJpY2UnIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIHByaWNlOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAncHJpY2UnLFxuICAgICAgICAgICAgZnJvbTogKHByaWNlLCBkYXRhKTogU2hvcHNQcmljZSA9PlxuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKFNob3BzKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHByaWNlczogU2hvcHNQcmljZSwgc2hvcCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnByaWNlcyxcbiAgICAgICAgICAgICAgICAgIFtzaG9wXToge1xuICAgICAgICAgICAgICAgICAgICBwcmljZSxcbiAgICAgICAgICAgICAgICAgICAgZnVsbFByaWNlOiBkYXRhLmZ1bGxfcHJpY2UsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IGRhdGEuc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyUHJpY2U6IGRhdGEuc3Vic2NyaWJlcl9wcmljZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBiaW5kRmluZEZpbHRlcjogKHNlbnRlbmNlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHNlbnRlbmNlKS5zaGlmdCgpXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycz8ucHJpY2UgJiYgeyBwcmljZTogZmlsdGVycy5wcmljZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycy5mdWxsUHJpY2UgJiYgeyBmdWxsX3ByaWNlOiBmaWx0ZXJzLmZ1bGxQcmljZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlICYmIHtcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZTogZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJzLnN1YnNjcmliZXJQcmljZSAmJiB7IHN1YnNjcmliZXJfcHJpY2U6IGZpbHRlcnMuc3Vic2NyaWJlclByaWNlIH0pLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUsIGluc3RhbmNlPykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwcmljZURhdGEgPSBPYmplY3QudmFsdWVzKHZhbHVlKS5zaGlmdCgpXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhPy5wcmljZSAmJiB7IHByaWNlOiBwcmljZURhdGEucHJpY2UgfSksXG4gICAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YS5mdWxsUHJpY2UgJiYgeyBmdWxsX3ByaWNlOiBwcmljZURhdGEuZnVsbFByaWNlIH0pLFxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSAmJiB7XG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuc3Vic2NyaWJlclByaWNlICYmIHsgc3Vic2NyaWJlcl9wcmljZTogcHJpY2VEYXRhLnN1YnNjcmliZXJQcmljZSB9KSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7IGZ1bGxQcmljZTogeyBjb2x1bW5OYW1lOiAnZnVsbF9wcmljZScgfSB9LFxuICAgICAgICB7IHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IHsgY29sdW1uTmFtZTogJ3N1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZScgfSB9LFxuICAgICAgICB7IHN1YnNjcmliZXJQcmljZTogeyBjb2x1bW5OYW1lOiAnc3Vic2NyaWJlcl9wcmljZScgfSB9LFxuICAgICAgICAnc2t1JyxcbiAgICAgICAge1xuICAgICAgICAgIHN0b2NrOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnc3RvY2snLFxuICAgICAgICAgICAgZnJvbTogKHF1YW50aXR5OiBudW1iZXIpID0+ICh7IHF1YW50aXR5IH0pLFxuICAgICAgICAgICAgdG86ICh2YWx1ZSkgPT4gdmFsdWU/LnF1YW50aXR5IHx8IHZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICd3ZWlnaHQnLFxuICAgICAgICB7IG5hbWU6IHsgdG86ICgpID0+ICcnLCBmcm9tOiAoKSA9PiB1bmRlZmluZWQgfSB9LFxuICAgICAgICB7IGhhc1ZhcmlhbnRzOiB7IGNvbHVtbk5hbWU6ICdoYXNfdmFyaWFudHMnLCB0bzogKCkgPT4gZmFsc2UsIGZyb206ICgpID0+IHVuZGVmaW5lZCB9IH0sXG4gICAgICAgIHsgY3JlYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICdjcmVhdGVkX2F0JyB9IH0sXG4gICAgICAgIHsgdXBkYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICd1cGRhdGVkX2F0JyB9IH0sXG4gICAgICBdLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|