@infrab4a/connect 4.2.0-beta.2 → 4.2.0-beta.4
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/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +5626 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +1 -5
- package/index.esm.js +5391 -0
- package/package.json +13 -12
- package/src/domain/catalog/helpers/index.d.ts +1 -0
- package/src/domain/catalog/helpers/round-product-price.helper.d.ts +4 -0
- package/src/domain/catalog/index.d.ts +3 -0
- package/src/domain/catalog/models/category-base.d.ts +30 -0
- package/src/domain/catalog/models/category-collection-children.d.ts +13 -0
- package/src/domain/catalog/models/category-filter.d.ts +13 -0
- package/src/domain/catalog/models/category-for-product.d.ts +5 -0
- package/src/domain/catalog/models/category.d.ts +7 -0
- package/src/domain/catalog/models/enums/index.d.ts +2 -0
- package/src/domain/catalog/models/enums/product-genders.enum.d.ts +5 -0
- package/src/domain/catalog/models/enums/shops.enum.d.ts +6 -0
- package/src/domain/catalog/models/filter-option.d.ts +9 -0
- package/src/domain/catalog/models/filter.d.ts +12 -0
- package/src/domain/catalog/models/index.d.ts +11 -0
- package/src/domain/catalog/models/kit-product.d.ts +12 -0
- package/src/domain/catalog/models/product-base.d.ts +40 -0
- package/src/domain/catalog/models/product-for-category.d.ts +7 -0
- package/src/domain/catalog/models/product-for-kit.d.ts +7 -0
- package/src/domain/catalog/models/product.d.ts +9 -0
- package/src/domain/catalog/models/types/category-condition.type.d.ts +4 -0
- package/src/domain/catalog/models/types/category-metadata.type.d.ts +4 -0
- package/src/domain/catalog/models/types/category-product.d.ts +4 -0
- package/src/domain/catalog/models/types/index.d.ts +11 -0
- package/src/domain/catalog/models/types/product-evaluation.type.d.ts +6 -0
- package/src/domain/catalog/models/types/product-gender.type.d.ts +1 -0
- package/src/domain/catalog/models/types/product-metadata.type.d.ts +4 -0
- package/src/domain/catalog/models/types/product-review.type.d.ts +17 -0
- package/src/domain/catalog/models/types/shop-description.type.d.ts +8 -0
- package/src/domain/catalog/models/types/shop-price.type.d.ts +6 -0
- package/src/domain/catalog/models/types/stock.type.d.ts +3 -0
- package/src/domain/catalog/models/types/variant-grade.type.d.ts +4 -0
- package/src/domain/catalog/models/variant.d.ts +17 -0
- package/src/domain/catalog/models/wishlist.d.ts +8 -0
- package/src/domain/catalog/repositories/category-collection-children.repository.d.ts +4 -0
- package/src/domain/catalog/repositories/category-filter.repository.d.ts +6 -0
- package/src/domain/catalog/repositories/category.repository.d.ts +18 -0
- package/src/domain/catalog/repositories/filter-option.repository.d.ts +4 -0
- package/src/domain/catalog/repositories/filter.repository.d.ts +4 -0
- package/src/domain/catalog/repositories/index.d.ts +9 -0
- package/src/domain/catalog/repositories/product.repository.d.ts +15 -0
- package/src/domain/catalog/repositories/subscription-product.repository.d.ts +4 -0
- package/src/domain/catalog/repositories/variant.repository.d.ts +4 -0
- package/src/domain/catalog/repositories/wishlist.repository.d.ts +6 -0
- package/src/domain/generic/index.d.ts +2 -0
- package/src/domain/generic/model/base.model.d.ts +14 -0
- package/src/domain/generic/model/identifier-fields.d.ts +4 -0
- package/src/domain/generic/model/index.d.ts +3 -0
- package/src/domain/generic/model/types/base-model-builder.type.d.ts +17 -0
- package/src/domain/generic/model/types/identifier-model.type.d.ts +8 -0
- package/src/domain/generic/model/types/index.d.ts +5 -0
- package/src/domain/generic/model/types/model-base-structure.type.d.ts +12 -0
- package/src/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
- package/src/domain/generic/model/types/non-function-property-name.type.d.ts +13 -0
- package/src/domain/generic/repository/create.repository.d.ts +8 -0
- package/src/domain/generic/repository/crud.repository.d.ts +19 -0
- package/src/domain/generic/repository/delete.repository.d.ts +7 -0
- package/src/domain/generic/repository/enums/index.d.ts +2 -0
- package/src/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -0
- package/src/domain/generic/repository/enums/where.enum.d.ts +14 -0
- package/src/domain/generic/repository/find.repository.d.ts +17 -0
- package/src/domain/generic/repository/get.repository.d.ts +5 -0
- package/src/domain/generic/repository/index.d.ts +9 -0
- package/src/domain/generic/repository/read.repository.d.ts +14 -0
- package/src/domain/generic/repository/types/index.d.ts +6 -0
- package/src/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
- package/src/domain/generic/repository/types/repository-find-result.type.d.ts +14 -0
- package/src/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -0
- package/src/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -0
- package/src/domain/generic/repository/types/repository-update-params.type.d.ts +11 -0
- package/src/domain/generic/repository/types/where-options.type.d.ts +2 -0
- package/src/domain/generic/repository/update.repository.d.ts +6 -0
- package/src/domain/index.d.ts +6 -0
- package/src/domain/location/index.d.ts +1 -0
- package/src/domain/location/models/address.d.ts +24 -0
- package/src/domain/location/models/index.d.ts +2 -0
- package/src/domain/location/models/types/index.d.ts +3 -0
- package/src/domain/location/models/types/location-bound.type.d.ts +6 -0
- package/src/domain/location/models/types/location-geometry.type.d.ts +7 -0
- package/src/domain/location/models/types/location-lat-lng.type.d.ts +4 -0
- package/src/domain/shop-settings/enums/filter-type.enum.d.ts +19 -0
- package/src/domain/shop-settings/enums/index.d.ts +3 -0
- package/src/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -0
- package/src/domain/shop-settings/enums/shop-page-name.enum.d.ts +19 -0
- package/src/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -0
- package/src/domain/shop-settings/helpers/index.d.ts +1 -0
- package/src/domain/shop-settings/index.d.ts +4 -0
- package/src/domain/shop-settings/models/campaign-banner.d.ts +11 -0
- package/src/domain/shop-settings/models/campaign.d.ts +10 -0
- package/src/domain/shop-settings/models/home.d.ts +18 -0
- package/src/domain/shop-settings/models/index.d.ts +6 -0
- package/src/domain/shop-settings/models/shop-menu.d.ts +7 -0
- package/src/domain/shop-settings/models/shop-settings.d.ts +13 -0
- package/src/domain/shop-settings/models/types/banner.type.d.ts +6 -0
- package/src/domain/shop-settings/models/types/benefit.type.d.ts +5 -0
- package/src/domain/shop-settings/models/types/campaign-page.d.ts +17 -0
- package/src/domain/shop-settings/models/types/home-data.type.d.ts +15 -0
- package/src/domain/shop-settings/models/types/index.d.ts +16 -0
- package/src/domain/shop-settings/models/types/landing-page.d.ts +8 -0
- package/src/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -0
- package/src/domain/shop-settings/models/types/sections.type.d.ts +34 -0
- package/src/domain/shop-settings/models/types/shop-banner.type.d.ts +13 -0
- package/src/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -0
- package/src/domain/shop-settings/models/types/shop-carousel.type.d.ts +4 -0
- package/src/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -0
- package/src/domain/shop-settings/models/types/shop-gift.type.d.ts +8 -0
- package/src/domain/shop-settings/models/types/shop-home.d.ts +12 -0
- package/src/domain/shop-settings/models/types/shop-post.type.d.ts +7 -0
- package/src/domain/shop-settings/models/types/shop-section.type.d.ts +12 -0
- package/src/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -0
- package/src/domain/shop-settings/repositories/campaign-banner.repository.d.ts +4 -0
- package/src/domain/shop-settings/repositories/campaign.repository.d.ts +4 -0
- package/src/domain/shop-settings/repositories/home.repository.d.ts +4 -0
- package/src/domain/shop-settings/repositories/index.d.ts +5 -0
- package/src/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -0
- package/src/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -0
- package/src/domain/shopping/index.d.ts +2 -0
- package/src/domain/shopping/models/buy-2-win.d.ts +18 -0
- package/src/domain/shopping/models/campaign-dashboard.d.ts +15 -0
- package/src/domain/shopping/models/campaign-hashtag.d.ts +18 -0
- package/src/domain/shopping/models/checkout.d.ts +26 -0
- package/src/domain/shopping/models/coupons/coupon.d.ts +60 -0
- package/src/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -0
- package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
- package/src/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -0
- package/src/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -0
- package/src/domain/shopping/models/coupons/enums/index.d.ts +3 -0
- package/src/domain/shopping/models/coupons/index.d.ts +2 -0
- package/src/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -0
- package/src/domain/shopping/models/enums/index.d.ts +2 -0
- package/src/domain/shopping/models/enums/order-status.enum.d.ts +10 -0
- package/src/domain/shopping/models/index.d.ts +12 -0
- package/src/domain/shopping/models/line-item.d.ts +8 -0
- package/src/domain/shopping/models/order.d.ts +10 -0
- package/src/domain/shopping/models/payment.d.ts +67 -0
- package/src/domain/shopping/models/shipping-method.d.ts +17 -0
- package/src/domain/shopping/models/subscription/checkout.d.ts +20 -0
- package/src/domain/shopping/models/subscription/index.d.ts +2 -0
- package/src/domain/shopping/models/subscription/plan.d.ts +10 -0
- package/src/domain/shopping/models/types/index.d.ts +7 -0
- package/src/domain/shopping/models/types/payment-address.type.d.ts +12 -0
- package/src/domain/shopping/models/types/payment-billing.type.d.ts +7 -0
- package/src/domain/shopping/models/types/payment-card.type.d.ts +14 -0
- package/src/domain/shopping/models/types/payment-customer.type.d.ts +18 -0
- package/src/domain/shopping/models/types/payment-document.type.d.ts +6 -0
- package/src/domain/shopping/models/types/payment-item.type.d.ts +11 -0
- package/src/domain/shopping/models/types/payment-shipping.type.d.ts +10 -0
- package/src/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/checkout.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/coupon.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/index.d.ts +9 -0
- package/src/domain/shopping/repositories/legacy-order.repository.d.ts +3 -0
- package/src/domain/shopping/repositories/order.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/payment.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -0
- package/src/domain/shopping/repositories/subscription/index.d.ts +2 -0
- package/src/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -0
- package/src/domain/users/errors/index.d.ts +3 -0
- package/src/domain/users/errors/unauthorized.error.d.ts +4 -0
- package/src/domain/users/errors/user-already-registered.error.d.ts +4 -0
- package/src/domain/users/errors/weak-password.error.d.ts +4 -0
- package/src/domain/users/index.d.ts +5 -0
- package/src/domain/users/models/beauty-profile.d.ts +11 -0
- package/src/domain/users/models/enums/accessory-importances.enum.d.ts +5 -0
- package/src/domain/users/models/enums/area.enum.d.ts +11 -0
- package/src/domain/users/models/enums/beard-problems.enum.d.ts +9 -0
- package/src/domain/users/models/enums/beard-sizes.enum.d.ts +7 -0
- package/src/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -0
- package/src/domain/users/models/enums/body-problems.enum.d.ts +11 -0
- package/src/domain/users/models/enums/body-shapes.enum.d.ts +7 -0
- package/src/domain/users/models/enums/body-tattoos.enum.d.ts +5 -0
- package/src/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -0
- package/src/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -0
- package/src/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -0
- package/src/domain/users/models/enums/family-incomes.enum.d.ts +8 -0
- package/src/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -0
- package/src/domain/users/models/enums/hair-colors.enum.d.ts +10 -0
- package/src/domain/users/models/enums/hair-problems.enum.d.ts +10 -0
- package/src/domain/users/models/enums/hair-strands.enum.d.ts +8 -0
- package/src/domain/users/models/enums/hair-types.enum.d.ts +7 -0
- package/src/domain/users/models/enums/index.d.ts +20 -0
- package/src/domain/users/models/enums/office-position.enum.d.ts +6 -0
- package/src/domain/users/models/enums/product-spents.enum.d.ts +8 -0
- package/src/domain/users/models/enums/user-type.enum.d.ts +8 -0
- package/src/domain/users/models/index.d.ts +7 -0
- package/src/domain/users/models/lead.d.ts +8 -0
- package/src/domain/users/models/subscription/edition.d.ts +16 -0
- package/src/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -0
- package/src/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -0
- package/src/domain/users/models/subscription/enums/index.d.ts +4 -0
- package/src/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -0
- package/src/domain/users/models/subscription/enums/status.enum.d.ts +4 -0
- package/src/domain/users/models/subscription/index.d.ts +4 -0
- package/src/domain/users/models/subscription/payment.d.ts +13 -0
- package/src/domain/users/models/subscription/subscription.d.ts +28 -0
- package/src/domain/users/models/user-address.d.ts +6 -0
- package/src/domain/users/models/user-payment-method.d.ts +14 -0
- package/src/domain/users/models/user.d.ts +27 -0
- package/src/domain/users/repositories/beauty-profile.repository.d.ts +4 -0
- package/src/domain/users/repositories/edition.repository.d.ts +4 -0
- package/src/domain/users/repositories/index.d.ts +8 -0
- package/src/domain/users/repositories/lead.repository.d.ts +4 -0
- package/src/domain/users/repositories/subscription-payment.repository.d.ts +4 -0
- package/src/domain/users/repositories/subscription.repository.d.ts +4 -0
- package/src/domain/users/repositories/user-address.repository.d.ts +4 -0
- package/src/domain/users/repositories/user-payment-method.repository.d.ts +4 -0
- package/src/domain/users/repositories/user.repository.d.ts +6 -0
- package/src/domain/users/services/authentication.service.d.ts +12 -0
- package/src/domain/users/services/index.d.ts +3 -0
- package/src/domain/users/services/register.service.d.ts +7 -0
- package/src/domain/users/services/types/basic-user-data.type.d.ts +4 -0
- package/src/domain/users/services/types/index.d.ts +1 -0
- package/src/domain/users/use-cases/authentication.d.ts +21 -0
- package/src/domain/users/use-cases/index.d.ts +4 -0
- package/src/domain/users/use-cases/recovery-password.d.ts +6 -0
- package/src/domain/users/use-cases/register.d.ts +13 -0
- package/src/domain/users/use-cases/signout.d.ts +6 -0
- package/src/errors/duplicated-results.error.d.ts +4 -0
- package/src/errors/index.d.ts +4 -0
- package/src/errors/invalid-argument.error.d.ts +4 -0
- package/src/errors/not-found.error.d.ts +4 -0
- package/src/errors/required-argument.error.d.ts +6 -0
- package/src/index.d.ts +5 -0
- package/src/infra/elasticsearch/adapters/axios.adapter.d.ts +16 -0
- package/src/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +8 -0
- package/src/infra/elasticsearch/adapters/index.d.ts +2 -0
- package/src/infra/elasticsearch/index.d.ts +3 -0
- package/src/infra/elasticsearch/indexes/index.d.ts +1 -0
- package/src/infra/elasticsearch/indexes/products-index.d.ts +13 -0
- package/src/infra/elasticsearch/types/elastic-search-result.d.ts +9 -0
- package/src/infra/elasticsearch/types/index.d.ts +1 -0
- package/src/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -0
- package/src/infra/firebase/auth/index.d.ts +2 -0
- package/src/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -0
- package/src/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +5 -0
- package/src/infra/firebase/auth/types/index.d.ts +1 -0
- package/src/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -0
- package/src/infra/firebase/firestore/enums/index.d.ts +1 -0
- package/src/infra/firebase/firestore/index.d.ts +3 -0
- package/src/infra/firebase/firestore/mixins/index.d.ts +9 -0
- package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -0
- package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +5 -0
- package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -0
- package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -0
- package/src/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +13 -0
- package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -0
- package/src/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -0
- package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +11 -0
- package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +20 -0
- package/src/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -0
- package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/index.d.ts +4 -0
- package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -0
- package/src/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -0
- package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +8 -0
- package/src/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +8 -0
- package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +10 -0
- package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +6 -0
- package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +13 -0
- package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/users/index.d.ts +8 -0
- package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +7 -0
- package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -0
- package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +12 -0
- package/src/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +14 -0
- package/src/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -0
- package/src/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -0
- package/src/infra/firebase/firestore/types/firestore.repository.type.d.ts +16 -0
- package/src/infra/firebase/firestore/types/index.d.ts +4 -0
- package/src/infra/firebase/index.d.ts +2 -0
- package/src/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
- package/src/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +15 -0
- package/src/infra/hasura-graphql/enums/index.d.ts +2 -0
- package/src/infra/hasura-graphql/index.d.ts +4 -0
- package/src/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +19 -0
- package/src/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +10 -0
- package/src/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +8 -0
- package/src/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +12 -0
- package/src/infra/hasura-graphql/mixins/helpers/index.d.ts +4 -0
- package/src/infra/hasura-graphql/mixins/index.d.ts +7 -0
- package/src/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +9 -0
- package/src/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
- package/src/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
- package/src/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +34 -0
- package/src/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +25 -0
- package/src/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +23 -0
- package/src/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
- package/src/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
- package/src/infra/hasura-graphql/models/index.d.ts +4 -0
- package/src/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
- package/src/infra/hasura-graphql/models/product-hasura-graphql.d.ts +18 -0
- package/src/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +10 -0
- package/src/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +10 -0
- package/src/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +12 -0
- package/src/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +34 -0
- package/src/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -0
- package/src/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -0
- package/src/infra/hasura-graphql/repositories/catalog/index.d.ts +8 -0
- package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +30 -0
- package/src/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -0
- package/src/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +27 -0
- package/src/infra/hasura-graphql/repositories/index.d.ts +1 -0
- package/src/infra/hasura-graphql/types/fields.type.d.ts +2 -0
- package/src/infra/hasura-graphql/types/graphql.repository.type.d.ts +24 -0
- package/src/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
- package/src/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +44 -0
- package/src/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
- package/src/infra/hasura-graphql/types/index.d.ts +8 -0
- package/src/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
- package/src/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
- package/src/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
- package/src/infra/index.d.ts +3 -0
- package/src/utils/decorators/debug.class.decorator.d.ts +2 -0
- package/src/utils/decorators/index.d.ts +2 -0
- package/src/utils/decorators/trace.method.decorator.d.ts +14 -0
- package/src/utils/get.d.ts +1 -0
- package/src/utils/helpers/class-name.helper.d.ts +3 -0
- package/src/utils/helpers/debug-decorator.helper.d.ts +9 -0
- package/src/utils/helpers/debug.helper.d.ts +60 -0
- package/src/utils/helpers/index.d.ts +4 -0
- package/src/utils/helpers/reflect.helper.d.ts +50 -0
- package/src/utils/index.d.ts +13 -0
- package/src/utils/is-uuid.d.ts +1 -0
- package/src/utils/is.d.ts +1 -0
- package/src/utils/log.utils.d.ts +7 -0
- package/src/utils/mixins/base.mixin.d.ts +3 -0
- package/src/utils/mixins/index.d.ts +3 -0
- package/src/utils/mixins/merge-constructor-params.type.d.ts +3 -0
- package/src/utils/mixins/mixin-ctor.type.d.ts +1 -0
- package/src/utils/parse-datetime.d.ts +1 -0
- package/src/utils/types/array-element.type.d.ts +1 -0
- package/src/utils/types/index.d.ts +2 -0
- package/src/utils/types/prop.type.d.ts +1 -0
- package/teste2.d.ts +1 -0
- package/README.md +0 -24
- package/domain/catalog/helpers/index.d.ts +0 -1
- package/domain/catalog/helpers/round-product-price.helper.d.ts +0 -4
- package/domain/catalog/index.d.ts +0 -3
- package/domain/catalog/models/category-base.d.ts +0 -30
- package/domain/catalog/models/category-collection-children.d.ts +0 -13
- package/domain/catalog/models/category-filter.d.ts +0 -13
- package/domain/catalog/models/category-for-product.d.ts +0 -5
- package/domain/catalog/models/category.d.ts +0 -7
- package/domain/catalog/models/enums/index.d.ts +0 -2
- package/domain/catalog/models/enums/product-genders.enum.d.ts +0 -5
- package/domain/catalog/models/enums/shops.enum.d.ts +0 -6
- package/domain/catalog/models/filter-option.d.ts +0 -9
- package/domain/catalog/models/filter.d.ts +0 -12
- package/domain/catalog/models/index.d.ts +0 -11
- package/domain/catalog/models/kit-product.d.ts +0 -12
- package/domain/catalog/models/product-base.d.ts +0 -40
- package/domain/catalog/models/product-for-category.d.ts +0 -7
- package/domain/catalog/models/product-for-kit.d.ts +0 -7
- package/domain/catalog/models/product.d.ts +0 -9
- package/domain/catalog/models/types/category-condition.type.d.ts +0 -4
- package/domain/catalog/models/types/category-metadata.type.d.ts +0 -4
- package/domain/catalog/models/types/category-product.d.ts +0 -4
- package/domain/catalog/models/types/index.d.ts +0 -11
- package/domain/catalog/models/types/product-evaluation.type.d.ts +0 -6
- package/domain/catalog/models/types/product-gender.type.d.ts +0 -1
- package/domain/catalog/models/types/product-metadata.type.d.ts +0 -4
- package/domain/catalog/models/types/product-review.type.d.ts +0 -17
- package/domain/catalog/models/types/shop-description.type.d.ts +0 -8
- package/domain/catalog/models/types/shop-price.type.d.ts +0 -6
- package/domain/catalog/models/types/stock.type.d.ts +0 -3
- package/domain/catalog/models/types/variant-grade.type.d.ts +0 -4
- package/domain/catalog/models/variant.d.ts +0 -17
- package/domain/catalog/models/wishlist.d.ts +0 -8
- package/domain/catalog/repositories/category-collection-children.repository.d.ts +0 -4
- package/domain/catalog/repositories/category-filter.repository.d.ts +0 -6
- package/domain/catalog/repositories/category.repository.d.ts +0 -18
- package/domain/catalog/repositories/filter-option.repository.d.ts +0 -4
- package/domain/catalog/repositories/filter.repository.d.ts +0 -4
- package/domain/catalog/repositories/index.d.ts +0 -9
- package/domain/catalog/repositories/product.repository.d.ts +0 -15
- package/domain/catalog/repositories/subscription-product.repository.d.ts +0 -4
- package/domain/catalog/repositories/variant.repository.d.ts +0 -4
- package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
- package/domain/generic/index.d.ts +0 -2
- package/domain/generic/model/base.model.d.ts +0 -14
- package/domain/generic/model/identifier-fields.d.ts +0 -4
- package/domain/generic/model/index.d.ts +0 -3
- package/domain/generic/model/types/base-model-builder.type.d.ts +0 -17
- package/domain/generic/model/types/identifier-model.type.d.ts +0 -8
- package/domain/generic/model/types/index.d.ts +0 -5
- package/domain/generic/model/types/model-base-structure.type.d.ts +0 -12
- package/domain/generic/model/types/non-function-properties.type.d.ts +0 -12
- package/domain/generic/model/types/non-function-property-name.type.d.ts +0 -13
- package/domain/generic/repository/create.repository.d.ts +0 -8
- package/domain/generic/repository/crud.repository.d.ts +0 -19
- package/domain/generic/repository/delete.repository.d.ts +0 -7
- package/domain/generic/repository/enums/index.d.ts +0 -2
- package/domain/generic/repository/enums/update-option-actions.enum.d.ts +0 -7
- package/domain/generic/repository/enums/where.enum.d.ts +0 -14
- package/domain/generic/repository/find.repository.d.ts +0 -17
- package/domain/generic/repository/get.repository.d.ts +0 -5
- package/domain/generic/repository/index.d.ts +0 -9
- package/domain/generic/repository/read.repository.d.ts +0 -14
- package/domain/generic/repository/types/index.d.ts +0 -6
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +0 -13
- package/domain/generic/repository/types/repository-find-result.type.d.ts +0 -14
- package/domain/generic/repository/types/repository-limit-options.type.d.ts +0 -4
- package/domain/generic/repository/types/repository-order-by-list.type.d.ts +0 -5
- package/domain/generic/repository/types/repository-update-params.type.d.ts +0 -11
- package/domain/generic/repository/types/where-options.type.d.ts +0 -2
- package/domain/generic/repository/update.repository.d.ts +0 -6
- package/domain/index.d.ts +0 -6
- package/domain/location/index.d.ts +0 -1
- package/domain/location/models/address.d.ts +0 -24
- package/domain/location/models/index.d.ts +0 -2
- package/domain/location/models/types/index.d.ts +0 -3
- package/domain/location/models/types/location-bound.type.d.ts +0 -6
- package/domain/location/models/types/location-geometry.type.d.ts +0 -7
- package/domain/location/models/types/location-lat-lng.type.d.ts +0 -4
- package/domain/shop-settings/enums/filter-type.enum.d.ts +0 -19
- package/domain/shop-settings/enums/index.d.ts +0 -3
- package/domain/shop-settings/enums/questions-filters.enum.d.ts +0 -19
- package/domain/shop-settings/enums/shop-page-name.enum.d.ts +0 -19
- package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +0 -9
- package/domain/shop-settings/helpers/index.d.ts +0 -1
- package/domain/shop-settings/index.d.ts +0 -4
- package/domain/shop-settings/models/campaign-banner.d.ts +0 -11
- package/domain/shop-settings/models/campaign.d.ts +0 -10
- package/domain/shop-settings/models/home.d.ts +0 -18
- package/domain/shop-settings/models/index.d.ts +0 -6
- package/domain/shop-settings/models/shop-menu.d.ts +0 -7
- package/domain/shop-settings/models/shop-settings.d.ts +0 -13
- package/domain/shop-settings/models/types/banner.type.d.ts +0 -6
- package/domain/shop-settings/models/types/benefit.type.d.ts +0 -5
- package/domain/shop-settings/models/types/campaign-page.d.ts +0 -17
- package/domain/shop-settings/models/types/home-data.type.d.ts +0 -15
- package/domain/shop-settings/models/types/index.d.ts +0 -14
- package/domain/shop-settings/models/types/menu-nav.type.d.ts +0 -8
- package/domain/shop-settings/models/types/sections.type.d.ts +0 -31
- package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -13
- package/domain/shop-settings/models/types/shop-brands.type.d.ts +0 -10
- package/domain/shop-settings/models/types/shop-carousel.type.d.ts +0 -4
- package/domain/shop-settings/models/types/shop-collection.type.d.ts +0 -9
- package/domain/shop-settings/models/types/shop-gift.type.d.ts +0 -8
- package/domain/shop-settings/models/types/shop-home.d.ts +0 -12
- package/domain/shop-settings/models/types/shop-post.type.d.ts +0 -7
- package/domain/shop-settings/models/types/shop-section.type.d.ts +0 -12
- package/domain/shop-settings/models/types/sub-menu.type.d.ts +0 -8
- package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +0 -4
- package/domain/shop-settings/repositories/campaign.repository.d.ts +0 -4
- package/domain/shop-settings/repositories/home.repository.d.ts +0 -4
- package/domain/shop-settings/repositories/index.d.ts +0 -5
- package/domain/shop-settings/repositories/shop-menu.repository.d.ts +0 -4
- package/domain/shop-settings/repositories/shop-settings.repository.d.ts +0 -4
- package/domain/shopping/index.d.ts +0 -2
- package/domain/shopping/models/buy-2-win.d.ts +0 -18
- package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
- package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
- package/domain/shopping/models/checkout.d.ts +0 -26
- package/domain/shopping/models/coupons/coupon.d.ts +0 -60
- package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +0 -5
- package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +0 -4
- package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +0 -4
- package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -8
- package/domain/shopping/models/coupons/enums/index.d.ts +0 -3
- package/domain/shopping/models/coupons/index.d.ts +0 -2
- package/domain/shopping/models/enums/checkout-types.enum.d.ts +0 -5
- package/domain/shopping/models/enums/index.d.ts +0 -2
- package/domain/shopping/models/enums/order-status.enum.d.ts +0 -10
- package/domain/shopping/models/index.d.ts +0 -12
- package/domain/shopping/models/line-item.d.ts +0 -8
- package/domain/shopping/models/order.d.ts +0 -10
- package/domain/shopping/models/payment.d.ts +0 -67
- package/domain/shopping/models/shipping-method.d.ts +0 -17
- package/domain/shopping/models/subscription/checkout.d.ts +0 -20
- package/domain/shopping/models/subscription/index.d.ts +0 -2
- package/domain/shopping/models/subscription/plan.d.ts +0 -10
- package/domain/shopping/models/types/index.d.ts +0 -7
- package/domain/shopping/models/types/payment-address.type.d.ts +0 -12
- package/domain/shopping/models/types/payment-billing.type.d.ts +0 -7
- package/domain/shopping/models/types/payment-card.type.d.ts +0 -14
- package/domain/shopping/models/types/payment-customer.type.d.ts +0 -18
- package/domain/shopping/models/types/payment-document.type.d.ts +0 -6
- package/domain/shopping/models/types/payment-item.type.d.ts +0 -11
- package/domain/shopping/models/types/payment-shipping.type.d.ts +0 -10
- package/domain/shopping/repositories/buy-2-win.repository.d.ts +0 -4
- package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
- package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
- package/domain/shopping/repositories/checkout.repository.d.ts +0 -4
- package/domain/shopping/repositories/coupon.repository.d.ts +0 -4
- package/domain/shopping/repositories/index.d.ts +0 -9
- package/domain/shopping/repositories/legacy-order.repository.d.ts +0 -3
- package/domain/shopping/repositories/order.repository.d.ts +0 -4
- package/domain/shopping/repositories/payment.repository.d.ts +0 -4
- package/domain/shopping/repositories/subscription/checkout.repository.d.ts +0 -4
- package/domain/shopping/repositories/subscription/index.d.ts +0 -2
- package/domain/shopping/repositories/subscription/plan.repository.d.ts +0 -4
- package/domain/users/errors/index.d.ts +0 -3
- package/domain/users/errors/unauthorized.error.d.ts +0 -4
- package/domain/users/errors/user-already-registered.error.d.ts +0 -4
- package/domain/users/errors/weak-password.error.d.ts +0 -4
- package/domain/users/index.d.ts +0 -5
- package/domain/users/models/beauty-profile.d.ts +0 -11
- package/domain/users/models/enums/accessory-importances.enum.d.ts +0 -5
- package/domain/users/models/enums/area.enum.d.ts +0 -11
- package/domain/users/models/enums/beard-problems.enum.d.ts +0 -9
- package/domain/users/models/enums/beard-sizes.enum.d.ts +0 -7
- package/domain/users/models/enums/beauty-product-importances.enum.d.ts +0 -6
- package/domain/users/models/enums/body-problems.enum.d.ts +0 -11
- package/domain/users/models/enums/body-shapes.enum.d.ts +0 -7
- package/domain/users/models/enums/body-tattoos.enum.d.ts +0 -5
- package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -7
- package/domain/users/models/enums/face-skin-problems.enum.d.ts +0 -10
- package/domain/users/models/enums/face-skin-tones.enum.d.ts +0 -8
- package/domain/users/models/enums/family-incomes.enum.d.ts +0 -8
- package/domain/users/models/enums/fragrance-importances.enum.d.ts +0 -5
- package/domain/users/models/enums/hair-colors.enum.d.ts +0 -10
- package/domain/users/models/enums/hair-problems.enum.d.ts +0 -10
- package/domain/users/models/enums/hair-strands.enum.d.ts +0 -8
- package/domain/users/models/enums/hair-types.enum.d.ts +0 -7
- package/domain/users/models/enums/index.d.ts +0 -20
- package/domain/users/models/enums/office-position.enum.d.ts +0 -6
- package/domain/users/models/enums/product-spents.enum.d.ts +0 -8
- package/domain/users/models/enums/user-type.enum.d.ts +0 -8
- package/domain/users/models/index.d.ts +0 -7
- package/domain/users/models/lead.d.ts +0 -8
- package/domain/users/models/subscription/edition.d.ts +0 -16
- package/domain/users/models/subscription/enums/billing-status.enum.d.ts +0 -3
- package/domain/users/models/subscription/enums/edition-status.enum.d.ts +0 -4
- package/domain/users/models/subscription/enums/index.d.ts +0 -4
- package/domain/users/models/subscription/enums/payment-type.enum.d.ts +0 -5
- package/domain/users/models/subscription/enums/status.enum.d.ts +0 -4
- package/domain/users/models/subscription/index.d.ts +0 -4
- package/domain/users/models/subscription/payment.d.ts +0 -13
- package/domain/users/models/subscription/subscription.d.ts +0 -28
- package/domain/users/models/user-address.d.ts +0 -6
- package/domain/users/models/user-payment-method.d.ts +0 -14
- package/domain/users/models/user.d.ts +0 -27
- package/domain/users/repositories/beauty-profile.repository.d.ts +0 -4
- package/domain/users/repositories/edition.repository.d.ts +0 -4
- package/domain/users/repositories/index.d.ts +0 -8
- package/domain/users/repositories/lead.repository.d.ts +0 -4
- package/domain/users/repositories/subscription-payment.repository.d.ts +0 -4
- package/domain/users/repositories/subscription.repository.d.ts +0 -4
- package/domain/users/repositories/user-address.repository.d.ts +0 -4
- package/domain/users/repositories/user-payment-method.repository.d.ts +0 -4
- package/domain/users/repositories/user.repository.d.ts +0 -6
- package/domain/users/services/authentication.service.d.ts +0 -12
- package/domain/users/services/index.d.ts +0 -3
- package/domain/users/services/register.service.d.ts +0 -7
- package/domain/users/services/types/basic-user-data.type.d.ts +0 -4
- package/domain/users/services/types/index.d.ts +0 -1
- package/domain/users/use-cases/authentication.d.ts +0 -21
- package/domain/users/use-cases/index.d.ts +0 -4
- package/domain/users/use-cases/recovery-password.d.ts +0 -6
- package/domain/users/use-cases/register.d.ts +0 -13
- package/domain/users/use-cases/signout.d.ts +0 -6
- package/errors/duplicated-results.error.d.ts +0 -4
- package/errors/index.d.ts +0 -4
- package/errors/invalid-argument.error.d.ts +0 -4
- package/errors/not-found.error.d.ts +0 -4
- package/errors/required-argument.error.d.ts +0 -6
- package/esm2022/domain/catalog/helpers/index.mjs +0 -2
- package/esm2022/domain/catalog/helpers/round-product-price.helper.mjs +0 -15
- package/esm2022/domain/catalog/index.mjs +0 -4
- package/esm2022/domain/catalog/models/category-base.mjs +0 -18
- package/esm2022/domain/catalog/models/category-collection-children.mjs +0 -13
- package/esm2022/domain/catalog/models/category-filter.mjs +0 -19
- package/esm2022/domain/catalog/models/category-for-product.mjs +0 -7
- package/esm2022/domain/catalog/models/category.mjs +0 -14
- package/esm2022/domain/catalog/models/enums/index.mjs +0 -3
- package/esm2022/domain/catalog/models/enums/product-genders.enum.mjs +0 -7
- package/esm2022/domain/catalog/models/enums/shops.enum.mjs +0 -8
- package/esm2022/domain/catalog/models/filter-option.mjs +0 -7
- package/esm2022/domain/catalog/models/filter.mjs +0 -7
- package/esm2022/domain/catalog/models/index.mjs +0 -12
- package/esm2022/domain/catalog/models/kit-product.mjs +0 -18
- package/esm2022/domain/catalog/models/product-base.mjs +0 -25
- package/esm2022/domain/catalog/models/product-for-category.mjs +0 -14
- package/esm2022/domain/catalog/models/product-for-kit.mjs +0 -14
- package/esm2022/domain/catalog/models/product.mjs +0 -19
- package/esm2022/domain/catalog/models/types/category-condition.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/category-metadata.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/category-product.mjs +0 -2
- package/esm2022/domain/catalog/models/types/index.mjs +0 -12
- package/esm2022/domain/catalog/models/types/product-evaluation.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/product-gender.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/product-metadata.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/product-review.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/shop-description.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/shop-price.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/stock.type.mjs +0 -2
- package/esm2022/domain/catalog/models/types/variant-grade.type.mjs +0 -2
- package/esm2022/domain/catalog/models/variant.mjs +0 -7
- package/esm2022/domain/catalog/models/wishlist.mjs +0 -7
- package/esm2022/domain/catalog/repositories/category-collection-children.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/category-filter.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/category.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/filter-option.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/filter.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/index.mjs +0 -10
- package/esm2022/domain/catalog/repositories/product.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/subscription-product.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/variant.repository.mjs +0 -2
- package/esm2022/domain/catalog/repositories/wishlist.repository.mjs +0 -2
- package/esm2022/domain/generic/index.mjs +0 -3
- package/esm2022/domain/generic/model/base.model.mjs +0 -24
- package/esm2022/domain/generic/model/identifier-fields.mjs +0 -2
- package/esm2022/domain/generic/model/index.mjs +0 -4
- package/esm2022/domain/generic/model/types/base-model-builder.type.mjs +0 -2
- package/esm2022/domain/generic/model/types/identifier-model.type.mjs +0 -2
- package/esm2022/domain/generic/model/types/index.mjs +0 -6
- package/esm2022/domain/generic/model/types/model-base-structure.type.mjs +0 -2
- package/esm2022/domain/generic/model/types/non-function-properties.type.mjs +0 -2
- package/esm2022/domain/generic/model/types/non-function-property-name.type.mjs +0 -2
- package/esm2022/domain/generic/repository/create.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/crud.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/delete.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/enums/index.mjs +0 -3
- package/esm2022/domain/generic/repository/enums/update-option-actions.enum.mjs +0 -9
- package/esm2022/domain/generic/repository/enums/where.enum.mjs +0 -16
- package/esm2022/domain/generic/repository/find.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/get.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/index.mjs +0 -10
- package/esm2022/domain/generic/repository/read.repository.mjs +0 -2
- package/esm2022/domain/generic/repository/types/index.mjs +0 -7
- package/esm2022/domain/generic/repository/types/repository-find-filters.type.mjs +0 -2
- package/esm2022/domain/generic/repository/types/repository-find-result.type.mjs +0 -2
- package/esm2022/domain/generic/repository/types/repository-limit-options.type.mjs +0 -2
- package/esm2022/domain/generic/repository/types/repository-order-by-list.type.mjs +0 -2
- package/esm2022/domain/generic/repository/types/repository-update-params.type.mjs +0 -2
- package/esm2022/domain/generic/repository/types/where-options.type.mjs +0 -2
- package/esm2022/domain/generic/repository/update.repository.mjs +0 -2
- package/esm2022/domain/index.mjs +0 -7
- package/esm2022/domain/location/index.mjs +0 -2
- package/esm2022/domain/location/models/address.mjs +0 -7
- package/esm2022/domain/location/models/index.mjs +0 -3
- package/esm2022/domain/location/models/types/index.mjs +0 -4
- package/esm2022/domain/location/models/types/location-bound.type.mjs +0 -2
- package/esm2022/domain/location/models/types/location-geometry.type.mjs +0 -2
- package/esm2022/domain/location/models/types/location-lat-lng.type.mjs +0 -2
- package/esm2022/domain/shop-settings/enums/filter-type.enum.mjs +0 -21
- package/esm2022/domain/shop-settings/enums/index.mjs +0 -4
- package/esm2022/domain/shop-settings/enums/questions-filters.enum.mjs +0 -21
- package/esm2022/domain/shop-settings/enums/shop-page-name.enum.mjs +0 -21
- package/esm2022/domain/shop-settings/helpers/beauty-questions.helper.mjs +0 -47
- package/esm2022/domain/shop-settings/helpers/index.mjs +0 -2
- package/esm2022/domain/shop-settings/index.mjs +0 -5
- package/esm2022/domain/shop-settings/models/campaign-banner.mjs +0 -7
- package/esm2022/domain/shop-settings/models/campaign.mjs +0 -7
- package/esm2022/domain/shop-settings/models/home.mjs +0 -7
- package/esm2022/domain/shop-settings/models/index.mjs +0 -7
- package/esm2022/domain/shop-settings/models/shop-menu.mjs +0 -7
- package/esm2022/domain/shop-settings/models/shop-settings.mjs +0 -7
- package/esm2022/domain/shop-settings/models/types/banner.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/benefit.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/campaign-page.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/home-data.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/index.mjs +0 -15
- package/esm2022/domain/shop-settings/models/types/menu-nav.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/sections.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-banner.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-brands.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-carousel.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-collection.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-gift.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-home.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-post.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/shop-section.type.mjs +0 -2
- package/esm2022/domain/shop-settings/models/types/sub-menu.type.mjs +0 -2
- package/esm2022/domain/shop-settings/repositories/campaign-banner.repository.mjs +0 -2
- package/esm2022/domain/shop-settings/repositories/campaign.repository.mjs +0 -2
- package/esm2022/domain/shop-settings/repositories/home.repository.mjs +0 -2
- package/esm2022/domain/shop-settings/repositories/index.mjs +0 -6
- package/esm2022/domain/shop-settings/repositories/shop-menu.repository.mjs +0 -2
- package/esm2022/domain/shop-settings/repositories/shop-settings.repository.mjs +0 -2
- package/esm2022/domain/shopping/index.mjs +0 -3
- package/esm2022/domain/shopping/models/buy-2-win.mjs +0 -14
- package/esm2022/domain/shopping/models/campaign-dashboard.mjs +0 -7
- package/esm2022/domain/shopping/models/campaign-hashtag.mjs +0 -7
- package/esm2022/domain/shopping/models/checkout.mjs +0 -37
- package/esm2022/domain/shopping/models/coupons/coupon.mjs +0 -38
- package/esm2022/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs +0 -7
- package/esm2022/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs +0 -6
- package/esm2022/domain/shopping/models/coupons/enums/coupon-types.enum.mjs +0 -10
- package/esm2022/domain/shopping/models/coupons/enums/exclusivities.enum.mjs +0 -10
- package/esm2022/domain/shopping/models/coupons/enums/index.mjs +0 -4
- package/esm2022/domain/shopping/models/coupons/index.mjs +0 -3
- package/esm2022/domain/shopping/models/enums/checkout-types.enum.mjs +0 -7
- package/esm2022/domain/shopping/models/enums/index.mjs +0 -3
- package/esm2022/domain/shopping/models/enums/order-status.enum.mjs +0 -12
- package/esm2022/domain/shopping/models/index.mjs +0 -13
- package/esm2022/domain/shopping/models/line-item.mjs +0 -4
- package/esm2022/domain/shopping/models/order.mjs +0 -11
- package/esm2022/domain/shopping/models/payment.mjs +0 -169
- package/esm2022/domain/shopping/models/shipping-method.mjs +0 -7
- package/esm2022/domain/shopping/models/subscription/checkout.mjs +0 -28
- package/esm2022/domain/shopping/models/subscription/index.mjs +0 -3
- package/esm2022/domain/shopping/models/subscription/plan.mjs +0 -7
- package/esm2022/domain/shopping/models/types/index.mjs +0 -8
- package/esm2022/domain/shopping/models/types/payment-address.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-billing.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-card.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-customer.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-document.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-item.type.mjs +0 -2
- package/esm2022/domain/shopping/models/types/payment-shipping.type.mjs +0 -2
- package/esm2022/domain/shopping/repositories/buy-2-win.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/campaign-dashboard.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/campaign-hashtag.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/checkout.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/coupon.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/index.mjs +0 -10
- package/esm2022/domain/shopping/repositories/legacy-order.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/order.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/payment.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/subscription/checkout.repository.mjs +0 -2
- package/esm2022/domain/shopping/repositories/subscription/index.mjs +0 -3
- package/esm2022/domain/shopping/repositories/subscription/plan.repository.mjs +0 -2
- package/esm2022/domain/users/errors/index.mjs +0 -4
- package/esm2022/domain/users/errors/unauthorized.error.mjs +0 -7
- package/esm2022/domain/users/errors/user-already-registered.error.mjs +0 -7
- package/esm2022/domain/users/errors/weak-password.error.mjs +0 -7
- package/esm2022/domain/users/index.mjs +0 -6
- package/esm2022/domain/users/models/beauty-profile.mjs +0 -12
- package/esm2022/domain/users/models/enums/accessory-importances.enum.mjs +0 -7
- package/esm2022/domain/users/models/enums/area.enum.mjs +0 -13
- package/esm2022/domain/users/models/enums/beard-problems.enum.mjs +0 -11
- package/esm2022/domain/users/models/enums/beard-sizes.enum.mjs +0 -9
- package/esm2022/domain/users/models/enums/beauty-product-importances.enum.mjs +0 -8
- package/esm2022/domain/users/models/enums/body-problems.enum.mjs +0 -13
- package/esm2022/domain/users/models/enums/body-shapes.enum.mjs +0 -9
- package/esm2022/domain/users/models/enums/body-tattoos.enum.mjs +0 -7
- package/esm2022/domain/users/models/enums/face-skin-oilinesses.enum.mjs +0 -9
- package/esm2022/domain/users/models/enums/face-skin-problems.enum.mjs +0 -12
- package/esm2022/domain/users/models/enums/face-skin-tones.enum.mjs +0 -10
- package/esm2022/domain/users/models/enums/family-incomes.enum.mjs +0 -10
- package/esm2022/domain/users/models/enums/fragrance-importances.enum.mjs +0 -7
- package/esm2022/domain/users/models/enums/hair-colors.enum.mjs +0 -12
- package/esm2022/domain/users/models/enums/hair-problems.enum.mjs +0 -12
- package/esm2022/domain/users/models/enums/hair-strands.enum.mjs +0 -10
- package/esm2022/domain/users/models/enums/hair-types.enum.mjs +0 -9
- package/esm2022/domain/users/models/enums/index.mjs +0 -21
- package/esm2022/domain/users/models/enums/office-position.enum.mjs +0 -8
- package/esm2022/domain/users/models/enums/product-spents.enum.mjs +0 -10
- package/esm2022/domain/users/models/enums/user-type.enum.mjs +0 -10
- package/esm2022/domain/users/models/index.mjs +0 -8
- package/esm2022/domain/users/models/lead.mjs +0 -7
- package/esm2022/domain/users/models/subscription/edition.mjs +0 -7
- package/esm2022/domain/users/models/subscription/enums/billing-status.enum.mjs +0 -5
- package/esm2022/domain/users/models/subscription/enums/edition-status.enum.mjs +0 -6
- package/esm2022/domain/users/models/subscription/enums/index.mjs +0 -5
- package/esm2022/domain/users/models/subscription/enums/payment-type.enum.mjs +0 -7
- package/esm2022/domain/users/models/subscription/enums/status.enum.mjs +0 -6
- package/esm2022/domain/users/models/subscription/index.mjs +0 -5
- package/esm2022/domain/users/models/subscription/payment.mjs +0 -14
- package/esm2022/domain/users/models/subscription/subscription.mjs +0 -43
- package/esm2022/domain/users/models/user-address.mjs +0 -7
- package/esm2022/domain/users/models/user-payment-method.mjs +0 -7
- package/esm2022/domain/users/models/user.mjs +0 -26
- package/esm2022/domain/users/repositories/beauty-profile.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/edition.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/index.mjs +0 -9
- package/esm2022/domain/users/repositories/lead.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/subscription-payment.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/subscription.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/user-address.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/user-payment-method.repository.mjs +0 -2
- package/esm2022/domain/users/repositories/user.repository.mjs +0 -2
- package/esm2022/domain/users/services/authentication.service.mjs +0 -2
- package/esm2022/domain/users/services/index.mjs +0 -4
- package/esm2022/domain/users/services/register.service.mjs +0 -2
- package/esm2022/domain/users/services/types/basic-user-data.type.mjs +0 -2
- package/esm2022/domain/users/services/types/index.mjs +0 -2
- package/esm2022/domain/users/use-cases/authentication.mjs +0 -43
- package/esm2022/domain/users/use-cases/index.mjs +0 -5
- package/esm2022/domain/users/use-cases/recovery-password.mjs +0 -9
- package/esm2022/domain/users/use-cases/register.mjs +0 -38
- package/esm2022/domain/users/use-cases/signout.mjs +0 -9
- package/esm2022/errors/duplicated-results.error.mjs +0 -7
- package/esm2022/errors/index.mjs +0 -5
- package/esm2022/errors/invalid-argument.error.mjs +0 -7
- package/esm2022/errors/not-found.error.mjs +0 -7
- package/esm2022/errors/required-argument.error.mjs +0 -9
- package/esm2022/index.mjs +0 -6
- package/esm2022/infra/elasticsearch/adapters/axios.adapter.mjs +0 -67
- package/esm2022/infra/elasticsearch/adapters/elastic-search.adapter.mjs +0 -2
- package/esm2022/infra/elasticsearch/adapters/index.mjs +0 -3
- package/esm2022/infra/elasticsearch/index.mjs +0 -4
- package/esm2022/infra/elasticsearch/indexes/index.mjs +0 -2
- package/esm2022/infra/elasticsearch/indexes/products-index.mjs +0 -104
- package/esm2022/infra/elasticsearch/types/elastic-search-result.mjs +0 -2
- package/esm2022/infra/elasticsearch/types/index.mjs +0 -2
- package/esm2022/infra/firebase/auth/authentication-firebase-auth.service.mjs +0 -41
- package/esm2022/infra/firebase/auth/index.mjs +0 -3
- package/esm2022/infra/firebase/auth/register-firebase-auth.service.mjs +0 -33
- package/esm2022/infra/firebase/auth/types/firebase-user-with-id.type.mjs +0 -2
- package/esm2022/infra/firebase/firestore/enums/firestore-field-type.enum.mjs +0 -10
- package/esm2022/infra/firebase/firestore/enums/index.mjs +0 -2
- package/esm2022/infra/firebase/firestore/index.mjs +0 -4
- package/esm2022/infra/firebase/firestore/mixins/index.mjs +0 -10
- package/esm2022/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +0 -31
- package/esm2022/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +0 -10
- package/esm2022/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +0 -18
- package/esm2022/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +0 -110
- package/esm2022/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +0 -80
- package/esm2022/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +0 -23
- package/esm2022/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +0 -17
- package/esm2022/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +0 -13
- package/esm2022/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +0 -51
- package/esm2022/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +0 -67
- package/esm2022/infra/firebase/firestore/repositories/catalog/index.mjs +0 -5
- package/esm2022/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +0 -54
- package/esm2022/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/index.mjs +0 -5
- package/esm2022/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +0 -60
- package/esm2022/infra/firebase/firestore/repositories/shop-settings/index.mjs +0 -4
- package/esm2022/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +0 -31
- package/esm2022/infra/firebase/firestore/repositories/shopping/index.mjs +0 -11
- package/esm2022/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +0 -11
- package/esm2022/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +0 -40
- package/esm2022/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/users/index.mjs +0 -9
- package/esm2022/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +0 -14
- package/esm2022/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +0 -50
- package/esm2022/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +0 -16
- package/esm2022/infra/firebase/firestore/types/firestore-interceptors.type.mjs +0 -2
- package/esm2022/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +0 -2
- package/esm2022/infra/firebase/firestore/types/firestore.helpers.type.mjs +0 -2
- package/esm2022/infra/firebase/firestore/types/firestore.repository.type.mjs +0 -2
- package/esm2022/infra/firebase/firestore/types/index.mjs +0 -5
- package/esm2022/infra/firebase/index.mjs +0 -3
- package/esm2022/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs +0 -13
- package/esm2022/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs +0 -17
- package/esm2022/infra/hasura-graphql/enums/index.mjs +0 -3
- package/esm2022/infra/hasura-graphql/index.mjs +0 -5
- package/esm2022/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +0 -35
- package/esm2022/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +0 -71
- package/esm2022/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +0 -22
- package/esm2022/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +0 -125
- package/esm2022/infra/hasura-graphql/mixins/helpers/index.mjs +0 -5
- package/esm2022/infra/hasura-graphql/mixins/index.mjs +0 -8
- package/esm2022/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +0 -39
- package/esm2022/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +0 -10
- package/esm2022/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +0 -31
- package/esm2022/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +0 -152
- package/esm2022/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +0 -37
- package/esm2022/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +0 -108
- package/esm2022/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +0 -62
- package/esm2022/infra/hasura-graphql/models/category-hasura-graphql.mjs +0 -4
- package/esm2022/infra/hasura-graphql/models/index.mjs +0 -5
- package/esm2022/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs +0 -15
- package/esm2022/infra/hasura-graphql/models/product-hasura-graphql.mjs +0 -11
- package/esm2022/infra/hasura-graphql/models/variant-hasura-graphql.mjs +0 -9
- package/esm2022/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +0 -39
- package/esm2022/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +0 -107
- package/esm2022/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +0 -338
- package/esm2022/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +0 -105
- package/esm2022/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +0 -22
- package/esm2022/infra/hasura-graphql/repositories/catalog/index.mjs +0 -9
- package/esm2022/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +0 -516
- package/esm2022/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +0 -114
- package/esm2022/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.mjs +0 -238
- package/esm2022/infra/hasura-graphql/repositories/index.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/fields.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/graphql.repository.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/index.mjs +0 -9
- package/esm2022/infra/hasura-graphql/types/nested-field.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/query-builder-options.type.mjs +0 -2
- package/esm2022/infra/hasura-graphql/types/variable-options.type.mjs +0 -2
- package/esm2022/infra/index.mjs +0 -4
- package/esm2022/infrab4a-connect.mjs +0 -5
- package/esm2022/utils/decorators/debug.class.decorator.mjs +0 -7
- package/esm2022/utils/decorators/index.mjs +0 -3
- package/esm2022/utils/decorators/trace.method.decorator.mjs +0 -81
- package/esm2022/utils/get.mjs +0 -3
- package/esm2022/utils/helpers/class-name.helper.mjs +0 -15
- package/esm2022/utils/helpers/debug-decorator.helper.mjs +0 -18
- package/esm2022/utils/helpers/debug.helper.mjs +0 -150
- package/esm2022/utils/helpers/index.mjs +0 -5
- package/esm2022/utils/helpers/reflect.helper.mjs +0 -165
- package/esm2022/utils/index.mjs +0 -13
- package/esm2022/utils/is-uuid.mjs +0 -3
- package/esm2022/utils/is.mjs +0 -4
- package/esm2022/utils/log.utils.mjs +0 -9
- package/esm2022/utils/mixins/base.mixin.mjs +0 -6
- package/esm2022/utils/mixins/index.mjs +0 -4
- package/esm2022/utils/mixins/merge-constructor-params.type.mjs +0 -2
- package/esm2022/utils/mixins/mixin-ctor.type.mjs +0 -2
- package/esm2022/utils/parse-datetime.mjs +0 -14
- package/esm2022/utils/types/array-element.type.mjs +0 -2
- package/esm2022/utils/types/index.mjs +0 -3
- package/esm2022/utils/types/prop.type.mjs +0 -2
- package/fesm2022/infrab4a-connect.mjs +0 -4890
- package/fesm2022/infrab4a-connect.mjs.map +0 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +0 -16
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +0 -8
- package/infra/elasticsearch/adapters/index.d.ts +0 -2
- package/infra/elasticsearch/index.d.ts +0 -3
- package/infra/elasticsearch/indexes/index.d.ts +0 -1
- package/infra/elasticsearch/indexes/products-index.d.ts +0 -13
- package/infra/elasticsearch/types/elastic-search-result.d.ts +0 -9
- package/infra/elasticsearch/types/index.d.ts +0 -1
- package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +0 -12
- package/infra/firebase/auth/index.d.ts +0 -2
- package/infra/firebase/auth/register-firebase-auth.service.d.ts +0 -8
- package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +0 -5
- package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +0 -8
- package/infra/firebase/firestore/enums/index.d.ts +0 -1
- package/infra/firebase/firestore/index.d.ts +0 -3
- package/infra/firebase/firestore/mixins/index.d.ts +0 -9
- package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +0 -4
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +0 -5
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +0 -4
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +0 -4
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +0 -13
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +0 -4
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +0 -11
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +0 -11
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +0 -7
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +0 -20
- package/infra/firebase/firestore/repositories/catalog/index.d.ts +0 -4
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/index.d.ts +0 -4
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +0 -16
- package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -3
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +0 -8
- package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +0 -8
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/shopping/index.d.ts +0 -10
- package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -6
- package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +0 -13
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/users/index.d.ts +0 -8
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +0 -7
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +0 -17
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +0 -12
- package/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +0 -14
- package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +0 -6
- package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +0 -8
- package/infra/firebase/firestore/types/firestore.repository.type.d.ts +0 -16
- package/infra/firebase/firestore/types/index.d.ts +0 -4
- package/infra/firebase/index.d.ts +0 -2
- package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +0 -11
- package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +0 -15
- package/infra/hasura-graphql/enums/index.d.ts +0 -2
- package/infra/hasura-graphql/index.d.ts +0 -4
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +0 -19
- package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +0 -10
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +0 -8
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +0 -12
- package/infra/hasura-graphql/mixins/helpers/index.d.ts +0 -4
- package/infra/hasura-graphql/mixins/index.d.ts +0 -7
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +0 -9
- package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +0 -11
- package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +0 -7
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +0 -34
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +0 -25
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +0 -23
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +0 -14
- package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +0 -6
- package/infra/hasura-graphql/models/index.d.ts +0 -4
- package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +0 -6
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +0 -18
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +0 -10
- package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +0 -10
- package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -12
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +0 -34
- package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +0 -18
- package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +0 -10
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -8
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +0 -30
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +0 -14
- package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +0 -27
- package/infra/hasura-graphql/repositories/index.d.ts +0 -1
- package/infra/hasura-graphql/types/fields.type.d.ts +0 -2
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +0 -24
- package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +0 -8
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +0 -44
- package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +0 -7
- package/infra/hasura-graphql/types/index.d.ts +0 -8
- package/infra/hasura-graphql/types/nested-field.type.d.ts +0 -7
- package/infra/hasura-graphql/types/query-builder-options.type.d.ts +0 -7
- package/infra/hasura-graphql/types/variable-options.type.d.ts +0 -9
- package/infra/index.d.ts +0 -3
- package/utils/decorators/debug.class.decorator.d.ts +0 -2
- package/utils/decorators/index.d.ts +0 -2
- package/utils/decorators/trace.method.decorator.d.ts +0 -14
- package/utils/get.d.ts +0 -1
- package/utils/helpers/class-name.helper.d.ts +0 -3
- package/utils/helpers/debug-decorator.helper.d.ts +0 -9
- package/utils/helpers/debug.helper.d.ts +0 -60
- package/utils/helpers/index.d.ts +0 -4
- package/utils/helpers/reflect.helper.d.ts +0 -50
- package/utils/index.d.ts +0 -13
- package/utils/is-uuid.d.ts +0 -1
- package/utils/is.d.ts +0 -1
- package/utils/log.utils.d.ts +0 -7
- package/utils/mixins/base.mixin.d.ts +0 -3
- package/utils/mixins/index.d.ts +0 -3
- package/utils/mixins/merge-constructor-params.type.d.ts +0 -3
- package/utils/mixins/mixin-ctor.type.d.ts +0 -1
- package/utils/parse-datetime.d.ts +0 -1
- package/utils/types/array-element.type.d.ts +0 -1
- package/utils/types/index.d.ts +0 -2
- package/utils/types/prop.type.d.ts +0 -1
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { BaseModel, } from '../../../../domain';
|
|
2
|
-
import { is, isDate, isEmpty, isNil, isObject, isString, parseDateTime } from '../../../../utils';
|
|
3
|
-
import { AttributeOptionHelper } from './attribute-option.helper';
|
|
4
|
-
import { BindFilterQueryHelper } from './bind-filter-query.helper';
|
|
5
|
-
export class GraphQLFieldHelper {
|
|
6
|
-
static { this.CheckIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation; }
|
|
7
|
-
static { this.ConvertModelFieldsToGraphQLFields = (fields) => {
|
|
8
|
-
return fields
|
|
9
|
-
?.map((field) => {
|
|
10
|
-
if (isString(field))
|
|
11
|
-
return field.toString();
|
|
12
|
-
if (field === 'affected_rows')
|
|
13
|
-
return field;
|
|
14
|
-
const fieldName = Object.keys(field).shift();
|
|
15
|
-
const fieldValue = is(field[fieldName]);
|
|
16
|
-
if (Array.isArray(fieldValue))
|
|
17
|
-
return { [fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue) };
|
|
18
|
-
if (!AttributeOptionHelper.CheckIsColumnOption(fieldValue))
|
|
19
|
-
return;
|
|
20
|
-
const isNestedField = !!fieldValue.fields;
|
|
21
|
-
if (isNestedField)
|
|
22
|
-
return GraphQLFieldHelper.ConvertNestedFieldsToGraphQLFields(fieldName, fieldValue);
|
|
23
|
-
return fieldValue.columnName;
|
|
24
|
-
})
|
|
25
|
-
.filter((field) => !!field);
|
|
26
|
-
}; }
|
|
27
|
-
static { this.ConvertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
|
|
28
|
-
const { attributeName, fields: attributeFields, from, } = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields);
|
|
29
|
-
if (!!attributeFields && Array.isArray(attributeFields)) {
|
|
30
|
-
if (Array.isArray(data[columnName]))
|
|
31
|
-
return {
|
|
32
|
-
...result,
|
|
33
|
-
[attributeName]: from
|
|
34
|
-
? from(data[columnName], data)
|
|
35
|
-
: is(data[columnName]).map((value) => GraphQLFieldHelper.ConvertFieldValueFrom(is(value), attributeFields)),
|
|
36
|
-
};
|
|
37
|
-
if (isObject(data[columnName]))
|
|
38
|
-
return {
|
|
39
|
-
...result,
|
|
40
|
-
[attributeName]: !!from
|
|
41
|
-
? from(data[columnName])
|
|
42
|
-
: GraphQLFieldHelper.ConvertFieldValueFrom(is(data[columnName]), attributeFields),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
if (!!from)
|
|
46
|
-
return { ...result, [attributeName]: from(data[columnName], data) };
|
|
47
|
-
return {
|
|
48
|
-
...result,
|
|
49
|
-
[attributeName]: isString(data[columnName]) ? parseDateTime(data[columnName].toString()) : data[columnName],
|
|
50
|
-
};
|
|
51
|
-
}, {}); }
|
|
52
|
-
static { this.ConvertFieldValueTo = (instance, fields, update = false) => {
|
|
53
|
-
const data = instance.toPlain?.() || instance;
|
|
54
|
-
return Object.keys(data).reduce((result, attributeName) => {
|
|
55
|
-
const { columnName, fields: attributeFields, foreignKeyColumn, to, bindPersistData, } = AttributeOptionHelper.FindByAttribute(attributeName, fields);
|
|
56
|
-
if (bindPersistData)
|
|
57
|
-
return {
|
|
58
|
-
...result,
|
|
59
|
-
...bindPersistData(data[attributeName], instance),
|
|
60
|
-
};
|
|
61
|
-
if (isNil(columnName))
|
|
62
|
-
return result;
|
|
63
|
-
if (!!foreignKeyColumn &&
|
|
64
|
-
!isEmpty(foreignKeyColumn) &&
|
|
65
|
-
!Object.keys(foreignKeyColumn).filter((key) => !is(data[attributeName])?.[key]).length)
|
|
66
|
-
return Object.keys(foreignKeyColumn).reduce((object, current) => {
|
|
67
|
-
const { columnName: foreignColumnName } = AttributeOptionHelper.FindByAttribute(foreignKeyColumn[current], fields);
|
|
68
|
-
return {
|
|
69
|
-
...object,
|
|
70
|
-
[foreignColumnName]: data[attributeName]?.[current],
|
|
71
|
-
};
|
|
72
|
-
}, { ...result });
|
|
73
|
-
if (update &&
|
|
74
|
-
isObject(data[attributeName]) &&
|
|
75
|
-
!isNil(attributeFields) &&
|
|
76
|
-
!isDate(data[attributeName]))
|
|
77
|
-
return result;
|
|
78
|
-
if (!!columnName &&
|
|
79
|
-
Array.isArray(attributeFields) &&
|
|
80
|
-
isObject(data[attributeName])) {
|
|
81
|
-
const converted = !isNil(columnName) && to
|
|
82
|
-
? to(instance[attributeName], instance)
|
|
83
|
-
: data[attributeName];
|
|
84
|
-
return {
|
|
85
|
-
...result,
|
|
86
|
-
...(converted !== undefined
|
|
87
|
-
? {
|
|
88
|
-
[columnName]: {
|
|
89
|
-
data: instance[attributeName] instanceof BaseModel
|
|
90
|
-
? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
|
|
91
|
-
: converted,
|
|
92
|
-
},
|
|
93
|
-
}
|
|
94
|
-
: {}),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
if (!!to)
|
|
98
|
-
return {
|
|
99
|
-
...result,
|
|
100
|
-
[columnName]: to(instance[attributeName], instance),
|
|
101
|
-
};
|
|
102
|
-
return { ...result, [columnName]: data[attributeName] };
|
|
103
|
-
}, {});
|
|
104
|
-
}; }
|
|
105
|
-
static { this.ConvertNestedFieldsToGraphQLFields = (fieldName, fieldValue) => {
|
|
106
|
-
const hasCustomFilters = !!fieldValue.filters;
|
|
107
|
-
if (hasCustomFilters)
|
|
108
|
-
return {
|
|
109
|
-
operation: fieldValue.columnName || fieldName,
|
|
110
|
-
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
|
|
111
|
-
variables: {
|
|
112
|
-
[`${fieldValue.columnName}_where`]: {
|
|
113
|
-
name: 'where',
|
|
114
|
-
type: fieldValue.filters.filterType,
|
|
115
|
-
value: BindFilterQueryHelper.MakeGraphQLWhere(fieldValue.filters.filters, fieldValue.fields),
|
|
116
|
-
required: true,
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
return {
|
|
121
|
-
[fieldValue.columnName || fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
|
|
122
|
-
};
|
|
123
|
-
}; }
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxHQUtWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWpHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRWxFLE1BQU0sT0FBTyxrQkFBa0I7YUFDdEIseUJBQW9CLEdBQUcsQ0FDNUIsTUFBb0QsRUFDbEIsRUFBRSxDQUNwQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO2FBRXBGLHNDQUFpQyxHQUFHLENBQ3pDLE1BQWtDLEVBQzFCLEVBQUU7UUFDVixPQUFPLE1BQU07WUFDWCxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLElBQUksS0FBSyxLQUFLLGVBQWU7Z0JBQUUsT0FBTyxLQUFLLENBQUE7WUFFM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFL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QUFDO1NBQzlHLENBQUE7SUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXIvYnVpbGQvSVF1ZXJ5QnVpbGRlck9wdGlvbnMnXG5pbXBvcnQge1xuICBCYXNlTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllc1dpdGhOb1BhcnRpYWwsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIFBhcnRpYWxJZGVudGlmaWVyc01vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpcywgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vYXR0cmlidXRlLW9wdGlvbi5oZWxwZXInXG5pbXBvcnQgeyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIgfSBmcm9tICcuL2JpbmQtZmlsdGVyLXF1ZXJ5LmhlbHBlcidcblxuZXhwb3J0IGNsYXNzIEdyYXBoUUxGaWVsZEhlbHBlciB7XG4gIHN0YXRpYyBDaGVja0lzR3JhcGhRTFBhcmFtcyA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNb2RlbD4+KFxuICAgIHBhcmFtczogc3RyaW5nIHwgSU9wZXJhdGlvbiB8IEdyYXBoUUxQYXJhbXM8TW9kZWw+W10sXG4gICk6IHBhcmFtcyBpcyBHcmFwaFFMUGFyYW1zPE1vZGVsPltdID0+XG4gICAgIWlzU3RyaW5nKHBhcmFtcykgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpICYmIHBhcmFtcy5sZW5ndGggPj0gMCAmJiAhIXBhcmFtc1swXS5vcGVyYXRpb25cblxuICBzdGF0aWMgQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1vZGVsPj4oXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcbiAgKTogRmllbGRzID0+IHtcbiAgICByZXR1cm4gZmllbGRzXG4gICAgICA/Lm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGlzU3RyaW5nKGZpZWxkKSkgcmV0dXJuIGZpZWxkLnRvU3RyaW5nKClcbiAgICAgICAgaWYgKGZpZWxkID09PSAnYWZmZWN0ZWRfcm93cycpIHJldHVybiBmaWVsZFxuXG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC5rZXlzKGZpZWxkKS5zaGlmdCgpXG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBpczxDb2x1bW5PcHRpb25zPGFueSwgTW9kZWw+PihmaWVsZFtmaWVsZE5hbWUgYXMga2V5b2YgdHlwZW9mIGZpZWxkXSlcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSlcbiAgICAgICAgICByZXR1cm4geyBbZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZFZhbHVlKSB9XG4gICAgICAgIGlmICghQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oZmllbGRWYWx1ZSkpIHJldHVyblxuXG4gICAgICAgIGNvbnN0IGlzTmVzdGVkRmllbGQgPSAhIWZpZWxkVmFsdWUuZmllbGRzXG5cbiAgICAgICAgaWYgKGlzTmVzdGVkRmllbGQpIHJldHVybiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE5lc3RlZEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUgYXMgYW55KVxuXG4gICAgICAgIHJldHVybiBmaWVsZFZhbHVlLmNvbHVtbk5hbWVcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmaWVsZCkgPT4gISFmaWVsZClcbiAgfVxuXG4gIHN0YXRpYyBDb252ZXJ0RmllbGRWYWx1ZUZyb20gPSA8XG4gICAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gICAgUmVjb3JkRGF0YVR5cGUgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGUsXG4gICAgRGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBSZWNvcmREYXRhVHlwZSB8IFJlY29yZERhdGFUeXBlW10+LFxuICA+KFxuICAgIGRhdGE6IERhdGFUeXBlLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICk6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXNXaXRoTm9QYXJ0aWFsPE1vZGVsPiB8IFBhcnRpYWxJZGVudGlmaWVyc01vZGVsPE1vZGVsPiA9PlxuICAgIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBjb2x1bW5OYW1lKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICBmcm9tLFxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QoY29sdW1uTmFtZSwgZmllbGRzKVxuXG4gICAgICBpZiAoISFhdHRyaWJ1dGVGaWVsZHMgJiYgQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVGaWVsZHMpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06IGZyb21cbiAgICAgICAgICAgICAgPyBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpXG4gICAgICAgICAgICAgIDogaXM8UmVjb3JkRGF0YVR5cGVbXT4oZGF0YVtjb2x1bW5OYW1lXSkubWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oaXM8RGF0YVR5cGU+KHZhbHVlKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcbiAgICAgICAgICAgICAgOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGlzPERhdGFUeXBlPihkYXRhW2NvbHVtbk5hbWVdKSwgYXR0cmlidXRlRmllbGRzKSxcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghIWZyb20pIHJldHVybiB7IC4uLnJlc3VsdCwgW2F0dHJpYnV0ZU5hbWVdOiBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBbYXR0cmlidXRlTmFtZV06IGlzU3RyaW5nKGRhdGFbY29sdW1uTmFtZV0pID8gcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdLnRvU3RyaW5nKCkpIDogZGF0YVtjb2x1bW5OYW1lXSxcbiAgICAgIH1cbiAgICB9LCB7fSlcblxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVUbyA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNb2RlbD4sXG4gICAgRGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGU+LFxuICA+KFxuICAgIGluc3RhbmNlOiBNb2RlbCxcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICAgIHVwZGF0ZSA9IGZhbHNlLFxuICApOiBEYXRhVHlwZSA9PiB7XG4gICAgY29uc3QgZGF0YTogUGFydGlhbDxNb2RlbD4gPSBpbnN0YW5jZS50b1BsYWluPy4oKSB8fCBpbnN0YW5jZVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBhdHRyaWJ1dGVOYW1lKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICBmb3JlaWduS2V5Q29sdW1uLFxuICAgICAgICB0byxcbiAgICAgICAgYmluZFBlcnNpc3REYXRhLFxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPiwgZmllbGRzKVxuXG4gICAgICBpZiAoYmluZFBlcnNpc3REYXRhKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAuLi5iaW5kUGVyc2lzdERhdGEoZGF0YVthdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+XSwgaW5zdGFuY2UpLFxuICAgICAgICB9XG4gICAgICBpZiAoaXNOaWwoY29sdW1uTmFtZSkpIHJldHVybiByZXN1bHRcbiAgICAgIGlmIChcbiAgICAgICAgISFmb3JlaWduS2V5Q29sdW1uICYmXG4gICAgICAgICFpc0VtcHR5KGZvcmVpZ25LZXlDb2x1bW4pICYmXG4gICAgICAgICFPYmplY3Qua2V5cyhmb3JlaWduS2V5Q29sdW1uKS5maWx0ZXIoXG4gICAgICAgICAgKGtleSkgPT5cbiAgICAgICAgICAgICFpczxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihkYXRhW2F0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5dKT8uW2tleV0sXG4gICAgICAgICkubGVuZ3RoXG4gICAgICApXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhmb3JlaWduS2V5Q29sdW1uKS5yZWR1Y2UoXG4gICAgICAgICAgKG9iamVjdCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBjb2x1bW5OYW1lOiBmb3JlaWduQ29sdW1uTmFtZSB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgZm9yZWlnbktleUNvbHVtbltjdXJyZW50IGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dLFxuICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9iamVjdCxcbiAgICAgICAgICAgICAgW2ZvcmVpZ25Db2x1bW5OYW1lXTogZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dPy5bY3VycmVudF0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLnJlc3VsdCB9LFxuICAgICAgICApXG5cbiAgICAgIGlmIChcbiAgICAgICAgdXBkYXRlICYmXG4gICAgICAgIGlzT2JqZWN0KGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSkgJiZcbiAgICAgICAgIWlzTmlsKGF0dHJpYnV0ZUZpZWxkcykgJiZcbiAgICAgICAgIWlzRGF0ZShkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0pXG4gICAgICApXG4gICAgICAgIHJldHVybiByZXN1bHRcblxuICAgICAgaWYgKFxuICAgICAgICAhIWNvbHVtbk5hbWUgJiZcbiAgICAgICAgQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVGaWVsZHMpICYmXG4gICAgICAgIGlzT2JqZWN0KGRhdGFbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSlcbiAgICAgICkge1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPVxuICAgICAgICAgICFpc05pbChjb2x1bW5OYW1lKSAmJiB0b1xuICAgICAgICAgICAgPyB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dLCBpbnN0YW5jZSlcbiAgICAgICAgICAgIDogZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgLi4uKGNvbnZlcnRlZCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBbY29sdW1uTmFtZV06IHtcbiAgICAgICAgICAgICAgICAgIGRhdGE6XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW2F0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5dIGluc3RhbmNlb2YgQmFzZU1vZGVsXG4gICAgICAgICAgICAgICAgICAgICAgPyBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVUbyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVthdHRyaWJ1dGVOYW1lIGFzIGtleW9mIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+W251bWJlcl1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVGaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiBjb252ZXJ0ZWQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSksXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCEhdG8pXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIFtjb2x1bW5OYW1lXTogdG8oaW5zdGFuY2VbYXR0cmlidXRlTmFtZSBhcyBrZXlvZiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPltudW1iZXJdXSwgaW5zdGFuY2UpLFxuICAgICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJlc3VsdCwgW2NvbHVtbk5hbWVdOiBkYXRhW2F0dHJpYnV0ZU5hbWUgYXMga2V5b2YgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5bbnVtYmVyXV0gfVxuICAgIH0sIHt9IGFzIERhdGFUeXBlKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgQ29udmVydE5lc3RlZEZpZWxkc1RvR3JhcGhRTEZpZWxkcyA9IDxcbiAgICBUIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFQ+LFxuICAgIFAgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8UD4sXG4gID4oXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgZmllbGRWYWx1ZTogQ29sdW1uT3B0aW9uczxULCBQPixcbiAgKSA9PiB7XG4gICAgY29uc3QgaGFzQ3VzdG9tRmlsdGVycyA9ICEhZmllbGRWYWx1ZS5maWx0ZXJzXG5cbiAgICBpZiAoaGFzQ3VzdG9tRmlsdGVycylcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG9wZXJhdGlvbjogZmllbGRWYWx1ZS5jb2x1bW5OYW1lIHx8IGZpZWxkTmFtZSxcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkVmFsdWUuZmllbGRzKSxcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgW2Ake2ZpZWxkVmFsdWUuY29sdW1uTmFtZX1fd2hlcmVgXToge1xuICAgICAgICAgICAgbmFtZTogJ3doZXJlJyxcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkVmFsdWUuZmlsdGVycy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5NYWtlR3JhcGhRTFdoZXJlKGZpZWxkVmFsdWUuZmlsdGVycy5maWx0ZXJzLCBmaWVsZFZhbHVlLmZpZWxkcyksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFtmaWVsZFZhbHVlLmNvbHVtbk5hbWUgfHwgZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZFZhbHVlLmZpZWxkcyksXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './attribute-option.helper';
|
|
2
|
-
export * from './bind-filter-query.helper';
|
|
3
|
-
export * from './filter-option.helper';
|
|
4
|
-
export * from './graphql-field.helper';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './with-create-hasura-graphql.mixin';
|
|
2
|
-
export * from './with-delete-hasura-graphql.mixin';
|
|
3
|
-
export * from './with-hasura-graphql.mixin';
|
|
4
|
-
export * from './with-update-hasura-graphql.mixin';
|
|
5
|
-
export * from './with-get-hasura-graphql.mixin';
|
|
6
|
-
export * from './with-find-hasura-graphql.mixin';
|
|
7
|
-
export * from './with-crud-hasura-graphql.mixin';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { DebugHelper } from '../../../utils';
|
|
2
|
-
import { AttributeOptionHelper } from './helpers';
|
|
3
|
-
export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
4
|
-
return class CreateHasuraGraphQLMixin extends MixinBase {
|
|
5
|
-
constructor(...params) {
|
|
6
|
-
const options = params?.[0];
|
|
7
|
-
super(...params);
|
|
8
|
-
this.insertGraphQLOperation = options?.insertGraphQLOperation || `insert_${this.tableName}_one`;
|
|
9
|
-
this.insertGraphQLObjectType = options?.insertGraphQLObjectType || `${this.tableName}_insert_input`;
|
|
10
|
-
}
|
|
11
|
-
async create(data) {
|
|
12
|
-
this.logger = DebugHelper.from(this, 'create');
|
|
13
|
-
const newData = await this.save(this.model.toInstance(data));
|
|
14
|
-
return this.model.toInstance(newData);
|
|
15
|
-
}
|
|
16
|
-
async save(data) {
|
|
17
|
-
const primaryKeyColumns = this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName);
|
|
18
|
-
const foreignKeyColumns = this.fields
|
|
19
|
-
.map((field) => {
|
|
20
|
-
const columnOptions = Object.values(field).shift();
|
|
21
|
-
return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
|
|
22
|
-
columnOptions.foreignKeyColumn && [
|
|
23
|
-
...Object.values(columnOptions.foreignKeyColumn).map((foreignKeyName) => AttributeOptionHelper.FindByAttribute(foreignKeyName, this.fields)?.columnName),
|
|
24
|
-
{
|
|
25
|
-
[columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions?.fields)
|
|
26
|
-
?.columnName || foreignKeyField),
|
|
27
|
-
},
|
|
28
|
-
]);
|
|
29
|
-
})
|
|
30
|
-
.filter(Boolean)
|
|
31
|
-
.reduce((keys, current) => [...keys, ...current], []);
|
|
32
|
-
const result = await this.mutation(this.insertGraphQLOperation, [...primaryKeyColumns, ...foreignKeyColumns], {
|
|
33
|
-
object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
|
|
34
|
-
});
|
|
35
|
-
return { ...data.toPlain(), ...this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain() };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUcvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFRakQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FJckMsU0FBMkQsRUFJM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSx3QkFBeUIsU0FBUSxTQUFTO1FBSXJELFlBQVksR0FBRyxNQUFhO1lBQzFCLE1BQU0sT0FBTyxHQUE0QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLFVBQVUsSUFBSSxDQUFDLFNBQVMsTUFBTSxDQUFBO1lBQy9GLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLEVBQUUsdUJBQXVCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxlQUFlLENBQUE7UUFDckcsQ0FBQztRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBbUM7WUFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUU5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUU1RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQVc7WUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FDeEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FDbEQsQ0FBQTtZQUMvQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNO2lCQUNsQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDYixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUVsRCxPQUFPLENBQ0wscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDO29CQUN4RCxhQUFhLENBQUMsZ0JBQWdCLElBQUk7b0JBQ2hDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ2xELENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDakIscUJBQXFCLENBQUMsZUFBZSxDQUFDLGNBQXFCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FDeEY7b0JBQ0Q7d0JBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ3pFLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDbEIscUJBQXFCLENBQUMsZUFBZSxDQUFDLGVBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQWEsQ0FBQzs0QkFDekYsRUFBRSxVQUFVLElBQUksZUFBZSxDQUNwQztxQkFDRjtpQkFDRixDQUNGLENBQUE7WUFDSCxDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDZixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUNoQyxJQUFJLENBQUMsc0JBQXNCLEVBQzNCLENBQUMsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixDQUErQixFQUMxRTtnQkFDRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTthQUN0RyxDQUNGLENBQUE7WUFFRCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUM1RyxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZVJlcG9zaXRvcnksIENyZWF0ZVJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IERlYnVnSGVscGVyLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ29uc3RydWN0b3JQYXJhbXMgPSB7XG4gIGluc2VydEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcbiAgaW5zZXJ0QWxsR3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xuICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIENyZWF0ZVJlcG9zaXRvcnk8TUJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFtDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgLi4uYW55W11dLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIENyZWF0ZUhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIENyZWF0ZVJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICBpbnNlcnRHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcbiAgICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZTogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbiB8fCBgaW5zZXJ0XyR7dGhpcy50YWJsZU5hbWV9X29uZWBcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnY3JlYXRlJylcblxuICAgICAgY29uc3QgbmV3RGF0YSA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSkpXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UobmV3RGF0YSlcbiAgICB9XG5cbiAgICBhc3luYyBzYXZlKGRhdGE6IE1CYXNlKTogUHJvbWlzZTxQYXJ0aWFsPE1CYXNlPj4ge1xuICAgICAgY29uc3QgcHJpbWFyeUtleUNvbHVtbnMgPSB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLm1hcChcbiAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcbiAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cbiAgICAgIGNvbnN0IGZvcmVpZ25LZXlDb2x1bW5zID0gdGhpcy5maWVsZHNcbiAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgICBjb25zdCBjb2x1bW5PcHRpb25zID0gT2JqZWN0LnZhbHVlcyhmaWVsZCkuc2hpZnQoKVxuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGNvbHVtbk9wdGlvbnMpICYmXG4gICAgICAgICAgICBjb2x1bW5PcHRpb25zLmZvcmVpZ25LZXlDb2x1bW4gJiYgW1xuICAgICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxuICAgICAgICAgICAgICAgIChmb3JlaWduS2V5TmFtZSkgPT5cbiAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZm9yZWlnbktleU5hbWUgYXMgYW55LCB0aGlzLmZpZWxkcyk/LmNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbY29sdW1uT3B0aW9ucy5jb2x1bW5OYW1lXTogT2JqZWN0LmtleXMoY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uKS5tYXAoXG4gICAgICAgICAgICAgICAgICAoZm9yZWlnbktleUZpZWxkKSA9PlxuICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZvcmVpZ25LZXlGaWVsZCBhcyBhbnksIGNvbHVtbk9wdGlvbnM/LmZpZWxkcyBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgICAgPy5jb2x1bW5OYW1lIHx8IGZvcmVpZ25LZXlGaWVsZCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXVxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAucmVkdWNlKChrZXlzLCBjdXJyZW50KSA9PiBbLi4ua2V5cywgLi4uY3VycmVudF0sIFtdKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm11dGF0aW9uPFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+PihcbiAgICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICBbLi4ucHJpbWFyeUtleUNvbHVtbnMsIC4uLmZvcmVpZ25LZXlDb2x1bW5zXSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogeyB0eXBlOiB0aGlzLmluc2VydEdyYXBoUUxPYmplY3RUeXBlLCByZXF1aXJlZDogdHJ1ZSwgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYShkYXRhKSB9LFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgICByZXR1cm4geyAuLi5kYXRhLnRvUGxhaW4oKSwgLi4udGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbl0pLnRvUGxhaW4oKSB9XG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { withCreateHasuraGraphQL } from './with-create-hasura-graphql.mixin';
|
|
2
|
-
import { withDeleteHasuraGraphQL } from './with-delete-hasura-graphql.mixin';
|
|
3
|
-
import { withFindHasuraGraphQL } from './with-find-hasura-graphql.mixin';
|
|
4
|
-
import { withGetHasuraGraphQL } from './with-get-hasura-graphql.mixin';
|
|
5
|
-
import { withUpdateHasuraGraphQL, } from './with-update-hasura-graphql.mixin';
|
|
6
|
-
export const withCrudHasuraGraphQL = (MixinBase) => {
|
|
7
|
-
return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3hFLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFjM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMsIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWRlbGV0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgR2V0Q29uc3RydWN0b3JQYXJhbXMsIHdpdGhHZXRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHtcbiAgVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsXG4gIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZSxcbiAgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwsXG59IGZyb20gJy4vd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5cbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFRCYXNlLCBUQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgUmVwb3NpdG9yeSA9IENydWRSZXBvc2l0b3J5PFRCYXNlPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4gJiBSZXBvc2l0b3J5ICYgVXBkYXRlSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlUeXBlPFRCYXNlPixcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxcbiAgICBbXG4gICAgICBIYXN1cmFDb25zdHJ1Y3RvclBhcmFtczxUQmFzZT4gJlxuICAgICAgICBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyAmXG4gICAgICAgIERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zICZcbiAgICAgICAgR2V0Q29uc3RydWN0b3JQYXJhbXMgJlxuICAgICAgICBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyxcbiAgICAgIC4uLmFueVtdLFxuICAgIF0sXG4gICAgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+XG4gID5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3J1ZEhhc3VyYUdyYXBoUUxNaXhpblxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwoXG4gICAgICB3aXRoR2V0SGFzdXJhR3JhcGhRTChcbiAgICAgICAgd2l0aEZpbmRIYXN1cmFHcmFwaFFMKFxuICAgICAgICAgIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMKHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+PikpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBDcnVkUmVwb3NpdG9yeTxUQmFzZT4ge30gYXMgYW55XG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { DebugHelper, isNil } from '../../../utils';
|
|
2
|
-
import { AttributeOptionHelper } from './helpers';
|
|
3
|
-
export const withDeleteHasuraGraphQL = (MixinBase) => {
|
|
4
|
-
return class DeleteHasuraGraphQLMixin extends MixinBase {
|
|
5
|
-
constructor(...params) {
|
|
6
|
-
const options = params?.[0];
|
|
7
|
-
super(...params);
|
|
8
|
-
this.deleteGraphQLOperation = options?.deleteGraphQLOperation || `delete_${this.tableName}_by_pk`;
|
|
9
|
-
}
|
|
10
|
-
async delete(identifiers) {
|
|
11
|
-
this.logger = DebugHelper.from(this, 'delete');
|
|
12
|
-
const instance = this.model.toInstance(identifiers);
|
|
13
|
-
await this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
|
|
14
|
-
const identifierBinded = identifier;
|
|
15
|
-
if (isNil(instance.identifier[identifierBinded]))
|
|
16
|
-
return ids;
|
|
17
|
-
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
18
|
-
const value = columnOption.to(identifiers[identifier], instance);
|
|
19
|
-
return {
|
|
20
|
-
...ids,
|
|
21
|
-
[columnOption.columnName]: {
|
|
22
|
-
type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
|
|
23
|
-
value,
|
|
24
|
-
required: true,
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}, {}));
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFHdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUdyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFcEQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxVQUFVLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUNuRyxDQUFDO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUEwQztZQUNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBRTlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBRW5ELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FDakIsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FDbEQsRUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7Z0JBQ3RELE1BQU0sZ0JBQWdCLEdBR2xCLFVBQVUsQ0FBQTtnQkFFZCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUE7Z0JBRTVELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFpRCxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBRXZHLE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO3dCQUNoRSxLQUFLO3dCQUNMLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUE7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQTtRQUNILENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVsZXRlUmVwb3NpdG9yeSxcbiAgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcyxcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcbiAgZGVsZXRlR3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIERlbGV0ZVJlcG9zaXRvcnk8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFtEZWxldGVDb25zdHJ1Y3RvclBhcmFtcywgLi4uYW55W11dLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIERlbGV0ZUhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIERlbGV0ZVJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICBkZWxldGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtczogYW55W10pIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5kZWxldGVHcmFwaFFMT3BlcmF0aW9uIHx8IGBkZWxldGVfJHt0aGlzLnRhYmxlTmFtZX1fYnlfcGtgXG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlKGlkZW50aWZpZXJzOiBEZWxldGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgdGhpcy5sb2dnZXIgPSBEZWJ1Z0hlbHBlci5mcm9tKHRoaXMsICdkZWxldGUnKVxuXG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShpZGVudGlmaWVycylcblxuICAgICAgYXdhaXQgdGhpcy5tdXRhdGlvbihcbiAgICAgICAgdGhpcy5kZWxldGVHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLm1hcChcbiAgICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxuICAgICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWRlbnRpZmllckJpbmRlZDogRXh0cmFjdDxcbiAgICAgICAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXVxuICAgICAgICAgID4gPSBpZGVudGlmaWVyXG5cbiAgICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2UuaWRlbnRpZmllcltpZGVudGlmaWVyQmluZGVkXSkpIHJldHVybiBpZHNcblxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllciBhcyBrZXlvZiBEZWxldGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPl0sIGluc3RhbmNlKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmlkcyxcbiAgICAgICAgICAgIFtjb2x1bW5PcHRpb24uY29sdW1uTmFtZV06IHtcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIClcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { DebugHelper, isNil, set } from '../../../utils';
|
|
2
|
-
import { AttributeOptionHelper, BindFilterQueryHelper } from './helpers';
|
|
3
|
-
export const withFindHasuraGraphQL = (MixinBase) => {
|
|
4
|
-
return class FindHasuraGraphQLMixin extends MixinBase {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.bindOrderByAttributes = (orderBy, fields) => Object.keys(orderBy).reduce((acc, current) => [
|
|
8
|
-
...acc,
|
|
9
|
-
{
|
|
10
|
-
[AttributeOptionHelper.FindByAttribute(current, fields)
|
|
11
|
-
.columnName]: orderBy[current] === 'asc'
|
|
12
|
-
? 'asc_nulls_last'
|
|
13
|
-
: 'desc_nulls_last',
|
|
14
|
-
},
|
|
15
|
-
], []);
|
|
16
|
-
this.bindAggretageAttributes = (aggregates, fields) => [
|
|
17
|
-
...(aggregates?.minimal?.length
|
|
18
|
-
? [
|
|
19
|
-
{
|
|
20
|
-
min: this.bindAttributesToColumns(aggregates?.minimal, fields),
|
|
21
|
-
},
|
|
22
|
-
]
|
|
23
|
-
: []),
|
|
24
|
-
...(aggregates?.maximum?.length
|
|
25
|
-
? [
|
|
26
|
-
{
|
|
27
|
-
max: this.bindAttributesToColumns(aggregates?.maximum, fields),
|
|
28
|
-
},
|
|
29
|
-
]
|
|
30
|
-
: []),
|
|
31
|
-
];
|
|
32
|
-
this.bindDistinctAttributes = (distinct, fields) => this.bindAttributesToColumns(distinct, fields);
|
|
33
|
-
this.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)?.columnName || attr);
|
|
34
|
-
}
|
|
35
|
-
async find(params) {
|
|
36
|
-
this.logger = DebugHelper.from(this, 'find');
|
|
37
|
-
const { filters, limits, orderBy, options } = params || {};
|
|
38
|
-
const enableCount = options?.enableCount ?? true;
|
|
39
|
-
const variablesFilters = isNil(filters)
|
|
40
|
-
? {}
|
|
41
|
-
: {
|
|
42
|
-
where: {
|
|
43
|
-
value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
|
|
44
|
-
type: `${this.tableName}_bool_exp`,
|
|
45
|
-
required: true,
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
const variablesCount = {
|
|
49
|
-
...(isNil(orderBy)
|
|
50
|
-
? {}
|
|
51
|
-
: {
|
|
52
|
-
order_by: {
|
|
53
|
-
type: `${this.tableName}_order_by!`,
|
|
54
|
-
list: true,
|
|
55
|
-
value: this.bindOrderByAttributes(orderBy, this.fields),
|
|
56
|
-
},
|
|
57
|
-
}),
|
|
58
|
-
...variablesFilters,
|
|
59
|
-
};
|
|
60
|
-
const variables = {
|
|
61
|
-
...(isNil(limits) ? {} : limits),
|
|
62
|
-
...variablesCount,
|
|
63
|
-
};
|
|
64
|
-
const aggregateFields = [
|
|
65
|
-
...(enableCount ? ['count'] : []),
|
|
66
|
-
...this.bindAggretageAttributes(params.options, this.fields),
|
|
67
|
-
];
|
|
68
|
-
const result = await this.query([
|
|
69
|
-
{
|
|
70
|
-
operation: this.tableName,
|
|
71
|
-
fields: params.fields
|
|
72
|
-
? params.fields
|
|
73
|
-
.map((fieldName) => this.fields.find((fieldOption) => fieldOption === fieldName) ??
|
|
74
|
-
this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName))
|
|
75
|
-
.filter(Boolean)
|
|
76
|
-
: this.fields,
|
|
77
|
-
variables,
|
|
78
|
-
},
|
|
79
|
-
...(aggregateFields.length > 0
|
|
80
|
-
? [
|
|
81
|
-
{
|
|
82
|
-
operation: `${this.tableName}_aggregate`,
|
|
83
|
-
fields: [
|
|
84
|
-
{
|
|
85
|
-
aggregate: aggregateFields,
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
variables: variablesCount,
|
|
89
|
-
},
|
|
90
|
-
]
|
|
91
|
-
: []),
|
|
92
|
-
...((!params.limits?.offset &&
|
|
93
|
-
params.options?.distinct?.map((distinct) => {
|
|
94
|
-
const distinctOption = this.fields.find((fieldOption) => fieldOption === distinct) ??
|
|
95
|
-
this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === distinct);
|
|
96
|
-
const fieldName = Object.values(distinctOption).shift()?.columnName || distinct;
|
|
97
|
-
return {
|
|
98
|
-
operation: {
|
|
99
|
-
name: `${this.tableName}`,
|
|
100
|
-
alias: `${this.tableName}_${distinct.toString()}_distinct`,
|
|
101
|
-
},
|
|
102
|
-
fields: [distinctOption],
|
|
103
|
-
variables: {
|
|
104
|
-
...variablesFilters,
|
|
105
|
-
[`${this.tableName}_${fieldName}_distinct`]: {
|
|
106
|
-
type: `${this.tableName}_select_column!`,
|
|
107
|
-
list: true,
|
|
108
|
-
value: fieldName,
|
|
109
|
-
name: 'distinct_on',
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
};
|
|
113
|
-
})) ||
|
|
114
|
-
[]),
|
|
115
|
-
]);
|
|
116
|
-
const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
|
|
117
|
-
return {
|
|
118
|
-
data,
|
|
119
|
-
count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity,
|
|
120
|
-
...(options?.minimal?.length
|
|
121
|
-
? {
|
|
122
|
-
minimal: options.minimal.reduce((minimals, current) => ({
|
|
123
|
-
...minimals,
|
|
124
|
-
...set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
|
|
125
|
-
}), {}),
|
|
126
|
-
}
|
|
127
|
-
: {}),
|
|
128
|
-
...(options?.maximum?.length
|
|
129
|
-
? {
|
|
130
|
-
maximum: options.maximum.reduce((maximums, current) => ({
|
|
131
|
-
...maximums,
|
|
132
|
-
...set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
|
|
133
|
-
}), {}),
|
|
134
|
-
}
|
|
135
|
-
: {}),
|
|
136
|
-
...(!params.limits?.offset &&
|
|
137
|
-
options?.distinct?.length && {
|
|
138
|
-
distinct: options?.distinct.reduce((distinct, current) => {
|
|
139
|
-
const distinctOption = this.fields.find((fieldOption) => fieldOption === current) ??
|
|
140
|
-
this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === current);
|
|
141
|
-
const fieldName = Object.values(distinctOption).shift()?.columnName || current;
|
|
142
|
-
return {
|
|
143
|
-
...distinct,
|
|
144
|
-
[current.toString()]: result[`${this.tableName}_${current.toString()}_distinct`].map((obj) => obj[fieldName]),
|
|
145
|
-
};
|
|
146
|
-
}, {}),
|
|
147
|
-
}),
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FJbkMsU0FBMkQsRUFDM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFBdUIsU0FBUSxTQUFTO1FBQTlDOztZQTBKTCwwQkFBcUIsR0FBRyxDQUFDLE9BQWlDLEVBQUUsTUFBa0MsRUFBRSxFQUFFLENBQ2hHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN6QixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixHQUFHLEdBQUc7Z0JBQ047b0JBQ0UsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7eUJBQ3BHLFVBQVUsQ0FBQyxFQUNaLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLEtBQUssS0FBSzt3QkFDeEUsQ0FBQyxDQUFDLGdCQUFnQjt3QkFDbEIsQ0FBQyxDQUFDLGlCQUFpQjtpQkFDeEI7YUFDRixFQUNELEVBQUUsQ0FDSCxDQUFBO1lBRUgsNEJBQXVCLEdBQUcsQ0FDeEIsVUFHQyxFQUNELE1BQWtDLEVBQ2xDLEVBQUUsQ0FBQztnQkFDSCxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNO29CQUM3QixDQUFDLENBQUM7d0JBQ0U7NEJBQ0UsR0FBRyxF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O2dCQUNQLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTTtvQkFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUk7b0JBQzNCLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTt3QkFDdkQsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDOzRCQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQTt3QkFDakYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLElBQUksT0FBTyxDQUFBO3dCQUU5RSxPQUFPOzRCQUNMLEdBQUcsUUFBUTs0QkFDWCxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQ2xGLENBQUMsR0FBb0MsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUN6RDt5QkFDRixDQUFBO29CQUNILENBQUMsRUFBRSxFQUFTLENBQUM7aUJBQ2QsQ0FBQzthQUNMLENBQUE7UUFDSCxDQUFDO0tBd0RGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaW5kUmVwb3NpdG9yeSxcbiAgRmluZFJlcG9zaXRvcnlQYXJhbXMsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgaXNOaWwsIE1peGluQ3Rvciwgc2V0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyLCBCaW5kRmlsdGVyUXVlcnlIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pID0+IHtcbiAgcmV0dXJuIGNsYXNzIEZpbmRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGFzeW5jIGZpbmQocGFyYW1zPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZmluZCcpXG5cbiAgICAgIGNvbnN0IHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5LCBvcHRpb25zIH0gPSBwYXJhbXMgfHwge31cbiAgICAgIGNvbnN0IGVuYWJsZUNvdW50ID0gb3B0aW9ucz8uZW5hYmxlQ291bnQgPz8gdHJ1ZVxuICAgICAgY29uc3QgdmFyaWFibGVzRmlsdGVycyA9IGlzTmlsKGZpbHRlcnMpXG4gICAgICAgID8ge31cbiAgICAgICAgOiB7XG4gICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICB2YWx1ZTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLk1ha2VHcmFwaFFMV2hlcmUoZmlsdGVycywgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fYm9vbF9leHBgLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KVxuICAgICAgICAgID8ge31cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgb3JkZXJfYnk6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCxcbiAgICAgICAgICAgICAgICBsaXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmJpbmRPcmRlckJ5QXR0cmlidXRlcyhvcmRlckJ5LCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgLi4udmFyaWFibGVzRmlsdGVycyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAgICAgLi4uKGlzTmlsKGxpbWl0cykgPyB7fSA6IGxpbWl0cyksXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxuICAgICAgfVxuICAgICAgY29uc3QgYWdncmVnYXRlRmllbGRzID0gW1xuICAgICAgICAuLi4oZW5hYmxlQ291bnQgPyBbJ2NvdW50J10gOiBbXSksXG4gICAgICAgIC4uLnRoaXMuYmluZEFnZ3JldGFnZUF0dHJpYnV0ZXMocGFyYW1zLm9wdGlvbnMsIHRoaXMuZmllbGRzKSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnkoW1xuICAgICAgICB7XG4gICAgICAgICAgb3BlcmF0aW9uOiB0aGlzLnRhYmxlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHBhcmFtcy5maWVsZHNcbiAgICAgICAgICAgID8gcGFyYW1zLmZpZWxkc1xuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAoZmllbGROYW1lKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBmaWVsZE5hbWUpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICA6IHRoaXMuZmllbGRzLFxuICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKGFnZ3JlZ2F0ZUZpZWxkcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IGAke3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGU6IGFnZ3JlZ2F0ZUZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxuICAgICAgICAgICAgICB9IGFzIEdyYXBoUUxQYXJhbXM8TUJhc2U+LFxuICAgICAgICAgICAgXVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4oKCFwYXJhbXMubGltaXRzPy5vZmZzZXQgJiZcbiAgICAgICAgICBwYXJhbXMub3B0aW9ucz8uZGlzdGluY3Q/Lm1hcCgoZGlzdGluY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RpbmN0T3B0aW9uID1cbiAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBkaXN0aW5jdCkgPz9cbiAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBkaXN0aW5jdClcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC52YWx1ZXMoZGlzdGluY3RPcHRpb24pLnNoaWZ0KCk/LmNvbHVtbk5hbWUgfHwgZGlzdGluY3RcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYCR7dGhpcy50YWJsZU5hbWV9YCxcbiAgICAgICAgICAgICAgICBhbGlhczogYCR7dGhpcy50YWJsZU5hbWV9XyR7ZGlzdGluY3QudG9TdHJpbmcoKX1fZGlzdGluY3RgLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBmaWVsZHM6IFtkaXN0aW5jdE9wdGlvbl0sXG4gICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgIC4uLnZhcmlhYmxlc0ZpbHRlcnMsXG4gICAgICAgICAgICAgICAgW2Ake3RoaXMudGFibGVOYW1lfV8ke2ZpZWxkTmFtZX1fZGlzdGluY3RgXToge1xuICAgICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X3NlbGVjdF9jb2x1bW4hYCxcbiAgICAgICAgICAgICAgICAgIGxpc3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGROYW1lLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2Rpc3RpbmN0X29uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSBhcyBHcmFwaFFMUGFyYW1zPE1CYXNlPlxuICAgICAgICAgIH0pKSB8fFxuICAgICAgICAgIFtdKSxcbiAgICAgIF0pXG4gICAgICBjb25zdCBkYXRhOiBNQmFzZVtdID0gcmVzdWx0W3RoaXMudGFibGVOYW1lXS5tYXAoKHJvdzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPikgPT5cbiAgICAgICAgdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocm93KSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY291bnQ6IGVuYWJsZUNvdW50ID8gcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgXS5hZ2dyZWdhdGUuY291bnQgOiBJbmZpbml0eSxcbiAgICAgICAgLi4uKG9wdGlvbnM/Lm1pbmltYWw/Lmxlbmd0aFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBtaW5pbWFsOiBvcHRpb25zLm1pbmltYWwucmVkdWNlKFxuICAgICAgICAgICAgICAgIChtaW5pbWFscywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLihtaW5pbWFscyBhcyBhbnkpLFxuICAgICAgICAgICAgICAgICAgLi4uc2V0KFxuICAgICAgICAgICAgICAgICAgICBtaW5pbWFscyBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5taW5bXG4gICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgKT8uY29sdW1uTmFtZSB8fCAoY3VycmVudCBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICApIGFzIFJlcG9zaXRvcnlGaW5kUmVzdWx0PE1CYXNlPlsnbWluaW1hbCddLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICAuLi4ob3B0aW9ucz8ubWF4aW11bT8ubGVuZ3RoXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG1heGltdW06IG9wdGlvbnMubWF4aW11bS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKG1heGltdW1zLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uKG1heGltdW1zIGFzIGFueSksXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW1zIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudCBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1heFtcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICkgYXMgUmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+WydtYXhpbXVtJ10sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIC4uLighcGFyYW1zLmxpbWl0cz8ub2Zmc2V0ICYmXG4gICAgICAgICAgb3B0aW9ucz8uZGlzdGluY3Q/Lmxlbmd0aCAmJiB7XG4gICAgICAgICAgICBkaXN0aW5jdDogb3B0aW9ucz8uZGlzdGluY3QucmVkdWNlKChkaXN0aW5jdCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBkaXN0aW5jdE9wdGlvbiA9XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBjdXJyZW50KSA/P1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gY3VycmVudClcbiAgICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LnZhbHVlcyhkaXN0aW5jdE9wdGlvbikuc2hpZnQoKT8uY29sdW1uTmFtZSB8fCBjdXJyZW50XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5kaXN0aW5jdCxcbiAgICAgICAgICAgICAgICBbY3VycmVudC50b1N0cmluZygpXTogcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV8ke2N1cnJlbnQudG9TdHJpbmcoKX1fZGlzdGluY3RgXS5tYXAoXG4gICAgICAgICAgICAgICAgICAob2JqOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSA9PiBvYmpbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSBhcyBhbnkpLFxuICAgICAgICAgIH0pLFxuICAgICAgfVxuICAgIH1cblxuICAgIGJpbmRPcmRlckJ5QXR0cmlidXRlcyA9IChvcmRlckJ5OiBSZXBvc2l0b3J5T3JkZXJCeTxNQmFzZT4sIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pID0+XG4gICAgICBPYmplY3Qua2V5cyhvcmRlckJ5KS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGN1cnJlbnQpID0+IFtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAge1xuICAgICAgICAgICAgW0F0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiwgZmllbGRzKVxuICAgICAgICAgICAgICAuY29sdW1uTmFtZV06XG4gICAgICAgICAgICAgIG9yZGVyQnlbY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0gPT09ICdhc2MnXG4gICAgICAgICAgICAgICAgPyAnYXNjX251bGxzX2xhc3QnXG4gICAgICAgICAgICAgICAgOiAnZGVzY19udWxsc19sYXN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBbXSxcbiAgICAgIClcblxuICAgIGJpbmRBZ2dyZXRhZ2VBdHRyaWJ1dGVzID0gKFxuICAgICAgYWdncmVnYXRlczoge1xuICAgICAgICBtaW5pbWFsPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ21pbmltYWwnXVxuICAgICAgICBtYXhpbXVtPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ21heGltdW0nXVxuICAgICAgfSxcbiAgICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgKSA9PiBbXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWluaW1hbD8ubGVuZ3RoXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtaW46IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWluaW1hbCwgZmllbGRzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLihhZ2dyZWdhdGVzPy5tYXhpbXVtPy5sZW5ndGhcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1heDogdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhhZ2dyZWdhdGVzPy5tYXhpbXVtLCBmaWVsZHMpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgIF1cblxuICAgIGJpbmREaXN0aW5jdEF0dHJpYnV0ZXMgPSAoXG4gICAgICBkaXN0aW5jdDogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ2Rpc3RpbmN0J10sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICkgPT4gdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhkaXN0aW5jdCwgZmllbGRzKVxuXG4gICAgYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMgPSAoXG4gICAgICBhdHRyaWJ1dGVzOiBBcnJheTxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiB8IHt9PixcbiAgICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgKSA9PlxuICAgICAgYXR0cmlidXRlcy5tYXAoXG4gICAgICAgIChhdHRyKSA9PlxuICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXG4gICAgICAgICAgICBhdHRyLnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5wb3AoKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IGF0dHIsXG4gICAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { NotFoundError } from '../../../errors';
|
|
2
|
-
import { DebugHelper, isNil } from '../../../utils';
|
|
3
|
-
import { AttributeOptionHelper } from './helpers';
|
|
4
|
-
export const withGetHasuraGraphQL = (MixinBase) => {
|
|
5
|
-
return class GetHasuraGraphQLMixin extends MixinBase {
|
|
6
|
-
constructor(...params) {
|
|
7
|
-
const options = params?.[0];
|
|
8
|
-
super(...params);
|
|
9
|
-
this.getGraphQLOperation = options?.getGraphQLOperation || `${this.tableName}_by_pk`;
|
|
10
|
-
}
|
|
11
|
-
async get(identifiers) {
|
|
12
|
-
this.logger = DebugHelper.from(this, 'get');
|
|
13
|
-
const instance = this.model.toInstance(identifiers);
|
|
14
|
-
const result = await this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
|
|
15
|
-
const identifierBinded = identifier;
|
|
16
|
-
if (isNil(instance[identifierBinded]))
|
|
17
|
-
return ids;
|
|
18
|
-
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
19
|
-
const value = columnOption?.to?.(identifiers[identifier], instance) ||
|
|
20
|
-
identifiers[identifier];
|
|
21
|
-
return {
|
|
22
|
-
...ids,
|
|
23
|
-
[columnOption.columnName]: {
|
|
24
|
-
type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
|
|
25
|
-
value,
|
|
26
|
-
required: true,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}, {}));
|
|
30
|
-
const data = result[this.getGraphQLOperation];
|
|
31
|
-
if (isNil(data))
|
|
32
|
-
throw new NotFoundError(`${instance.constructor.name} not found`);
|
|
33
|
-
return this.convertDataFromHasura(result[this.getGraphQLOperation]);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQWEsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFakQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUF1QztZQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBRTNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUN0RCxNQUFNLGdCQUFnQixHQUdsQixVQUFVLENBQUE7Z0JBRWQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUE7Z0JBRWpELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixNQUFNLEtBQUssR0FDVCxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQXNDLENBQUMsRUFBRSxRQUFRLENBQUM7b0JBQ2pGLFdBQVcsQ0FBQyxVQUFzQyxDQUFDLENBQUE7Z0JBRXJELE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO3dCQUNoRSxLQUFLO3dCQUNMLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUE7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQTtZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtZQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtZQUVsRixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdldFJlcG9zaXRvcnksXG4gIEdldFJlcG9zaXRvcnlQYXJhbXMsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IERlYnVnSGVscGVyLCBNaXhpbkN0b3IsIGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBnZXRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0SGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2UsIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbikgPT4ge1xuICByZXR1cm4gY2xhc3MgR2V0SGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgR2V0UmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGdldEdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zOiBhbnlbXSkge1xuICAgICAgY29uc3Qgb3B0aW9uczogR2V0Q29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmdldEdyYXBoUUxPcGVyYXRpb24gfHwgYCR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxuICAgIH1cblxuICAgIGFzeW5jIGdldChpZGVudGlmaWVyczogR2V0UmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ2dldCcpXG5cbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzKVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShcbiAgICAgICAgdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkZW50aWZpZXJCaW5kZWQ6IEV4dHJhY3Q8XG4gICAgICAgICAgICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl1cbiAgICAgICAgICA+ID0gaWRlbnRpZmllclxuXG4gICAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJCaW5kZWRdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICBjb2x1bW5PcHRpb24/LnRvPy4oaWRlbnRpZmllcnNbaWRlbnRpZmllciBhcyBrZXlvZiB0eXBlb2YgaWRlbnRpZmllcnNdLCBpbnN0YW5jZSkgfHxcbiAgICAgICAgICAgIGlkZW50aWZpZXJzW2lkZW50aWZpZXIgYXMga2V5b2YgdHlwZW9mIGlkZW50aWZpZXJzXVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmlkcyxcbiAgICAgICAgICAgIFtjb2x1bW5PcHRpb24uY29sdW1uTmFtZV06IHtcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIClcbiAgICAgIGNvbnN0IGRhdGEgPSByZXN1bHRbdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uXVxuXG4gICAgICBpZiAoaXNOaWwoZGF0YSkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGAke2luc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWV9IG5vdCBmb3VuZGApXG5cbiAgICAgIHJldHVybiB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyZXN1bHRbdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uXSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|