@infrab4a/connect 4.0.0-beta.49 → 4.0.0-beta.5
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/domain/catalog/index.d.ts +0 -1
- package/domain/catalog/models/category.d.ts +22 -5
- package/domain/catalog/models/index.d.ts +0 -5
- package/domain/catalog/models/kit-product.d.ts +4 -4
- package/domain/catalog/models/product.d.ts +35 -5
- package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
- package/domain/catalog/models/types/index.d.ts +1 -2
- package/domain/catalog/models/types/shop-description.type.d.ts +0 -1
- package/domain/catalog/models/variant.d.ts +2 -1
- package/domain/catalog/repositories/category.repository.d.ts +3 -6
- package/domain/catalog/repositories/index.d.ts +0 -5
- package/domain/catalog/repositories/product.repository.d.ts +1 -4
- package/domain/generic/model/base.model.d.ts +5 -9
- package/domain/generic/model/types/base-model-builder.type.d.ts +2 -4
- package/domain/generic/model/types/identifier-model.type.d.ts +5 -6
- package/domain/generic/model/types/model-base-structure.type.d.ts +3 -9
- package/domain/generic/model/types/non-function-property-name.type.d.ts +3 -12
- package/domain/generic/repository/find.repository.d.ts +1 -6
- package/domain/generic/repository/get.repository.d.ts +2 -2
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +3 -3
- package/domain/generic/repository/types/repository-find-result.type.d.ts +1 -8
- package/domain/generic/repository/types/repository-order-by-list.type.d.ts +2 -2
- package/domain/generic/repository/types/repository-update-params.type.d.ts +2 -2
- package/domain/location/models/address.d.ts +3 -5
- package/domain/shop-settings/models/index.d.ts +0 -1
- package/domain/shop-settings/models/types/index.d.ts +1 -6
- package/domain/shop-settings/repositories/index.d.ts +0 -1
- package/domain/shopping/models/buy-2-win.d.ts +1 -3
- package/domain/shopping/models/checkout.d.ts +6 -5
- package/domain/shopping/models/coupons/coupon.d.ts +6 -34
- package/domain/shopping/models/index.d.ts +4 -5
- package/domain/shopping/models/order.d.ts +0 -1
- package/domain/shopping/models/shipping-method.d.ts +0 -1
- package/domain/shopping/models/subscription/checkout.d.ts +4 -3
- package/domain/shopping/repositories/index.d.ts +2 -4
- package/domain/users/models/lead.d.ts +0 -1
- package/domain/users/models/subscription/subscription.d.ts +3 -3
- package/domain/users/models/user-address.d.ts +2 -1
- package/domain/users/models/user.d.ts +3 -2
- package/esm2020/domain/catalog/index.mjs +1 -2
- package/esm2020/domain/catalog/models/category.mjs +6 -10
- package/esm2020/domain/catalog/models/index.mjs +1 -6
- package/esm2020/domain/catalog/models/kit-product.mjs +7 -7
- package/esm2020/domain/catalog/models/product.mjs +6 -8
- package/esm2020/domain/catalog/models/types/category-filter.type.mjs +2 -0
- package/esm2020/domain/catalog/models/types/index.mjs +2 -3
- package/esm2020/domain/catalog/models/types/shop-description.type.mjs +1 -1
- package/esm2020/domain/catalog/models/variant.mjs +4 -1
- package/esm2020/domain/catalog/repositories/category.repository.mjs +1 -1
- package/esm2020/domain/catalog/repositories/index.mjs +1 -6
- package/esm2020/domain/catalog/repositories/product.repository.mjs +1 -1
- package/esm2020/domain/generic/model/base.model.mjs +2 -3
- package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +1 -1
- package/esm2020/domain/generic/model/types/identifier-model.type.mjs +1 -1
- package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +1 -1
- package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +1 -1
- package/esm2020/domain/generic/repository/find.repository.mjs +1 -1
- package/esm2020/domain/generic/repository/get.repository.mjs +1 -1
- package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +1 -1
- package/esm2020/domain/generic/repository/types/repository-find-result.type.mjs +1 -1
- package/esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs +1 -1
- package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +1 -1
- package/esm2020/domain/location/models/address.mjs +2 -2
- package/esm2020/domain/shop-settings/models/index.mjs +1 -2
- package/esm2020/domain/shop-settings/models/types/index.mjs +2 -7
- package/esm2020/domain/shop-settings/repositories/index.mjs +1 -2
- package/esm2020/domain/shopping/models/buy-2-win.mjs +2 -2
- package/esm2020/domain/shopping/models/checkout.mjs +7 -6
- package/esm2020/domain/shopping/models/coupons/coupon.mjs +16 -16
- package/esm2020/domain/shopping/models/index.mjs +5 -6
- package/esm2020/domain/shopping/models/order.mjs +1 -1
- package/esm2020/domain/shopping/models/shipping-method.mjs +1 -1
- package/esm2020/domain/shopping/models/subscription/checkout.mjs +6 -6
- package/esm2020/domain/shopping/repositories/index.mjs +3 -5
- package/esm2020/domain/users/models/lead.mjs +1 -1
- package/esm2020/domain/users/models/subscription/subscription.mjs +6 -6
- package/esm2020/domain/users/models/user-address.mjs +1 -1
- package/esm2020/domain/users/models/user.mjs +2 -2
- package/esm2020/domain/users/use-cases/authentication.mjs +2 -2
- package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +11 -28
- package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +1 -1
- package/esm2020/infra/elasticsearch/indexes/products-index.mjs +51 -63
- package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +1 -1
- package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +1 -1
- package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +4 -8
- package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +1 -1
- package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +2 -6
- package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +8 -11
- package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +4 -27
- package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +3 -6
- package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +1 -1
- package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +3 -5
- package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +4 -7
- package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +8 -21
- package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +7 -15
- package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +30 -36
- package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +1 -2
- package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +4 -6
- package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +4 -6
- package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +9 -11
- package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +6 -8
- package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +8 -10
- package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +1 -1
- package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +1 -1
- package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +1 -1
- package/esm2020/infra/firebase/firestore/types/index.mjs +3 -4
- package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +3 -3
- package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +5 -6
- package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +1 -1
- package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +25 -36
- package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +4 -6
- package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +1 -1
- package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +3 -5
- package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +15 -84
- package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +3 -5
- package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +24 -40
- package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +5 -7
- package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +1 -1
- package/esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs +1 -1
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +14 -131
- package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +1 -6
- package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +20 -70
- package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +7 -9
- package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +1 -1
- package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +1 -1
- package/esm2020/utils/index.mjs +4 -6
- package/fesm2015/infrab4a-connect.mjs +421 -1969
- package/fesm2015/infrab4a-connect.mjs.map +1 -1
- package/fesm2020/infrab4a-connect.mjs +422 -1926
- package/fesm2020/infrab4a-connect.mjs.map +1 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +5 -7
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +2 -3
- package/infra/elasticsearch/indexes/products-index.d.ts +10 -8
- package/infra/elasticsearch/types/elastic-search-result.d.ts +0 -2
- package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +2 -2
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +1 -2
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +2 -2
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +2 -2
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -13
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +2 -2
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +2 -2
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +4 -8
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +3 -3
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +5 -8
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +5 -6
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +4 -4
- package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -1
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +4 -4
- package/infra/firebase/firestore/repositories/shopping/index.d.ts +3 -5
- package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +4 -4
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +4 -4
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -3
- package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
- package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +5 -5
- package/infra/firebase/firestore/types/firestore.repository.type.d.ts +1 -3
- package/infra/firebase/firestore/types/index.d.ts +2 -3
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +3 -9
- package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +5 -5
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +2 -4
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +5 -8
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -2
- package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +3 -3
- package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +1 -1
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +15 -23
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +6 -7
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +3 -14
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +2 -2
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +0 -4
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +0 -1
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +5 -12
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -5
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +4 -6
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +4 -4
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +5 -7
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +3 -7
- package/package.json +1 -2
- package/utils/index.d.ts +22 -5
- package/domain/catalog/helpers/index.d.ts +0 -1
- package/domain/catalog/helpers/round-product-price.helper.d.ts +0 -4
- 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/filter-option.d.ts +0 -9
- package/domain/catalog/models/filter.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/types/category-product.d.ts +0 -4
- package/domain/catalog/models/types/product-evaluation.type.d.ts +0 -6
- package/domain/catalog/models/wishlist.d.ts +0 -6
- 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/filter-option.repository.d.ts +0 -4
- package/domain/catalog/repositories/filter.repository.d.ts +0 -4
- package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
- package/domain/shop-settings/models/shop-settings.d.ts +0 -9
- package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -12
- 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 -5
- package/domain/shop-settings/models/types/shop-collection.type.d.ts +0 -9
- package/domain/shop-settings/models/types/shop-section.type.d.ts +0 -9
- package/domain/shop-settings/repositories/shop-settings.repository.d.ts +0 -4
- package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
- package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
- package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
- package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
- package/esm2020/domain/catalog/helpers/index.mjs +0 -2
- package/esm2020/domain/catalog/helpers/round-product-price.helper.mjs +0 -15
- package/esm2020/domain/catalog/models/category-base.mjs +0 -18
- package/esm2020/domain/catalog/models/category-collection-children.mjs +0 -13
- package/esm2020/domain/catalog/models/category-filter.mjs +0 -19
- package/esm2020/domain/catalog/models/category-for-product.mjs +0 -7
- package/esm2020/domain/catalog/models/filter-option.mjs +0 -7
- package/esm2020/domain/catalog/models/filter.mjs +0 -7
- package/esm2020/domain/catalog/models/product-base.mjs +0 -25
- package/esm2020/domain/catalog/models/product-for-category.mjs +0 -14
- package/esm2020/domain/catalog/models/product-for-kit.mjs +0 -14
- package/esm2020/domain/catalog/models/types/category-product.mjs +0 -2
- package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +0 -2
- package/esm2020/domain/catalog/models/wishlist.mjs +0 -7
- package/esm2020/domain/catalog/repositories/category-collection-children.repository.mjs +0 -2
- package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +0 -2
- package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +0 -2
- package/esm2020/domain/catalog/repositories/filter.repository.mjs +0 -2
- package/esm2020/domain/catalog/repositories/wishlist.repository.mjs +0 -2
- package/esm2020/domain/shop-settings/models/shop-settings.mjs +0 -7
- package/esm2020/domain/shop-settings/models/types/shop-banner.type.mjs +0 -2
- package/esm2020/domain/shop-settings/models/types/shop-brands.type.mjs +0 -2
- package/esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs +0 -2
- package/esm2020/domain/shop-settings/models/types/shop-collection.type.mjs +0 -2
- package/esm2020/domain/shop-settings/models/types/shop-section.type.mjs +0 -2
- package/esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs +0 -2
- package/esm2020/domain/shopping/models/campaign-dashboard.mjs +0 -7
- package/esm2020/domain/shopping/models/campaign-hashtag.mjs +0 -7
- package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +0 -2
- package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +0 -2
- package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +0 -14
- package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +0 -14
- package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +0 -14
- package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +0 -2
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +0 -39
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +0 -107
- package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +0 -105
- package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +0 -22
- package/esm2020/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.mjs +0 -236
- package/esm2020/utils/decorators/debug.class.decorator.mjs +0 -7
- package/esm2020/utils/decorators/index.mjs +0 -3
- package/esm2020/utils/decorators/trace.method.decorator.mjs +0 -81
- package/esm2020/utils/helpers/class-name.helper.mjs +0 -15
- package/esm2020/utils/helpers/debug-decorator.helper.mjs +0 -18
- package/esm2020/utils/helpers/debug.helper.mjs +0 -150
- package/esm2020/utils/helpers/index.mjs +0 -5
- package/esm2020/utils/helpers/reflect.helper.mjs +0 -165
- package/esm2020/utils/log.utils.mjs +0 -9
- package/infra/firebase/firestore/repositories/shop-settings/shop-settings-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/types/firestore-interceptors.type.d.ts +0 -14
- 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/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/wishlist-hasura-graphql.repository.d.ts +0 -27
- 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/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/log.utils.d.ts +0 -7
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DebugHelper } from '../../../utils';
|
|
2
1
|
import { AttributeOptionHelper } from './helpers';
|
|
3
2
|
export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
4
3
|
return class CreateHasuraGraphQLMixin extends MixinBase {
|
|
@@ -9,7 +8,6 @@ export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
|
9
8
|
this.insertGraphQLObjectType = options?.insertGraphQLObjectType || `${this.tableName}_insert_input`;
|
|
10
9
|
}
|
|
11
10
|
async create(data) {
|
|
12
|
-
this.logger = DebugHelper.from(this, 'create');
|
|
13
11
|
const newData = await this.save(this.model.toInstance(data));
|
|
14
12
|
return this.model.toInstance(newData);
|
|
15
13
|
}
|
|
@@ -20,10 +18,10 @@ export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
|
20
18
|
const columnOptions = Object.values(field).shift();
|
|
21
19
|
return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
|
|
22
20
|
columnOptions.foreignKeyColumn && [
|
|
23
|
-
...Object.values(columnOptions.foreignKeyColumn)
|
|
21
|
+
...Object.values(columnOptions.foreignKeyColumn),
|
|
24
22
|
{
|
|
25
|
-
[columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions?.fields)
|
|
26
|
-
|
|
23
|
+
[columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions?.fields)?.columnName ||
|
|
24
|
+
foreignKeyField),
|
|
27
25
|
},
|
|
28
26
|
]);
|
|
29
27
|
})
|
|
@@ -36,4 +34,4 @@ export const withCreateHasuraGraphQL = (MixinBase) => {
|
|
|
36
34
|
}
|
|
37
35
|
};
|
|
38
36
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBT2pELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUlyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFcEQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxVQUFVLElBQUksQ0FBQyxTQUFTLE1BQU0sQ0FBQTtZQUMvRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsT0FBTyxFQUFFLHVCQUF1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQW1DO1lBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFXLENBQUMsQ0FBQyxDQUFBO1lBRW5FLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBVztZQUNwQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUN4RCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNsRCxDQUFBO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU07aUJBQ2xDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNiLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBRWxELE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7b0JBQ3hELGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSTtvQkFDaEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEQ7d0JBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ3pFLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDbEIscUJBQXFCLENBQUMsZUFBZSxDQUFDLGVBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFVBQVU7NEJBQ2hHLGVBQWUsQ0FDbEI7cUJBQ0Y7aUJBQ0YsQ0FDRixDQUFBO1lBQ0gsQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxPQUFPLENBQUM7aUJBQ2YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBRXZELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FDaEMsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxpQkFBaUIsQ0FBK0IsRUFDMUU7Z0JBQ0UsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7YUFDdEcsQ0FDRixDQUFBO1lBRUQsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7UUFDNUcsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVSZXBvc2l0b3J5LCBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ29uc3RydWN0b3JQYXJhbXMgPSB7XG4gIGluc2VydEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcbiAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIENyZWF0ZVJlcG9zaXRvcnk8TUJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFtDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgLi4uYW55W11dLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIENyZWF0ZUhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIENyZWF0ZVJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICBpbnNlcnRHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcbiAgICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZTogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbiB8fCBgaW5zZXJ0XyR7dGhpcy50YWJsZU5hbWV9X29uZWBcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBhd2FpdCB0aGlzLnNhdmUodGhpcy5tb2RlbC50b0luc3RhbmNlKGRhdGEgYXMgYW55KSlcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShuZXdEYXRhKVxuICAgIH1cblxuICAgIGFzeW5jIHNhdmUoZGF0YTogTUJhc2UpOiBQcm9taXNlPFBhcnRpYWw8TUJhc2U+PiB7XG4gICAgICBjb25zdCBwcmltYXJ5S2V5Q29sdW1ucyA9IHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxuICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxuICAgICAgY29uc3QgZm9yZWlnbktleUNvbHVtbnMgPSB0aGlzLmZpZWxkc1xuICAgICAgICAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbnMgPSBPYmplY3QudmFsdWVzKGZpZWxkKS5zaGlmdCgpXG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oY29sdW1uT3B0aW9ucykgJiZcbiAgICAgICAgICAgIGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbiAmJiBbXG4gICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uKSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFtjb2x1bW5PcHRpb25zLmNvbHVtbk5hbWVdOiBPYmplY3Qua2V5cyhjb2x1bW5PcHRpb25zLmZvcmVpZ25LZXlDb2x1bW4pLm1hcChcbiAgICAgICAgICAgICAgICAgIChmb3JlaWduS2V5RmllbGQpID0+XG4gICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZm9yZWlnbktleUZpZWxkIGFzIGFueSwgY29sdW1uT3B0aW9ucz8uZmllbGRzKT8uY29sdW1uTmFtZSB8fFxuICAgICAgICAgICAgICAgICAgICBmb3JlaWduS2V5RmllbGQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLnJlZHVjZSgoa2V5cywgY3VycmVudCkgPT4gWy4uLmtleXMsIC4uLmN1cnJlbnRdLCBbXSlcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tdXRhdGlvbjxSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pj4oXG4gICAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgWy4uLnByaW1hcnlLZXlDb2x1bW5zLCAuLi5mb3JlaWduS2V5Q29sdW1uc10gYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBvYmplY3Q6IHsgdHlwZTogdGhpcy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSwgcmVxdWlyZWQ6IHRydWUsIHZhbHVlOiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEoZGF0YSkgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHsgLi4uZGF0YS50b1BsYWluKCksIC4uLnRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJlc3VsdFt0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb25dKS50b1BsYWluKCkgfVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
|
|
@@ -7,4 +7,4 @@ export const withCrudHasuraGraphQL = (MixinBase) => {
|
|
|
7
7
|
return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3hFLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFjM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMsIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWRlbGV0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgR2V0Q29uc3RydWN0b3JQYXJhbXMsIHdpdGhHZXRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IENvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHtcbiAgVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsXG4gIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZSxcbiAgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwsXG59IGZyb20gJy4vd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5cbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBSZXBvc2l0b3J5ID0gQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yLFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPiAmIFJlcG9zaXRvcnkgJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8VEJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFxuICAgIFtcbiAgICAgIENvbnN0cnVjdG9yUGFyYW1zPFRCYXNlPiAmXG4gICAgICAgIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zICZcbiAgICAgICAgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgJlxuICAgICAgICBHZXRDb25zdHJ1Y3RvclBhcmFtcyAmXG4gICAgICAgIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLFxuICAgICAgLi4uYW55W10sXG4gICAgXSxcbiAgICBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT5cbiAgPlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcnVkSGFzdXJhR3JhcGhRTE1peGluXG4gICAgZXh0ZW5kcyB3aXRoVXBkYXRlSGFzdXJhR3JhcGhRTChcbiAgICAgIHdpdGhHZXRIYXN1cmFHcmFwaFFMKFxuICAgICAgICB3aXRoRmluZEhhc3VyYUdyYXBoUUwoXG4gICAgICAgICAgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwod2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwoTWl4aW5CYXNlIGFzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4+KSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgICBpbXBsZW1lbnRzIENydWRSZXBvc2l0b3J5PFRCYXNlPiB7fSBhcyBhbnlcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isNil } from '../../../utils';
|
|
2
2
|
import { AttributeOptionHelper } from './helpers';
|
|
3
3
|
export const withDeleteHasuraGraphQL = (MixinBase) => {
|
|
4
4
|
return class DeleteHasuraGraphQLMixin extends MixinBase {
|
|
@@ -8,11 +8,9 @@ export const withDeleteHasuraGraphQL = (MixinBase) => {
|
|
|
8
8
|
this.deleteGraphQLOperation = options?.deleteGraphQLOperation || `delete_${this.tableName}_by_pk`;
|
|
9
9
|
}
|
|
10
10
|
async delete(identifiers) {
|
|
11
|
-
this.logger = DebugHelper.from(this, 'delete');
|
|
12
11
|
const instance = this.model.toInstance(identifiers);
|
|
13
12
|
await this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
|
|
14
|
-
|
|
15
|
-
if (isNil(instance.identifier[identifierBinded]))
|
|
13
|
+
if (isNil(instance[identifier]))
|
|
16
14
|
return ids;
|
|
17
15
|
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
18
16
|
const value = columnOption.to(identifiers[identifier], instance);
|
|
@@ -28,4 +26,4 @@ export const withDeleteHasuraGraphQL = (MixinBase) => {
|
|
|
28
26
|
}
|
|
29
27
|
};
|
|
30
28
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUd6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFNakQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FJckMsU0FBMkQsRUFJM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSx3QkFBeUIsU0FBUSxTQUFTO1FBR3JELFlBQVksR0FBRyxNQUFhO1lBQzFCLE1BQU0sT0FBTyxHQUE0QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLFVBQVUsSUFBSSxDQUFDLFNBQVMsUUFBUSxDQUFBO1FBQ25HLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQTBDO1lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQWtCLENBQUMsQ0FBQTtZQUUxRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQ2pCLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQ2xELEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUE7Z0JBRTNDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFpRCxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBRXZHLE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO3dCQUNoRSxLQUFLO3dCQUNMLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUE7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQTtRQUNILENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVsZXRlUmVwb3NpdG9yeSwgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcbiAgZGVsZXRlR3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgR3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+ICYgRGVsZXRlUmVwb3NpdG9yeTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8W0RlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zLCAuLi5hbnlbXV0sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgRGVsZXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRGVsZXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGRlbGV0ZUdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zOiBhbnlbXSkge1xuICAgICAgY29uc3Qgb3B0aW9uczogRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYGRlbGV0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGUoaWRlbnRpZmllcnM6IERlbGV0ZVJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShpZGVudGlmaWVycyBhcyBhbnkpXG5cbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oXG4gICAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXG4gICAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcbiAgICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyXSkpIHJldHVybiBpZHNcblxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllciBhcyBrZXlvZiBEZWxldGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPl0sIGluc3RhbmNlKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmlkcyxcbiAgICAgICAgICAgIFtjb2x1bW5PcHRpb24uY29sdW1uTmFtZV06IHtcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIClcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -1,50 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isNil } from '../../../utils';
|
|
2
|
+
import { BindFilterQueryHelper } from './helpers';
|
|
3
3
|
export const withFindHasuraGraphQL = (MixinBase) => {
|
|
4
4
|
return class FindHasuraGraphQLMixin extends MixinBase {
|
|
5
|
-
|
|
6
|
-
|
|
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.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)?.columnName || attr);
|
|
33
|
-
}
|
|
34
|
-
async find(params) {
|
|
35
|
-
this.logger = DebugHelper.from(this, 'find');
|
|
36
|
-
const { filters, limits, orderBy, options } = params || {};
|
|
37
|
-
const enableCount = options?.enableCount ?? true;
|
|
5
|
+
async find(options) {
|
|
6
|
+
const { filters, limits, orderBy } = options || {};
|
|
38
7
|
const variablesCount = {
|
|
39
|
-
...(isNil(orderBy)
|
|
40
|
-
? {}
|
|
41
|
-
: {
|
|
42
|
-
order_by: {
|
|
43
|
-
type: `${this.tableName}_order_by!`,
|
|
44
|
-
list: true,
|
|
45
|
-
value: this.bindOrderByAttributes(orderBy, this.fields),
|
|
46
|
-
},
|
|
47
|
-
}),
|
|
8
|
+
...(isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } }),
|
|
48
9
|
...(isNil(filters)
|
|
49
10
|
? {}
|
|
50
11
|
: {
|
|
@@ -59,57 +20,27 @@ export const withFindHasuraGraphQL = (MixinBase) => {
|
|
|
59
20
|
...(isNil(limits) ? {} : limits),
|
|
60
21
|
...variablesCount,
|
|
61
22
|
};
|
|
62
|
-
const aggregateFields = [
|
|
63
|
-
...(enableCount ? ['count'] : []),
|
|
64
|
-
...this.bindAggretageAttributes(params.options, this.fields),
|
|
65
|
-
];
|
|
66
23
|
const result = await this.query([
|
|
67
24
|
{
|
|
68
25
|
operation: this.tableName,
|
|
69
|
-
fields:
|
|
70
|
-
?
|
|
26
|
+
fields: options.fields
|
|
27
|
+
? options.fields
|
|
71
28
|
.map((fieldName) => this.fields.find((fieldOption) => fieldOption === fieldName) ??
|
|
72
29
|
this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName))
|
|
73
30
|
.filter(Boolean)
|
|
74
31
|
: this.fields,
|
|
75
32
|
variables,
|
|
76
33
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{
|
|
83
|
-
aggregate: aggregateFields,
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
variables: variablesCount,
|
|
87
|
-
},
|
|
88
|
-
]
|
|
89
|
-
: []),
|
|
34
|
+
{
|
|
35
|
+
operation: `${this.tableName}_aggregate`,
|
|
36
|
+
fields: [{ aggregate: ['count'] }],
|
|
37
|
+
variables: variablesCount,
|
|
38
|
+
},
|
|
90
39
|
]);
|
|
91
40
|
const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity,
|
|
95
|
-
...(options?.minimal?.length
|
|
96
|
-
? {
|
|
97
|
-
minimal: options.minimal.reduce((minimals, current) => ({
|
|
98
|
-
...minimals,
|
|
99
|
-
...set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
|
|
100
|
-
}), {}),
|
|
101
|
-
}
|
|
102
|
-
: {}),
|
|
103
|
-
...(options?.maximum?.length
|
|
104
|
-
? {
|
|
105
|
-
maximum: options.maximum.reduce((maximums, current) => ({
|
|
106
|
-
...maximums,
|
|
107
|
-
...set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
|
|
108
|
-
}), {}),
|
|
109
|
-
}
|
|
110
|
-
: {}),
|
|
111
|
-
};
|
|
41
|
+
const count = result[`${this.tableName}_aggregate`].aggregate.count;
|
|
42
|
+
return { count, data };
|
|
112
43
|
}
|
|
113
44
|
};
|
|
114
45
|
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FJbkMsU0FBMkQsRUFDM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFBdUIsU0FBUSxTQUFTO1FBQTlDOztZQWdITCwwQkFBcUIsR0FBRyxDQUFDLE9BQWlDLEVBQUUsTUFBa0MsRUFBRSxFQUFFLENBQ2hHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN6QixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixHQUFHLEdBQUc7Z0JBQ047b0JBQ0UsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7eUJBQ3BHLFVBQVUsQ0FBQyxFQUNaLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLEtBQUssS0FBSzt3QkFDeEUsQ0FBQyxDQUFDLGdCQUFnQjt3QkFDbEIsQ0FBQyxDQUFDLGlCQUFpQjtpQkFDeEI7YUFDRixFQUNELEVBQUUsQ0FDSCxDQUFBO1lBRUgsNEJBQXVCLEdBQUcsQ0FDeEIsVUFHQyxFQUNELE1BQWtDLEVBQ2xDLEVBQUUsQ0FBQztnQkFDSCxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNO29CQUM3QixDQUFDLENBQUM7d0JBQ0U7NEJBQ0UsR0FBRyxF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ZXBvc2l0b3J5UGFyYW1zLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxuICBSZXBvc2l0b3J5T3JkZXJCeSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRGVidWdIZWxwZXIsIGlzTmlsLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFBhcmFtcywgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciwgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBGaW5kSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICBhc3luYyBmaW5kKHBhcmFtcz86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ2ZpbmQnKVxuXG4gICAgICBjb25zdCB7IGZpbHRlcnMsIGxpbWl0cywgb3JkZXJCeSwgb3B0aW9ucyB9ID0gcGFyYW1zIHx8IHt9XG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcbiAgICAgIGNvbnN0IHZhcmlhYmxlc0NvdW50ID0ge1xuICAgICAgICAuLi4oaXNOaWwob3JkZXJCeSlcbiAgICAgICAgICA/IHt9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIG9yZGVyX2J5OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X29yZGVyX2J5IWAsXG4gICAgICAgICAgICAgICAgbGlzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5iaW5kT3JkZXJCeUF0dHJpYnV0ZXMob3JkZXJCeSwgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgIC4uLihpc05pbChmaWx0ZXJzKVxuICAgICAgICAgID8ge31cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLk1ha2VHcmFwaFFMV2hlcmUoZmlsdGVycywgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICAgIHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9ib29sX2V4cGAsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAgICAgLi4uKGlzTmlsKGxpbWl0cykgPyB7fSA6IGxpbWl0cyksXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxuICAgICAgfVxuICAgICAgY29uc3QgYWdncmVnYXRlRmllbGRzID0gW1xuICAgICAgICAuLi4oZW5hYmxlQ291bnQgPyBbJ2NvdW50J10gOiBbXSksXG4gICAgICAgIC4uLnRoaXMuYmluZEFnZ3JldGFnZUF0dHJpYnV0ZXMocGFyYW1zLm9wdGlvbnMsIHRoaXMuZmllbGRzKSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnkoW1xuICAgICAgICB7XG4gICAgICAgICAgb3BlcmF0aW9uOiB0aGlzLnRhYmxlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHBhcmFtcy5maWVsZHNcbiAgICAgICAgICAgID8gcGFyYW1zLmZpZWxkc1xuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAoZmllbGROYW1lKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBmaWVsZE5hbWUpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICA6IHRoaXMuZmllbGRzLFxuICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKGFnZ3JlZ2F0ZUZpZWxkcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IGAke3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGU6IGFnZ3JlZ2F0ZUZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxuICAgICAgICAgICAgICB9IGFzIEdyYXBoUUxQYXJhbXM8TUJhc2U+LFxuICAgICAgICAgICAgXVxuICAgICAgICAgIDogW10pLFxuICAgICAgXSlcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSA9PlxuICAgICAgICB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhLFxuICAgICAgICBjb3VudDogZW5hYmxlQ291bnQgPyByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5jb3VudCA6IEluZmluaXR5LFxuICAgICAgICAuLi4ob3B0aW9ucz8ubWluaW1hbD8ubGVuZ3RoXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG1pbmltYWw6IG9wdGlvbnMubWluaW1hbC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKG1pbmltYWxzLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uKG1pbmltYWxzIGFzIGFueSksXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXG4gICAgICAgICAgICAgICAgICAgIG1pbmltYWxzIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudCBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1pbltcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICkgYXMgUmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+WydtaW5pbWFsJ10sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIC4uLihvcHRpb25zPy5tYXhpbXVtPy5sZW5ndGhcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbWF4aW11bTogb3B0aW9ucy5tYXhpbXVtLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobWF4aW11bXMsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi4obWF4aW11bXMgYXMgYW55KSxcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bXMgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50IGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgXS5hZ2dyZWdhdGUubWF4W1xuICAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5wb3AoKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgKGN1cnJlbnQgYXMgYW55KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKSBhcyBSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT5bJ21heGltdW0nXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kT3JkZXJCeUF0dHJpYnV0ZXMgPSAob3JkZXJCeTogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+LCBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KSA9PlxuICAgICAgT2JqZWN0LmtleXMob3JkZXJCeSkucmVkdWNlKFxuICAgICAgICAoYWNjLCBjdXJyZW50KSA9PiBbXG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFtBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGN1cnJlbnQgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sIGZpZWxkcylcbiAgICAgICAgICAgICAgLmNvbHVtbk5hbWVdOlxuICAgICAgICAgICAgICBvcmRlckJ5W2N1cnJlbnQgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dID09PSAnYXNjJ1xuICAgICAgICAgICAgICAgID8gJ2FzY19udWxsc19sYXN0J1xuICAgICAgICAgICAgICAgIDogJ2Rlc2NfbnVsbHNfbGFzdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgW10sXG4gICAgICApXG5cbiAgICBiaW5kQWdncmV0YWdlQXR0cmlidXRlcyA9IChcbiAgICAgIGFnZ3JlZ2F0ZXM6IHtcbiAgICAgICAgbWluaW1hbD86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtaW5pbWFsJ11cbiAgICAgICAgbWF4aW11bT86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtYXhpbXVtJ11cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICkgPT4gW1xuICAgICAgLi4uKGFnZ3JlZ2F0ZXM/Lm1pbmltYWw/Lmxlbmd0aFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWluOiB0aGlzLmJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zKGFnZ3JlZ2F0ZXM/Lm1pbmltYWwsIGZpZWxkcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWF4aW11bT8ubGVuZ3RoXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtYXg6IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWF4aW11bSwgZmllbGRzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICBdXG5cbiAgICBiaW5kQXR0cmlidXRlc1RvQ29sdW1ucyA9IChcbiAgICAgIGF0dHJpYnV0ZXM6IEFycmF5PE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+IHwge30+LFxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICApID0+XG4gICAgICBhdHRyaWJ1dGVzLm1hcChcbiAgICAgICAgKGF0dHIpID0+XG4gICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgIGF0dHIudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgYXR0cixcbiAgICAgIClcbiAgfVxufVxuIl19
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBSW5DLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0sc0JBQXVCLFNBQVEsU0FBUztRQUNuRCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BS1Y7WUFDQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFBO1lBQ2xELE1BQU0sY0FBYyxHQUFHO2dCQUNyQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQzVHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNoQixDQUFDLENBQUMsRUFBRTtvQkFDSixDQUFDLENBQUM7d0JBQ0UsS0FBSyxFQUFFOzRCQUNMLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzs0QkFDbkUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVzs0QkFDbEMsUUFBUSxFQUFFLElBQUk7eUJBQ2Y7cUJBQ0YsQ0FBQzthQUNQLENBQUE7WUFDRCxNQUFNLFNBQVMsR0FBRztnQkFDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLEdBQUcsY0FBYzthQUNsQixDQUFBO1lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUM5QjtvQkFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTt3QkFDcEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNOzZCQUNYLEdBQUcsQ0FDRixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUM7NEJBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUNwRjs2QkFDQSxNQUFNLENBQUMsT0FBTyxDQUFDO3dCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07b0JBQ2YsU0FBUztpQkFDVjtnQkFDRDtvQkFDRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZO29CQUN4QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLFNBQVMsRUFBRSxjQUFjO2lCQUMxQjthQUNGLENBQUMsQ0FBQTtZQUNGLE1BQU0sSUFBSSxHQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBb0MsRUFBRSxFQUFFLENBQ3hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FDaEMsQ0FBQTtZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUE7WUFFbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUN4QixDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZpbmRSZXBvc2l0b3J5LFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpc05pbCwgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbikgPT4ge1xuICByZXR1cm4gY2xhc3MgRmluZEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgYXN5bmMgZmluZChvcHRpb25zPzoge1xuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+XG4gICAgICBmaWVsZHM/OiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+W11cbiAgICAgIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8TUJhc2U+XG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+XG4gICAgfSk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XG4gICAgICBjb25zdCB7IGZpbHRlcnMsIGxpbWl0cywgb3JkZXJCeSB9ID0gb3B0aW9ucyB8fCB7fVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KSA/IHt9IDogeyBvcmRlcl9ieTogeyB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCwgbGlzdDogdHJ1ZSwgdmFsdWU6IG9yZGVyQnkgfSB9KSxcbiAgICAgICAgLi4uKGlzTmlsKGZpbHRlcnMpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfVxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgICAuLi4oaXNOaWwobGltaXRzKSA/IHt9IDogbGltaXRzKSxcbiAgICAgICAgLi4udmFyaWFibGVzQ291bnQsXG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFtcbiAgICAgICAge1xuICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy50YWJsZU5hbWUsXG4gICAgICAgICAgZmllbGRzOiBvcHRpb25zLmZpZWxkc1xuICAgICAgICAgICAgPyBvcHRpb25zLmZpZWxkc1xuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAoZmllbGROYW1lKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBmaWVsZE5hbWUpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICA6IHRoaXMuZmllbGRzLFxuICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9wZXJhdGlvbjogYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWAsXG4gICAgICAgICAgZmllbGRzOiBbeyBhZ2dyZWdhdGU6IFsnY291bnQnXSB9XSxcbiAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSA9PlxuICAgICAgICB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpLFxuICAgICAgKVxuICAgICAgY29uc3QgY291bnQgPSByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5jb3VudFxuXG4gICAgICByZXR1cm4geyBjb3VudCwgZGF0YSB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NotFoundError } from '../../../errors';
|
|
2
|
-
import {
|
|
2
|
+
import { isNil } from '../../../utils';
|
|
3
3
|
import { AttributeOptionHelper } from './helpers';
|
|
4
4
|
export const withGetHasuraGraphQL = (MixinBase) => {
|
|
5
5
|
return class GetHasuraGraphQLMixin extends MixinBase {
|
|
@@ -9,11 +9,9 @@ export const withGetHasuraGraphQL = (MixinBase) => {
|
|
|
9
9
|
this.getGraphQLOperation = options?.getGraphQLOperation || `${this.tableName}_by_pk`;
|
|
10
10
|
}
|
|
11
11
|
async get(identifiers) {
|
|
12
|
-
this.logger = DebugHelper.from(this, 'get');
|
|
13
12
|
const instance = this.model.toInstance(identifiers);
|
|
14
13
|
const result = await this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
|
|
15
|
-
|
|
16
|
-
if (isNil(instance[identifierBinded]))
|
|
14
|
+
if (isNil(instance[identifier]))
|
|
17
15
|
return ids;
|
|
18
16
|
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
19
17
|
const value = columnOption?.to?.(identifiers[identifier], instance) ||
|
|
@@ -34,4 +32,4 @@ export const withGetHasuraGraphQL = (MixinBase) => {
|
|
|
34
32
|
}
|
|
35
33
|
};
|
|
36
34
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFNakQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FJbEMsU0FBMkQsRUFDM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxxQkFBc0IsU0FBUSxTQUFTO1FBR2xELFlBQVksR0FBRyxNQUFhO1lBQzFCLE1BQU0sT0FBTyxHQUF5QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVqRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsUUFBUSxDQUFBO1FBQ3RGLENBQUM7UUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQXVDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUE7Z0JBRTNDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixNQUFNLEtBQUssR0FDVCxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQXNDLENBQUMsRUFBRSxRQUFRLENBQUM7b0JBQ2pGLFdBQVcsQ0FBQyxVQUFzQyxDQUFDLENBQUE7Z0JBRXJELE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO3dCQUNoRSxLQUFLO3dCQUNMLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUE7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQTtZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtZQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtZQUVsRixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBpc05pbCwgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBnZXRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0SGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBHZXRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHZXRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgZ2V0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBHZXRDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uZ2V0R3JhcGhRTE9wZXJhdGlvbiB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fYnlfcGtgXG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0KGlkZW50aWZpZXJzOiBHZXRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzKVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShcbiAgICAgICAgdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyXSkpIHJldHVybiBpZHNcblxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgY29sdW1uT3B0aW9uPy50bz8uKGlkZW50aWZpZXJzW2lkZW50aWZpZXIgYXMga2V5b2YgdHlwZW9mIGlkZW50aWZpZXJzXSwgaW5zdGFuY2UpIHx8XG4gICAgICAgICAgICBpZGVudGlmaWVyc1tpZGVudGlmaWVyIGFzIGtleW9mIHR5cGVvZiBpZGVudGlmaWVyc11cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZihjb2x1bW5PcHRpb24udHlwZSB8fCB2YWx1ZSksXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSksXG4gICAgICApXG4gICAgICBjb25zdCBkYXRhID0gcmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl1cblxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgJHtpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lfSBub3QgZm91bmRgKVxuXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl0pXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
1
|
import { mutation, query } from 'gql-query-builder';
|
|
3
|
-
import
|
|
2
|
+
import fetch from 'node-fetch';
|
|
3
|
+
import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
|
|
4
4
|
import { GraphQLFieldHelper } from './helpers';
|
|
5
5
|
export const withHasuraGraphQL = (MixinBase) => {
|
|
6
6
|
return class HasuraGraphQLMixin extends MixinBase {
|
|
@@ -12,19 +12,15 @@ export const withHasuraGraphQL = (MixinBase) => {
|
|
|
12
12
|
this.authOptions = options.authOptions;
|
|
13
13
|
this.model = options.model;
|
|
14
14
|
this.fields = options.fields || this.model.identifiersFields;
|
|
15
|
-
this.logger = DebugHelper.from(this);
|
|
16
15
|
}
|
|
17
16
|
get headers() {
|
|
18
17
|
return {
|
|
19
18
|
'Content-Type': 'application/json',
|
|
20
|
-
...(isNil(this.authOptions
|
|
21
|
-
...(isNil(this.authOptions
|
|
22
|
-
...(isNil(this.authOptions
|
|
19
|
+
...(isNil(this.authOptions.authToken) ? {} : { Authorization: this.authOptions.authToken }),
|
|
20
|
+
...(isNil(this.authOptions.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions.adminSecret }),
|
|
21
|
+
...(isNil(this.authOptions.authRole)
|
|
23
22
|
? {}
|
|
24
|
-
: {
|
|
25
|
-
'X-Hasura-Role': this.authOptions.authRole.role,
|
|
26
|
-
'X-Hasura-User-Id': this.authOptions?.authRole?.userId,
|
|
27
|
-
}),
|
|
23
|
+
: { 'X-Hasura-Role': this.authOptions.authRole.role, 'X-Hasura-User-Id': this.authOptions.authRole.userId }),
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
26
|
async mutation(operation, fields, variables) {
|
|
@@ -36,28 +32,29 @@ export const withHasuraGraphQL = (MixinBase) => {
|
|
|
36
32
|
return this.fetch(resultQuery);
|
|
37
33
|
}
|
|
38
34
|
async query(operation, fields, variables) {
|
|
39
|
-
const
|
|
40
|
-
operation
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
35
|
+
const resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
|
|
36
|
+
? query(operation.map((option) => ({
|
|
37
|
+
operation: option.operation,
|
|
38
|
+
variables: option.variables,
|
|
39
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
|
|
40
|
+
})))
|
|
41
|
+
: query({
|
|
42
|
+
operation,
|
|
43
|
+
variables,
|
|
44
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
45
|
+
});
|
|
46
|
+
return this.fetch(resultQuery);
|
|
48
47
|
}
|
|
49
48
|
async fetch(params) {
|
|
50
|
-
this.logger.with('params').log(params);
|
|
51
49
|
const headers = this.headers;
|
|
52
|
-
const
|
|
53
|
-
url: `${this.endpoint}`,
|
|
50
|
+
const response = await fetch(`${this.endpoint}`, {
|
|
54
51
|
method: 'POST',
|
|
55
|
-
|
|
52
|
+
body: JSON.stringify(params),
|
|
56
53
|
headers,
|
|
57
54
|
});
|
|
55
|
+
const result = await response.json();
|
|
58
56
|
if (!isNil(result.errors))
|
|
59
57
|
throw new Error(JSON.stringify(result.errors));
|
|
60
|
-
this.logger.with('returns').log(result);
|
|
61
58
|
return result.data;
|
|
62
59
|
}
|
|
63
60
|
getAttributeGraphQLTypeOf(value) {
|
|
@@ -83,26 +80,13 @@ export const withHasuraGraphQL = (MixinBase) => {
|
|
|
83
80
|
return value;
|
|
84
81
|
return date;
|
|
85
82
|
}
|
|
86
|
-
convertDataFromHasura(data
|
|
87
|
-
const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data,
|
|
83
|
+
convertDataFromHasura(data) {
|
|
84
|
+
const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
|
|
88
85
|
return this.model.toInstance(plain);
|
|
89
86
|
}
|
|
90
87
|
convertDataToHasura(instance, update = false) {
|
|
91
88
|
return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
|
|
92
89
|
}
|
|
93
|
-
buildHasuraQueryFields({ operation, fields, variables, }) {
|
|
94
|
-
return GraphQLFieldHelper.CheckIsGraphQLParams(operation)
|
|
95
|
-
? operation.map((option) => ({
|
|
96
|
-
operation: option.operation,
|
|
97
|
-
variables: option.variables,
|
|
98
|
-
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
|
|
99
|
-
}))
|
|
100
|
-
: {
|
|
101
|
-
operation,
|
|
102
|
-
variables,
|
|
103
|
-
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
90
|
};
|
|
107
91
|
};
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRW5ELE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQXNCOUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FJL0IsU0FBWSxFQUMwRixFQUFFO0lBQ3hHLE9BQU8sTUFBTSxrQkFBbUIsU0FBUSxTQUFTO1FBdUIvQyxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBbUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBRXpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUE7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFBO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBZ0Qs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QTtRQUNyQyxDQUFDO1FBRUQsbUJBQW1CLENBQUMsUUFBZSxFQUFFLE1BQU0sR0FBRyxLQUFLO1lBQ2pELE9BQU8sa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDOUUsQ0FBQztRQUVELHNCQUFzQixDQUFDLEVBQ3JCLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxHQUtWO1lBQ0MsT0FBTyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQzNCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztvQkFDM0IsTUFBTSxFQUFFLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7aUJBQzVFLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUM7b0JBQ0UsU0FBUztvQkFDVCxTQUFTO29CQUNULE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQUM7aUJBQ3JFLENBQUE7UUFDUCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcyBmcm9tICdheGlvcydcbmltcG9ydCB7IG11dGF0aW9uLCBxdWVyeSB9IGZyb20gJ2dxbC1xdWVyeS1idWlsZGVyJ1xuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHtcbiAgRGVidWdIZWxwZXIsXG4gIGlzQm9vbGVhbixcbiAgaXNJbnRlZ2VyLFxuICBpc05hTixcbiAgaXNOaWwsXG4gIGlzTnVtYmVyLFxuICBpc1N0cmluZyxcbiAgaXNVVUlELFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLFxuICBNaXhpbkN0b3IsXG4gIHBhcnNlSVNPLFxufSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7XG4gIEZpZWxkcyxcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEZpZWxkcyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBHcmFwaFFMRmllbGRIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbnR5cGUgUXVlcnlCdWlsZGVyT3B0aW9ucyA9IHtcbiAgb3BlcmF0aW9uOiBzdHJpbmdcbiAgZmllbGRzOiBGaWVsZHNcbiAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zXG59XG5cbnR5cGUgSGFzdXJhR3JhcGhRTEludGVyY2VwdG9yczxQID0gUXVlcnlCdWlsZGVyT3B0aW9ucyB8IFF1ZXJ5QnVpbGRlck9wdGlvbnNbXT4gPSB7XG4gIHJlcXVlc3Q/OiA8Uj4ocmVxdWVzdDogUCkgPT4gUHJvbWlzZTxQICYgUj5cbiAgcmVzcG9uc2U/OiA8Uj4ocmVzcG9uc2U6IFIsIHJlcXVlc3Q6IFApID0+IFByb21pc2U8Uj5cbn1cblxuZXhwb3J0IHR5cGUgSGFzdXJhQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TW9kZWwsIE1vZGVsWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+PiA9IHtcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+XG4gIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5cbiAgZW5kcG9pbnQ6IHN0cmluZ1xuICBpbnRlcmNlcHRvcnM/OiBIYXN1cmFHcmFwaFFMSW50ZXJjZXB0b3JzXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4gIFQgZXh0ZW5kcyBNaXhpbkN0b3IgPSBNaXhpbkN0b3IsXG4+KFxuICBNaXhpbkJhc2U6IFQsXG4pOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+LCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPGFueVtdLCBIYXN1cmFDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT5bXT4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIGludGVyY2VwdG9yczogSGFzdXJhR3JhcGhRTEludGVyY2VwdG9yc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cbiAgICBsb2dnZXI6IERlYnVnSGVscGVyXG5cbiAgICBnZXQgaGVhZGVycygpOiBIYXN1cmFHcmFwaFFMSGVhZGVycyB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi4oaXNOaWwodGhpcy5hdXRoT3B0aW9ucz8uYXV0aFRva2VuKSA/IHt9IDogeyBBdXRob3JpemF0aW9uOiB0aGlzLmF1dGhPcHRpb25zPy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zPy5hZG1pblNlY3JldCkgPyB7fSA6IHsgJ1gtSGFzdXJhLUFkbWluLVNlY3JldCc6IHRoaXMuYXV0aE9wdGlvbnM/LmFkbWluU2VjcmV0IH0pLFxuICAgICAgICAuLi4oaXNOaWwodGhpcy5hdXRoT3B0aW9ucz8uYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSxcbiAgICAgICAgICAgICAgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zPy5hdXRoUm9sZT8udXNlcklkLFxuICAgICAgICAgICAgfSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zOiBhbnlbXSkge1xuICAgICAgY29uc3Qgb3B0aW9uczogSGFzdXJhQ29uc3RydWN0b3JQYXJhbXM8TUJhc2U+ID0gcGFyYW1zWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy50YWJsZU5hbWUgPSBvcHRpb25zLnRhYmxlTmFtZVxuICAgICAgdGhpcy5lbmRwb2ludCA9IG9wdGlvbnMuZW5kcG9pbnRcbiAgICAgIHRoaXMuYXV0aE9wdGlvbnMgPSBvcHRpb25zLmF1dGhPcHRpb25zXG4gICAgICB0aGlzLm1vZGVsID0gb3B0aW9ucy5tb2RlbFxuICAgICAgdGhpcy5maWVsZHMgPSBvcHRpb25zLmZpZWxkcyB8fCAodGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPilcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzKVxuICAgIH1cblxuICAgIGFzeW5jIG11dGF0aW9uPFJldHVybkZpZWxkcyA9IGFueT4oXG4gICAgICBvcGVyYXRpb246IHN0cmluZyxcbiAgICAgIGZpZWxkcz86IHN0cmluZ1tdIHwgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPiksXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBxdWVyeTxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdLFxuICAgICAgZmllbGRzPzogc3RyaW5nW10gfCBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgYnVpbGRlZCA9IHRoaXMuYnVpbGRIYXN1cmFRdWVyeUZpZWxkcyh7XG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgZmllbGRzOiBmaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBpbnRlcnBlY3RlZCA9IChhd2FpdCB0aGlzLmludGVyY2VwdG9ycz8ucmVxdWVzdD8uKGJ1aWxkZWQpKSB8fCBidWlsZGVkXG4gICAgICBjb25zdCByZXN1bHRRdWVyeSA9IHF1ZXJ5KGludGVycGVjdGVkKVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcblxuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmludGVyY2VwdG9ycz8ucmVzcG9uc2U/LihyZXN1bHQsIGludGVycGVjdGVkKSkgfHwgcmVzdWx0XG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2g8UmV0dXJuRmllbGRzID0gYW55PihwYXJhbXM6IHsgdmFyaWFibGVzOiBhbnk7IHF1ZXJ5OiBzdHJpbmcgfSk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICB0aGlzLmxvZ2dlci53aXRoKCdwYXJhbXMnKS5sb2cocGFyYW1zKVxuXG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXG4gICAgICBjb25zdCB7IGRhdGE6IHJlc3VsdCB9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmw6IGAke3RoaXMuZW5kcG9pbnR9YCxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGRhdGE6IHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG5cbiAgICAgIGlmICghaXNOaWwocmVzdWx0LmVycm9ycykpIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShyZXN1bHQuZXJyb3JzKSlcblxuICAgICAgdGhpcy5sb2dnZXIud2l0aCgncmV0dXJucycpLmxvZyhyZXN1bHQpXG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YVxuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2Y8RmllbGRUeXBlPih2YWx1ZTogRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICAgIGlmIChpc1VVSUQodmFsdWUgYXMgYW55KSkgcmV0dXJuICd1dWlkJ1xuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXG4gICAgICBpZiAoaXNCb29sZWFuKHZhbHVlKSkgcmV0dXJuICdCb29sZWFuJ1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICd0aW1lc3RhbXB0eidcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcbiAgICAgIGlmIChpc051bWJlcih2YWx1ZSkpIHJldHVybiAnbnVtZXJpYydcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxuICAgIH1cblxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xuICAgICAgaWYgKCEvXlxcZHs0fS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pJC8udGVzdCh2YWx1ZSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXG5cbiAgICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICByZXR1cm4gZGF0ZVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhRnJvbUhhc3VyYShcbiAgICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gICAgICBmaWVsZHM/OiBzdHJpbmdbXSB8IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICk6IE1CYXNlIHtcbiAgICAgIGNvbnN0IHBsYWluID0gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlRnJvbShcbiAgICAgICAgZGF0YSxcbiAgICAgICAgKGZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPikgfHwgdGhpcy5maWVsZHMsXG4gICAgICApXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW4pXG4gICAgfVxuXG4gICAgY29udmVydERhdGFUb0hhc3VyYShpbnN0YW5jZTogTUJhc2UsIHVwZGF0ZSA9IGZhbHNlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgICByZXR1cm4gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlVG8oaW5zdGFuY2UsIHRoaXMuZmllbGRzLCB1cGRhdGUpXG4gICAgfVxuXG4gICAgYnVpbGRIYXN1cmFRdWVyeUZpZWxkcyh7XG4gICAgICBvcGVyYXRpb24sXG4gICAgICBmaWVsZHMsXG4gICAgICB2YXJpYWJsZXMsXG4gICAgfToge1xuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxuICAgICAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zXG4gICAgfSk6IFF1ZXJ5QnVpbGRlck9wdGlvbnMgfCBRdWVyeUJ1aWxkZXJPcHRpb25zW10ge1xuICAgICAgcmV0dXJuIEdyYXBoUUxGaWVsZEhlbHBlci5DaGVja0lzR3JhcGhRTFBhcmFtcyhvcGVyYXRpb24pXG4gICAgICAgID8gb3BlcmF0aW9uLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxuICAgICAgICAgICAgdmFyaWFibGVzOiBvcHRpb24udmFyaWFibGVzLFxuICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKG9wdGlvbi5maWVsZHMpLFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZHMpLFxuICAgICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRzlCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBR04sUUFBUSxHQUNULE1BQU0sZ0JBQWdCLENBQUE7QUFVdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBVTlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLFNBQVksRUFDa0YsRUFBRTtJQUNoRyxPQUFPLE1BQU0sa0JBQW1CLFNBQVEsU0FBUztRQWtCL0MsWUFBWSxHQUFHLE1BQWE7WUFDMUIsTUFBTSxPQUFPLEdBQTZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVuRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUE7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO1lBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtZQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWdELENBQUE7UUFDOUYs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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG11dGF0aW9uLCBxdWVyeSB9IGZyb20gJ2dxbC1xdWVyeS1idWlsZGVyJ1xuaW1wb3J0IGZldGNoIGZyb20gJ25vZGUtZmV0Y2gnXG5cbmltcG9ydCB7IEJhc2VNb2RlbEJ1aWxkZXIsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7XG4gIGlzQm9vbGVhbixcbiAgaXNJbnRlZ2VyLFxuICBpc05hTixcbiAgaXNOaWwsXG4gIGlzTnVtYmVyLFxuICBpc1N0cmluZyxcbiAgaXNVVUlELFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLFxuICBNaXhpbkN0b3IsXG4gIHBhcnNlSVNPLFxufSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7XG4gIEdyYXBoUUxQYXJhbXMsXG4gIEdyYXBoUUxSZXBvc2l0b3J5LFxuICBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMsXG4gIEhhc3VyYUdyYXBoUUxGaWVsZHMsXG4gIEhhc3VyYUdyYXBoUUxIZWFkZXJzLFxuICBWYXJpYWJsZU9wdGlvbnMsXG59IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBHcmFwaFFMRmllbGRIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yUGFyYW1zPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPiA9IHtcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+XG4gIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD5cbiAgZW5kcG9pbnQ6IHN0cmluZ1xuICBhdXRoT3B0aW9uczogSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoSGFzdXJhR3JhcGhRTCA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oXG4gIE1peGluQmFzZTogVCxcbik6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4sIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8YW55W10sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4gPSBwYXJhbXNbMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLnRhYmxlTmFtZSA9IG9wdGlvbnMudGFibGVOYW1lXG4gICAgICB0aGlzLmVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludFxuICAgICAgdGhpcy5hdXRoT3B0aW9ucyA9IG9wdGlvbnMuYXV0aE9wdGlvbnNcbiAgICAgIHRoaXMubW9kZWwgPSBvcHRpb25zLm1vZGVsXG4gICAgICB0aGlzLmZpZWxkcyA9IG9wdGlvbnMuZmllbGRzIHx8ICh0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KVxuICAgIH1cblxuICAgIGFzeW5jIG11dGF0aW9uPFJldHVybkZpZWxkcyA9IGFueT4oXG4gICAgICBvcGVyYXRpb246IHN0cmluZyxcbiAgICAgIGZpZWxkcz86IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zLFxuICAgICk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCByZXN1bHRRdWVyeSA9IG11dGF0aW9uKHtcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZHMpLFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXG4gICAgfVxuXG4gICAgYXN5bmMgcXVlcnk8UmV0dXJuRmllbGRzID0gYW55PihcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nIHwgR3JhcGhRTFBhcmFtczxNQmFzZT5bXSxcbiAgICAgIGZpZWxkcz86IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zLFxuICAgICk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCByZXN1bHRRdWVyeSA9IEdyYXBoUUxGaWVsZEhlbHBlci5DaGVja0lzR3JhcGhRTFBhcmFtcyhvcGVyYXRpb24pXG4gICAgICAgID8gcXVlcnkoXG4gICAgICAgICAgICBvcGVyYXRpb24ubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbjogb3B0aW9uLm9wZXJhdGlvbixcbiAgICAgICAgICAgICAgdmFyaWFibGVzOiBvcHRpb24udmFyaWFibGVzLFxuICAgICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMob3B0aW9uLmZpZWxkcyksXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgKVxuICAgICAgICA6IHF1ZXJ5KHtcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZHMpLFxuICAgICAgICAgIH0pXG5cbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxuICAgIH1cblxuICAgIGFzeW5jIGZldGNoPFJldHVybkZpZWxkcyA9IGFueT4ocGFyYW1zOiB7IHZhcmlhYmxlczogYW55OyBxdWVyeTogc3RyaW5nIH0pOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgaGVhZGVycyA9IHRoaXMuaGVhZGVyc1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHt0aGlzLmVuZHBvaW50fWAsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBhcmFtcyksXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgaWYgKCFpc05pbChyZXN1bHQuZXJyb3JzKSkgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5lcnJvcnMpKVxuXG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGFcbiAgICB9XG5cbiAgICBnZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mPEZpZWxkVHlwZT4odmFsdWU6IEZpZWxkVHlwZSk6IHN0cmluZyB7XG4gICAgICBpZiAoaXNVVUlEKHZhbHVlIGFzIGFueSkpIHJldHVybiAndXVpZCdcbiAgICAgIGlmIChpc1N0cmluZyh2YWx1ZSkpIHJldHVybiAnU3RyaW5nJ1xuICAgICAgaWYgKGlzQm9vbGVhbih2YWx1ZSkpIHJldHVybiAnQm9vbGVhbidcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiAndGltZXN0YW1wdHonXG4gICAgICBpZiAoaXNJbnRlZ2VyKHZhbHVlKSkgcmV0dXJuICdJbnQnXG4gICAgICBpZiAoaXNOdW1iZXIodmFsdWUpKSByZXR1cm4gJ251bWVyaWMnXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcignVHlwZSBub3QgaW1wbGVtZW50ZWQgeWV0JylcbiAgICB9XG5cbiAgICBjaGVja0lmSXNEYXRlVGltZUFuZFBhcnNlKHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgc3RyaW5nIHtcbiAgICAgIGlmICghL15cXGR7NH0tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVswLTldfDNbMDFdKSQvLnRlc3QodmFsdWUpKSByZXR1cm4gdmFsdWVcblxuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlSVNPKHZhbHVlKVxuXG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gdmFsdWVcblxuICAgICAgcmV0dXJuIGRhdGVcbiAgICB9XG5cbiAgICBjb252ZXJ0RGF0YUZyb21IYXN1cmEoZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPik6IE1CYXNlIHtcbiAgICAgIGNvbnN0IHBsYWluID0gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlRnJvbShkYXRhLCB0aGlzLmZpZWxkcylcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbilcbiAgICB9XG5cbiAgICBjb252ZXJ0RGF0YVRvSGFzdXJhKGluc3RhbmNlOiBNQmFzZSwgdXBkYXRlID0gZmFsc2UpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+IHtcbiAgICAgIHJldHVybiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVUbyhpbnN0YW5jZSwgdGhpcy5maWVsZHMsIHVwZGF0ZSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseModel, UpdateOptionActions, } from '../../../domain';
|
|
2
|
-
import {
|
|
2
|
+
import { is, isNil } from '../../../utils';
|
|
3
3
|
import { AttributeOptionHelper } from './helpers';
|
|
4
4
|
export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
5
5
|
const getValueByAction = (options) => {
|
|
@@ -20,7 +20,6 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
|
20
20
|
this.updateGraphQLPKType = options?.updateGraphQLPKType || `${this.tableName}_pk_columns_input`;
|
|
21
21
|
}
|
|
22
22
|
async update(data) {
|
|
23
|
-
this.logger = DebugHelper.from(this, 'update');
|
|
24
23
|
const plainData = this.paramsToPlain(data);
|
|
25
24
|
await this.mutation(this.updateGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), {
|
|
26
25
|
_set: {
|
|
@@ -46,11 +45,10 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
|
46
45
|
getUpdateModelKeys(data) {
|
|
47
46
|
const instance = this.model.toInstance(data);
|
|
48
47
|
return this.model.identifiersFields.reduce((ids, identifier) => {
|
|
49
|
-
|
|
50
|
-
if (isNil(instance.identifier[identifierBinded]))
|
|
48
|
+
if (isNil(instance[identifier]))
|
|
51
49
|
return ids;
|
|
52
|
-
const columnOption = AttributeOptionHelper.FindByAttribute(
|
|
53
|
-
const value = columnOption?.to?.(data[
|
|
50
|
+
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
51
|
+
const value = columnOption?.to?.(data[identifier], instance) || data[columnOption.attributeName];
|
|
54
52
|
return {
|
|
55
53
|
...ids,
|
|
56
54
|
[columnOption.columnName]: value,
|
|
@@ -59,4 +57,4 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
|
59
57
|
}
|
|
60
58
|
};
|
|
61
59
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFLVCxtQkFBbUIsR0FHcEIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFHMUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBY2pELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBNkIsRUFBVyxFQUFFO1FBQ2xFLElBQUksT0FBTyxZQUFZLFNBQVM7WUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMxRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUE7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUM3RyxPQUFPLElBQUksQ0FBQTtRQUViLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUN0QixDQUFDLENBQUE7SUFFRCxPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUtyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFcEQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxVQUFVLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtZQUNqRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsT0FBTyxFQUFFLHVCQUF1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxDQUFBO1lBQ2hHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxtQkFBbUIsQ0FBQTtRQUNqRyxDQUFDO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFtQztZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBRTlDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFMUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUNqQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUM5QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNsRCxFQUMvQjtnQkFDRSxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyx1QkFBdUI7b0JBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDO29CQUN2RSxRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTthQUMxRyxDQUNGLENBQUE7WUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7UUFFRCxhQUFhLENBQUMsTUFBcUM7WUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUV4QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBRWxELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQy9CLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDckIsR0FBRyxJQUFJO2dCQUNQLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBaUQsQ0FBQyxLQUFLLFNBQVMsSUFBSTtvQkFDN0UsQ0FBQyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FDNUIsRUFBRSxDQUF1QixNQUFNLENBQUMsVUFBaUQsQ0FBQyxDQUFDLENBQ3BGO2lCQUNGLENBQUM7YUFDSCxDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUE7UUFDSCxDQUFDO1FBRUQsa0JBQWtCLENBQUMsSUFBb0I7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtnQkFDN0QsTUFBTSxnQkFBZ0IsR0FHbEIsVUFBVSxDQUFBO2dCQUVkLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFBRSxPQUFPLEdBQUcsQ0FBQTtnQkFFNUQsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFBO2dCQUNELE1BQU0sS0FBSyxHQUFHLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUV0RyxPQUFPO29CQUNMLEdBQUcsR0FBRztvQkFDTixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO2lCQUNqQyxDQUFBO1lBQ0gsQ0FBQyxFQUFFLEVBQStDLENBQUMsQ0FBQTtRQUNyRCxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VNb2RlbCxcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zLFxuICBVcGRhdGVPcHRpb25BY3Rpb25zLFxuICBVcGRhdGVPcHRpb25zLFxuICBVcGRhdGVSZXBvc2l0b3J5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgaXMsIGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgVXBkYXRlSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlUeXBlPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4+ID0gVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4gJiB7XG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFtVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcywgLi4uYW55W11dLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgY29uc3QgZ2V0VmFsdWVCeUFjdGlvbiA9IChvcHRpb25zOiBVcGRhdGVPcHRpb25zPE1CYXNlPik6IHVua25vd24gPT4ge1xuICAgIGlmIChvcHRpb25zIGluc3RhbmNlb2YgQmFzZU1vZGVsKSByZXR1cm4gb3B0aW9ucy50b1BsYWluKClcbiAgICBpZiAoaXNOaWwob3B0aW9ucz8uYWN0aW9uKSkgcmV0dXJuIG9wdGlvbnNcbiAgICBpZiAoW1VwZGF0ZU9wdGlvbkFjdGlvbnMuUkVNT1ZFX0ZJRUxELnRvU3RyaW5nKCksIFVwZGF0ZU9wdGlvbkFjdGlvbnMuTlVMTC50b1N0cmluZygpXS5pbmNsdWRlcyhvcHRpb25zLmFjdGlvbikpXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIG9wdGlvbnMudmFsdWVcbiAgfVxuXG4gIHJldHVybiBjbGFzcyBVcGRhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBVcGRhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdXBkYXRlR3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG4gICAgdXBkYXRlR3JhcGhRTE9iamVjdFR5cGU6IHN0cmluZ1xuICAgIHVwZGF0ZUdyYXBoUUxQS1R5cGU6IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zOiBhbnlbXSkge1xuICAgICAgY29uc3Qgb3B0aW9uczogVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYHVwZGF0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fc2V0X2lucHV0YFxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTFBLVHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fcGtfY29sdW1uc19pbnB1dGBcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGUoZGF0YTogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ3VwZGF0ZScpXG5cbiAgICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbihkYXRhKVxuXG4gICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKFxuICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBfc2V0OiB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKSwgdHJ1ZSksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBrX2NvbHVtbnM6IHsgdHlwZTogdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlLCB2YWx1ZTogdGhpcy5nZXRVcGRhdGVNb2RlbEtleXMocGxhaW5EYXRhKSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbkRhdGEpXG4gICAgfVxuXG4gICAgcGFyYW1zVG9QbGFpbihwYXJhbXM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8TUJhc2U+KTogUGFydGlhbDxNQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXG5cbiAgICAgIGlmIChtb2RlbC5pc01vZGVsKHBhcmFtcykpIHJldHVybiBwYXJhbXMudG9QbGFpbigpXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZShcbiAgICAgICAgKGRhdGEsIGN1cnJlbnRLZXkpID0+ICh7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAuLi4ocGFyYW1zW2N1cnJlbnRLZXkgYXMga2V5b2YgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT5dICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgICAgW2N1cnJlbnRLZXldOiBnZXRWYWx1ZUJ5QWN0aW9uKFxuICAgICAgICAgICAgICBpczxVcGRhdGVPcHRpb25zPE1CYXNlPj4ocGFyYW1zW2N1cnJlbnRLZXkgYXMga2V5b2YgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT5dKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRVcGRhdGVNb2RlbEtleXMoZGF0YTogUGFydGlhbDxNQmFzZT4pOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzPE1CYXNlPiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShkYXRhKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICBjb25zdCBpZGVudGlmaWVyQmluZGVkOiBFeHRyYWN0PFxuICAgICAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl1cbiAgICAgICAgPiA9IGlkZW50aWZpZXJcblxuICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2UuaWRlbnRpZmllcltpZGVudGlmaWVyQmluZGVkXSkpIHJldHVybiBpZHNcblxuICAgICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlPE1CYXNlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPj4oXG4gICAgICAgICAgaWRlbnRpZmllckJpbmRlZCxcbiAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbHVtbk9wdGlvbj8udG8/LihkYXRhW2lkZW50aWZpZXJCaW5kZWRdLCBpbnN0YW5jZSkgfHwgZGF0YVtjb2x1bW5PcHRpb24uYXR0cmlidXRlTmFtZV1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmlkcyxcbiAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB2YWx1ZSxcbiAgICAgICAgfVxuICAgICAgfSwge30gYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4pXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxtQkFBbUIsR0FHcEIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUc3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFZakQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FJckMsU0FBMkQsRUFJM0QsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE2QixFQUFXLEVBQUU7UUFDbEUsSUFBSSxPQUFPLFlBQVksU0FBUztZQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQTtRQUMxQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzdHLE9BQU8sSUFBSSxDQUFBO1FBRWIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQ3RCLENBQUMsQ0FBQTtJQUVELE9BQU8sTUFBTSx3QkFBeUIsU0FBUSxTQUFTO1FBS3JELFlBQVksR0FBRyxNQUFhO1lBQzFCLE1BQU0sT0FBTyxHQUE0QixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMs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Q0FBQyxDQUFBO2dCQUVoRyxPQUFPO29CQUNMLEdBQUcsR0FBRztvQkFDTixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO2lCQUNqQyxDQUFBO1lBQ0gsQ0FBQyxFQUFFLEVBQStDLENBQUMsQ0FBQTtRQUNyRCxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VNb2RlbCxcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzLFxuICBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zLFxuICBVcGRhdGVPcHRpb25BY3Rpb25zLFxuICBVcGRhdGVPcHRpb25zLFxuICBVcGRhdGVSZXBvc2l0b3J5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpcywgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0gVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4gJiB7XG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8W1VwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLCAuLi5hbnlbXV0sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8TUJhc2U+KTogdW5rbm93biA9PiB7XG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBCYXNlTW9kZWwpIHJldHVybiBvcHRpb25zLnRvUGxhaW4oKVxuICAgIGlmIChpc05pbChvcHRpb25zPy5hY3Rpb24pKSByZXR1cm4gb3B0aW9uc1xuICAgIGlmIChbVXBkYXRlT3B0aW9uQWN0aW9ucy5SRU1PVkVfRklFTEQudG9TdHJpbmcoKSwgVXBkYXRlT3B0aW9uQWN0aW9ucy5OVUxMLnRvU3RyaW5nKCldLmluY2x1ZGVzKG9wdGlvbnMuYWN0aW9uKSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gb3B0aW9ucy52YWx1ZVxuICB9XG5cbiAgcmV0dXJuIGNsYXNzIFVwZGF0ZUhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcbiAgICB1cGRhdGVHcmFwaFFMT2JqZWN0VHlwZTogc3RyaW5nXG4gICAgdXBkYXRlR3JhcGhRTFBLVHlwZTogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTE9wZXJhdGlvbiB8fCBgdXBkYXRlXyR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlIHx8IGAke3RoaXMudGFibGVOYW1lfV9zZXRfaW5wdXRgXG4gICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxQS1R5cGUgPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMUEtUeXBlIHx8IGAke3RoaXMudGFibGVOYW1lfV9wa19jb2x1bW5zX2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZShkYXRhOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbihkYXRhKVxuXG4gICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKFxuICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBfc2V0OiB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKSwgdHJ1ZSksXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBrX2NvbHVtbnM6IHsgdHlwZTogdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlLCB2YWx1ZTogdGhpcy5nZXRVcGRhdGVNb2RlbEtleXMocGxhaW5EYXRhKSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbkRhdGEpXG4gICAgfVxuXG4gICAgcGFyYW1zVG9QbGFpbihwYXJhbXM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8TUJhc2U+KTogUGFydGlhbDxNQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXG5cbiAgICAgIGlmIChtb2RlbC5pc01vZGVsKHBhcmFtcykpIHJldHVybiBwYXJhbXMudG9QbGFpbigpXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZShcbiAgICAgICAgKGRhdGEsIGN1cnJlbnRLZXkpID0+ICh7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAuLi4ocGFyYW1zW2N1cnJlbnRLZXkgYXMga2V5b2YgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT5dICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgICAgW2N1cnJlbnRLZXldOiBnZXRWYWx1ZUJ5QWN0aW9uKFxuICAgICAgICAgICAgICBpczxVcGRhdGVPcHRpb25zPE1CYXNlPj4ocGFyYW1zW2N1cnJlbnRLZXkgYXMga2V5b2YgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT5dKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRVcGRhdGVNb2RlbEtleXMoZGF0YTogUGFydGlhbDxNQmFzZT4pOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzPE1CYXNlPiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShkYXRhKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5yZWR1Y2UoKGlkcywgaWRlbnRpZmllcikgPT4ge1xuICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2VbaWRlbnRpZmllcl0pKSByZXR1cm4gaWRzXG5cbiAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24/LnRvPy4oZGF0YVtpZGVudGlmaWVyXSwgaW5zdGFuY2UpIHx8IGRhdGFbY29sdW1uT3B0aW9uLmF0dHJpYnV0ZU5hbWVdXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogdmFsdWUsXG4gICAgICAgIH1cbiAgICAgIH0sIHt9IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8TUJhc2U+KVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
|
|
@@ -8,4 +8,4 @@ __decorate([
|
|
|
8
8
|
Type(() => KitProductHasuraGraphQL),
|
|
9
9
|
__metadata("design:type", Array)
|
|
10
10
|
], ProductHasuraGraphQL.prototype, "kitProducts", void 0);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFPO0NBYWhEO0FBRkM7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O3lEQUNZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4va2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcbiAgcHJvZHVjdElkPzogbnVtYmVyXG4gIGRpZmZlcmVudGlhbHM/OiBzdHJpbmdcbiAgd2hvTXVzdFVzZT86IHN0cmluZ1xuICBob3dUb1VzZT86IHN0cmluZ1xuICBicmFuZERlc2NyaXB0aW9uPzogc3RyaW5nXG5cbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUwpXG4gIG92ZXJyaWRlIGtpdFByb2R1Y3RzPzogS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUxbXVxufVxuIl19
|