@infrab4a/connect 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/infrab4a-connect.umd.js +2173 -267
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category.d.ts +5 -4
- package/domain/catalog/models/index.d.ts +3 -2
- package/domain/catalog/models/kit-product.d.ts +12 -0
- package/domain/catalog/models/product.d.ts +9 -4
- package/domain/catalog/models/types/product-review.type.d.ts +10 -8
- package/domain/catalog/models/variant.d.ts +7 -3
- package/domain/catalog/repositories/category.repository.d.ts +1 -1
- package/domain/catalog/repositories/product.repository.d.ts +10 -3
- package/domain/catalog/repositories/subscription-product.repository.d.ts +1 -1
- package/domain/catalog/repositories/variant.repository.d.ts +1 -1
- package/domain/generic/model/base.model.d.ts +10 -0
- package/domain/{general → generic}/model/index.d.ts +0 -1
- package/domain/generic/model/types/base-model-builder.type.d.ts +15 -0
- package/domain/generic/model/types/identifier-model.type.d.ts +7 -0
- package/domain/{general → generic}/model/types/index.d.ts +2 -0
- package/domain/generic/model/types/model-base-structure.type.d.ts +6 -0
- package/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
- package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -0
- package/domain/generic/repository/create.repository.d.ts +8 -0
- package/domain/generic/repository/crud.repository.d.ts +19 -0
- package/domain/generic/repository/delete.repository.d.ts +7 -0
- package/domain/{general → generic}/repository/enums/where.enum.d.ts +5 -2
- package/domain/generic/repository/find.repository.d.ts +11 -0
- package/domain/generic/repository/get.repository.d.ts +5 -0
- package/domain/generic/repository/read.repository.d.ts +14 -0
- package/domain/{general → generic}/repository/types/index.d.ts +1 -0
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
- package/domain/{general → generic}/repository/types/repository-update-params.type.d.ts +4 -4
- package/domain/generic/repository/types/where-options.type.d.ts +2 -0
- package/domain/generic/repository/update.repository.d.ts +6 -0
- package/domain/index.d.ts +1 -1
- package/domain/location/models/address.d.ts +3 -2
- package/domain/shop-settings/models/home.d.ts +3 -3
- package/domain/shop-settings/models/shop-menu.d.ts +3 -3
- package/domain/shop-settings/repositories/home.repository.d.ts +1 -1
- package/domain/shop-settings/repositories/shop-menu.repository.d.ts +1 -1
- package/domain/shopping/models/buy-2-win.d.ts +3 -5
- package/domain/shopping/models/checkout.d.ts +7 -9
- package/domain/shopping/models/coupons/coupon.d.ts +13 -15
- package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
- package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
- package/domain/shopping/models/coupons/enums/index.d.ts +2 -1
- package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
- package/domain/shopping/models/coupons/index.d.ts +1 -2
- package/domain/shopping/models/payment.d.ts +3 -5
- package/domain/shopping/models/shipping-method.d.ts +3 -5
- package/domain/shopping/models/subscription/checkout.d.ts +3 -5
- package/domain/shopping/models/subscription/plan.d.ts +3 -5
- package/domain/shopping/repositories/buy-2-win.repository.d.ts +1 -1
- package/domain/shopping/repositories/checkout.repository.d.ts +1 -1
- package/domain/shopping/repositories/coupon.repository.d.ts +1 -1
- package/domain/shopping/repositories/order.repository.d.ts +1 -1
- package/domain/shopping/repositories/payment.repository.d.ts +1 -1
- package/domain/shopping/repositories/subscription/checkout.repository.d.ts +1 -1
- package/domain/shopping/repositories/subscription/plan.repository.d.ts +1 -1
- package/domain/users/errors/unauthorized.error.d.ts +2 -1
- package/domain/users/errors/user-already-registered.error.d.ts +2 -1
- package/domain/users/errors/weak-password.error.d.ts +2 -1
- package/domain/users/models/beauty-profile.d.ts +4 -5
- package/domain/users/models/lead.d.ts +3 -5
- package/domain/users/models/subscription/edition.d.ts +4 -5
- package/domain/users/models/subscription/payment.d.ts +4 -5
- package/domain/users/models/subscription/subscription.d.ts +3 -5
- package/domain/users/models/user-address.d.ts +3 -3
- package/domain/users/models/user-payment-method.d.ts +4 -4
- package/domain/users/models/user.d.ts +13 -10
- package/domain/users/repositories/beauty-profile.repository.d.ts +1 -1
- package/domain/users/repositories/edition.repository.d.ts +1 -1
- package/domain/users/repositories/lead.repository.d.ts +1 -1
- package/domain/users/repositories/subscription-payment.repository.d.ts +1 -1
- package/domain/users/repositories/subscription.repository.d.ts +1 -1
- package/domain/users/repositories/user-address.repository.d.ts +1 -1
- package/domain/users/repositories/user-payment-method.repository.d.ts +1 -1
- package/domain/users/repositories/user.repository.d.ts +2 -2
- package/errors/duplicated-results.error.d.ts +2 -1
- package/errors/invalid-argument.error.d.ts +2 -1
- package/errors/not-found.error.d.ts +2 -1
- package/errors/required-argument.error.d.ts +2 -1
- package/esm2015/domain/catalog/models/category.js +5 -2
- package/esm2015/domain/catalog/models/index.js +4 -3
- package/esm2015/domain/catalog/models/kit-product.js +18 -0
- package/esm2015/domain/catalog/models/product.js +12 -2
- package/esm2015/domain/catalog/models/types/product-review.type.js +1 -1
- package/esm2015/domain/catalog/models/variant.js +5 -2
- package/esm2015/domain/catalog/repositories/category.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/subscription-product.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/variant.repository.js +1 -1
- package/esm2015/domain/{general → generic}/index.js +1 -1
- package/esm2015/domain/generic/model/base.model.js +23 -0
- package/esm2015/domain/{general → generic}/model/identifier-fields.js +1 -1
- package/esm2015/domain/generic/model/index.js +4 -0
- package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
- package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
- package/esm2015/domain/generic/model/types/index.js +6 -0
- package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
- package/esm2015/domain/generic/repository/create.repository.js +2 -0
- package/esm2015/domain/generic/repository/crud.repository.js +2 -0
- package/esm2015/domain/generic/repository/delete.repository.js +2 -0
- package/esm2015/domain/{general → generic}/repository/enums/index.js +1 -1
- package/esm2015/domain/{general → generic}/repository/enums/update-option-actions.enum.js +1 -1
- package/esm2015/domain/generic/repository/enums/where.enum.js +15 -0
- package/esm2015/domain/generic/repository/find.repository.js +2 -0
- package/esm2015/domain/generic/repository/get.repository.js +2 -0
- package/esm2015/domain/{general → generic}/repository/index.js +1 -1
- package/esm2015/domain/generic/repository/read.repository.js +2 -0
- package/esm2015/domain/generic/repository/types/index.js +7 -0
- package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
- package/esm2015/domain/{general → generic}/repository/types/repository-find-result.type.js +1 -1
- package/esm2015/domain/{general → generic}/repository/types/repository-limit-options.type.js +1 -1
- package/esm2015/domain/{general → generic}/repository/types/repository-order-by-list.type.js +1 -1
- package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
- package/esm2015/domain/generic/repository/types/where-options.type.js +2 -0
- package/esm2015/domain/generic/repository/update.repository.js +2 -0
- package/esm2015/domain/index.js +2 -2
- package/esm2015/domain/location/models/address.js +5 -2
- package/esm2015/domain/shop-settings/models/home.js +3 -3
- package/esm2015/domain/shop-settings/models/shop-menu.js +3 -3
- package/esm2015/domain/shop-settings/repositories/home.repository.js +1 -1
- package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +1 -1
- package/esm2015/domain/shopping/models/buy-2-win.js +3 -3
- package/esm2015/domain/shopping/models/checkout.js +6 -15
- package/esm2015/domain/shopping/models/coupons/coupon.js +4 -12
- package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
- package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
- package/esm2015/domain/shopping/models/coupons/enums/index.js +3 -2
- package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
- package/esm2015/domain/shopping/models/coupons/index.js +2 -3
- package/esm2015/domain/shopping/models/payment.js +3 -3
- package/esm2015/domain/shopping/models/shipping-method.js +3 -3
- package/esm2015/domain/shopping/models/subscription/checkout.js +3 -3
- package/esm2015/domain/shopping/models/subscription/plan.js +3 -3
- package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/checkout.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/coupon.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/order.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/payment.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +1 -1
- package/esm2015/domain/users/errors/unauthorized.error.js +3 -2
- package/esm2015/domain/users/errors/user-already-registered.error.js +3 -2
- package/esm2015/domain/users/errors/weak-password.error.js +3 -2
- package/esm2015/domain/users/models/beauty-profile.js +4 -4
- package/esm2015/domain/users/models/lead.js +3 -3
- package/esm2015/domain/users/models/subscription/edition.js +4 -4
- package/esm2015/domain/users/models/subscription/payment.js +4 -4
- package/esm2015/domain/users/models/subscription/subscription.js +3 -3
- package/esm2015/domain/users/models/user-address.js +3 -3
- package/esm2015/domain/users/models/user-payment-method.js +4 -4
- package/esm2015/domain/users/models/user.js +5 -5
- package/esm2015/domain/users/repositories/beauty-profile.repository.js +1 -1
- package/esm2015/domain/users/repositories/edition.repository.js +1 -1
- package/esm2015/domain/users/repositories/lead.repository.js +1 -1
- package/esm2015/domain/users/repositories/subscription-payment.repository.js +1 -1
- package/esm2015/domain/users/repositories/subscription.repository.js +1 -1
- package/esm2015/domain/users/repositories/user-address.repository.js +1 -1
- package/esm2015/domain/users/repositories/user-payment-method.repository.js +1 -1
- package/esm2015/domain/users/repositories/user.repository.js +1 -1
- package/esm2015/errors/duplicated-results.error.js +3 -2
- package/esm2015/errors/invalid-argument.error.js +3 -2
- package/esm2015/errors/not-found.error.js +3 -2
- package/esm2015/errors/required-argument.error.js +3 -2
- package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +36 -1
- package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +1 -1
- package/esm2015/infra/elasticsearch/indexes/products-index.js +35 -1
- package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +2 -2
- package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +2 -2
- package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +9 -10
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +2 -6
- package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +4 -4
- package/esm2015/infra/firebase/firestore/models/user-search.js +3 -3
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +4 -2
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +37 -8
- package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +11 -21
- package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +2 -2
- package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +1 -1
- package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +1 -1
- package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -0
- package/esm2015/infra/hasura-graphql/enums/index.js +3 -0
- package/esm2015/infra/hasura-graphql/index.js +5 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +18 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +72 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -0
- package/esm2015/infra/hasura-graphql/mixins/index.js +8 -0
- package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -0
- package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
- package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
- package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +93 -0
- package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
- package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
- package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -0
- package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
- package/esm2015/infra/hasura-graphql/models/index.js +5 -0
- package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
- package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
- package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +136 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +375 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +107 -0
- package/esm2015/infra/hasura-graphql/repositories/index.js +2 -0
- package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/index.js +9 -0
- package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -0
- package/esm2015/infra/index.js +2 -1
- package/esm2015/utils/index.js +6 -4
- package/esm2015/utils/is-uuid.js +3 -0
- package/esm2015/utils/mixins/index.js +2 -1
- package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -0
- package/esm2015/utils/mixins/mixin-ctor.type.js +1 -1
- package/esm2015/utils/parse-datetime.js +14 -0
- package/esm2015/utils/types/array-element.type.js +2 -0
- package/esm2015/utils/types/index.js +2 -1
- package/fesm2015/infrab4a-connect.js +1375 -142
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +3 -0
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -0
- package/infra/elasticsearch/indexes/products-index.d.ts +5 -1
- package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/auth/register-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +3 -16
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +3 -28
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +3 -19
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +5 -4
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -14
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +6 -15
- package/infra/firebase/firestore/models/user-search.d.ts +3 -3
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +5 -44
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
- package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +3 -3
- package/infra/firebase/firestore/types/firestore.repository.type.d.ts +7 -3
- package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
- package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -0
- package/infra/hasura-graphql/enums/index.d.ts +2 -0
- package/infra/hasura-graphql/index.d.ts +4 -0
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -0
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
- package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -0
- package/infra/hasura-graphql/mixins/index.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -0
- package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +31 -0
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -0
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
- package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/index.d.ts +4 -0
- package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +22 -0
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +26 -0
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +13 -0
- package/infra/hasura-graphql/repositories/index.d.ts +1 -0
- package/infra/hasura-graphql/types/fields.type.d.ts +2 -0
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -0
- package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +36 -0
- package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
- package/infra/hasura-graphql/types/index.d.ts +8 -0
- package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
- package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
- package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
- package/infra/index.d.ts +1 -0
- package/package.json +5 -3
- package/utils/index.d.ts +5 -4
- package/utils/is-uuid.d.ts +1 -0
- package/utils/mixins/index.d.ts +1 -0
- package/utils/mixins/merge-constructor-params.type.d.ts +3 -0
- package/utils/mixins/mixin-ctor.type.d.ts +1 -1
- package/utils/parse-datetime.d.ts +1 -0
- package/utils/types/array-element.type.d.ts +1 -0
- package/utils/types/index.d.ts +1 -0
- package/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
- package/domain/general/model/base.model.d.ts +0 -6
- package/domain/general/model/types/base-model-builder.type.d.ts +0 -5
- package/domain/general/model/types/non-function-properties.type.d.ts +0 -2
- package/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
- package/domain/general/repository/create.repository.d.ts +0 -5
- package/domain/general/repository/crud.repository.d.ts +0 -7
- package/domain/general/repository/delete.repository.d.ts +0 -5
- package/domain/general/repository/find.repository.d.ts +0 -5
- package/domain/general/repository/get.repository.d.ts +0 -5
- package/domain/general/repository/read.repository.d.ts +0 -5
- package/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
- package/domain/general/repository/update.repository.d.ts +0 -5
- package/domain/shopping/models/coupons/club-coupon.d.ts +0 -7
- package/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +0 -5
- package/domain/shopping/models/coupons/store-coupon.d.ts +0 -8
- package/esm2015/domain/general/model/base-model-with-identifier-fields.js +0 -2
- package/esm2015/domain/general/model/base.model.js +0 -13
- package/esm2015/domain/general/model/index.js +0 -5
- package/esm2015/domain/general/model/types/base-model-builder.type.js +0 -2
- package/esm2015/domain/general/model/types/index.js +0 -4
- package/esm2015/domain/general/model/types/non-function-properties.type.js +0 -2
- package/esm2015/domain/general/model/types/non-function-property-name.type.js +0 -2
- package/esm2015/domain/general/repository/create.repository.js +0 -2
- package/esm2015/domain/general/repository/crud.repository.js +0 -2
- package/esm2015/domain/general/repository/delete.repository.js +0 -2
- package/esm2015/domain/general/repository/enums/where.enum.js +0 -12
- package/esm2015/domain/general/repository/find.repository.js +0 -2
- package/esm2015/domain/general/repository/get.repository.js +0 -2
- package/esm2015/domain/general/repository/read.repository.js +0 -2
- package/esm2015/domain/general/repository/types/index.js +0 -6
- package/esm2015/domain/general/repository/types/repository-find-filters.type.js +0 -2
- package/esm2015/domain/general/repository/types/repository-update-params.type.js +0 -2
- package/esm2015/domain/general/repository/update.repository.js +0 -2
- package/esm2015/domain/shopping/models/coupons/club-coupon.js +0 -18
- package/esm2015/domain/shopping/models/coupons/enums/discount-type.enum.js +0 -7
- package/esm2015/domain/shopping/models/coupons/store-coupon.js +0 -23
- /package/domain/{general → generic}/index.d.ts +0 -0
- /package/domain/{general → generic}/model/identifier-fields.d.ts +0 -0
- /package/domain/{general → generic}/repository/enums/index.d.ts +0 -0
- /package/domain/{general → generic}/repository/enums/update-option-actions.enum.d.ts +0 -0
- /package/domain/{general → generic}/repository/index.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-find-result.type.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-limit-options.type.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-order-by-list.type.d.ts +0 -0
|
@@ -12,7 +12,7 @@ export const withCreateFirestore = (MixinBase) => {
|
|
|
12
12
|
save(data) {
|
|
13
13
|
var _a;
|
|
14
14
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const id = (_a = data[data.
|
|
15
|
+
const id = (_a = data[data.identifiersFields.shift()]) === null || _a === void 0 ? void 0 : _a.toString();
|
|
16
16
|
const collectionPath = this.buildCollectionPathForAdd(data);
|
|
17
17
|
if (isEmpty(id))
|
|
18
18
|
return this.collection(collectionPath).add(data);
|
|
@@ -28,4 +28,4 @@ export const withCreateFirestore = (MixinBase) => {
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQXFDLE1BQU0sbUJBQW1CLENBQUE7QUFFOUUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FJakMsU0FBZ0YsRUFJaEYsRUFBRTtJQUNGLE9BQU8sTUFBTSxlQUFnQixTQUFRLFNBQVM7UUFDdEMsTUFBTSxDQUFDLElBQW1DOztnQkFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQVcsQ0FBQyxDQUFDLENBQUE7Z0JBQ2xFLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFBO2dCQUU5QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNuQixDQUFDO1NBQUE7UUFFSyxJQUFJLENBQUMsSUFBVzs7O2dCQUNwQixNQUFNLEVBQUUsR0FBRyxNQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUMsMENBQUUsUUFBUSxFQUFFLENBQUE7Z0JBQzNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFM0QsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRWpFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN0RCxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRXRCLE9BQU8sTUFBTSxDQUFBOztTQUNkO1FBRUQseUJBQXlCLENBQUMsV0FBMkI7WUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9jdW1lbnRSZWZlcmVuY2UgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBDcmVhdGVSZXBvc2l0b3J5LCBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBpc0VtcHR5LCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcblxuZXhwb3J0IGNvbnN0IHdpdGhDcmVhdGVGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIENyZWF0ZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczx7fSwgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcmVhdGVGaXJlc3RvcmUgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBDcmVhdGVSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgYXN5bmMgY3JlYXRlKGRhdGE6IENyZWF0ZVJlcG9zaXRvcnlQYXJhbXM8VEJhc2U+KTogUHJvbWlzZTxUQmFzZT4ge1xuICAgICAgY29uc3QgZG9jUmVmID0gYXdhaXQgdGhpcy5zYXZlKHRoaXMubW9kZWwudG9JbnN0YW5jZShkYXRhIGFzIGFueSkpXG4gICAgICBjb25zdCBkb2MgPSBhd2FpdCBkb2NSZWYuZ2V0KClcblxuICAgICAgcmV0dXJuIGRvYy5kYXRhKClcbiAgICB9XG5cbiAgICBhc3luYyBzYXZlKGRhdGE6IFRCYXNlKTogUHJvbWlzZTxEb2N1bWVudFJlZmVyZW5jZTxUQmFzZT4+IHtcbiAgICAgIGNvbnN0IGlkID0gZGF0YVtkYXRhLmlkZW50aWZpZXJzRmllbGRzLnNoaWZ0KCldPy50b1N0cmluZygpXG4gICAgICBjb25zdCBjb2xsZWN0aW9uUGF0aCA9IHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckFkZChkYXRhKVxuXG4gICAgICBpZiAoaXNFbXB0eShpZCkpIHJldHVybiB0aGlzLmNvbGxlY3Rpb24oY29sbGVjdGlvblBhdGgpLmFkZChkYXRhKVxuXG4gICAgICBjb25zdCBkb2NSZWYgPSB0aGlzLmNvbGxlY3Rpb24oY29sbGVjdGlvblBhdGgpLmRvYyhpZClcbiAgICAgIGF3YWl0IGRvY1JlZi5zZXQoZGF0YSlcblxuICAgICAgcmV0dXJuIGRvY1JlZlxuICAgIH1cblxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JBZGQoaWRlbnRpZmllcnM6IFBhcnRpYWw8VEJhc2U+KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZGVudGlmaWVyc1t0aGlzLnBhcmVudElkRmllbGRdfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgICAgICA6IHRoaXMuY29sbGVjdGlvbk5hbWVcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -7,4 +7,4 @@ export const withCrudFirestore = (MixinBase) => {
|
|
|
7
7
|
return class CrudFirestore extends withUpdateFirestore(withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase))))) {
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVuRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGFBQ1gsU0FBUSxtQkFBbUIsQ0FDekIsZ0JBQWdCLENBQ2QsaUJBQWlCLENBQ2YsbUJBQW1CLENBQ2pCLG1CQUFtQixDQUFDLFNBQXFFLENBQUMsQ0FDM0YsQ0FDRixDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIENydWRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmltcG9ydCB7IHdpdGhDcmVhdGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhEZWxldGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtZGVsZXRlLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhGaW5kRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWZpbmQtZmlyZXN0b3JlLm1peGluJ1xuaW1wb3J0IHsgd2l0aEdldEZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC1nZXQtZmlyZXN0b3JlLm1peGluJ1xuaW1wb3J0IHsgd2l0aFVwZGF0ZUZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluJ1xuXG5leHBvcnQgY29uc3Qgd2l0aENydWRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBSZXBvc2l0b3J5ID0gQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yLFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgUmVwb3NpdG9yeSAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e30sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3J1ZEZpcmVzdG9yZVxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUZpcmVzdG9yZShcbiAgICAgIHdpdGhHZXRGaXJlc3RvcmUoXG4gICAgICAgIHdpdGhGaW5kRmlyZXN0b3JlKFxuICAgICAgICAgIHdpdGhEZWxldGVGaXJlc3RvcmUoXG4gICAgICAgICAgICB3aXRoQ3JlYXRlRmlyZXN0b3JlKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICAgIGltcGxlbWVudHMgQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+IHt9IGFzIGFueVxufVxuIl19
|
|
@@ -15,4 +15,4 @@ export const withDeleteFirestore = (MixinBase) => {
|
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBSWpDLFNBQWdGLEVBSWhGLEVBQUU7SUFDRixPQUFPLE1BQU0sZUFBZ0IsU0FBUSxTQUFTO1FBQ3RDLE1BQU0sQ0FBQyxXQUEwQzs7Z0JBQ3JELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ2xFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNsRCxNQUFNLEVBQUUsQ0FBQTtZQUNiLENBQUM7U0FBQTtRQUVELDRCQUE0QixDQUFDLFdBQW9DO1lBQy9ELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkZW50aWZpZXJzTW9kZWwsIE1vZGVsQmFzZVN0cnVjdHVyZSwgRGVsZXRlUmVwb3NpdG9yeSwgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPHt9LCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIERlbGV0ZUZpcmVzdG9yZSBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIERlbGV0ZVJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyBkZWxldGUoaWRlbnRpZmllcnM6IERlbGV0ZVJlcG9zaXRvcnlQYXJhbXM8VEJhc2U+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBhd2FpdCB0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yUmVtb3ZlKGlkZW50aWZpZXJzKSlcbiAgICAgICAgLmRvYyhPYmplY3QudmFsdWVzKGlkZW50aWZpZXJzKS5zaGlmdCgpLnRvU3RyaW5nKCkpXG4gICAgICAgIC5kZWxldGUoKVxuICAgIH1cblxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JSZW1vdmUoaWRlbnRpZmllcnM6IElkZW50aWZpZXJzTW9kZWw8VEJhc2U+KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZGVudGlmaWVyc1t0aGlzLnBhcmVudElkRmllbGRdfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgICAgICA6IHRoaXMuY29sbGVjdGlvbk5hbWVcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -33,16 +33,16 @@ export const withFindFirestore = (MixinBase) => {
|
|
|
33
33
|
if ((options === null || options === void 0 ? void 0 : options.operator) === Where.IN && Array.isArray(options === null || options === void 0 ? void 0 : options.value))
|
|
34
34
|
return queryReference.where(firestoreFieldName, 'array-contains', options.value);
|
|
35
35
|
if (isObject(options) && isNil(options === null || options === void 0 ? void 0 : options.operator) && isNil(options === null || options === void 0 ? void 0 : options.value)) {
|
|
36
|
-
return Object.keys(options).reduce((queryReferenceWithWhere, key) => this.buildWhereSentence(queryReferenceWithWhere, `${fieldName}.${key}`, options[key]), queryReference);
|
|
36
|
+
return Object.keys(options).reduce((queryReferenceWithWhere, key) => this.buildWhereSentence(queryReferenceWithWhere, `${fieldName.toString()}.${key}`, options[key]), queryReference);
|
|
37
37
|
}
|
|
38
38
|
return queryReference.where(firestoreFieldName, (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
find(filters, limits, orderBy) {
|
|
41
|
+
find({ filters, limits, orderBy, } = {}) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
let query = this.collection(this.buildCollectionPathForFind(filters));
|
|
44
|
-
|
|
45
|
-
orderBy
|
|
43
|
+
let query = this.collection(this.buildCollectionPathForFind(filters || {}));
|
|
44
|
+
query = this.makeFirestoreWhere(query, filters || {});
|
|
45
|
+
Object.keys(orderBy || {}).forEach((fieldName) => (query = query.orderBy(fieldName, orderBy[fieldName])));
|
|
46
46
|
query = yield this.defineLimits(query, filters, limits);
|
|
47
47
|
const docs = yield query.get();
|
|
48
48
|
const data = docs.docs.map((doc) => doc.data());
|
|
@@ -53,19 +53,18 @@ export const withFindFirestore = (MixinBase) => {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
buildCollectionPathForFind(filters) {
|
|
56
|
-
var _a;
|
|
57
56
|
if (!this.isSubCollection(this))
|
|
58
57
|
return this.collectionName;
|
|
59
58
|
const parentIdField = this.parentIdField;
|
|
60
|
-
const parentId = getValueFromFilter(
|
|
59
|
+
const parentId = getValueFromFilter(filters === null || filters === void 0 ? void 0 : filters[parentIdField]);
|
|
61
60
|
return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`;
|
|
62
61
|
}
|
|
63
62
|
defineLimits(query, filters, limits) {
|
|
64
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
65
64
|
if (limits === null || limits === void 0 ? void 0 : limits.offset) {
|
|
66
|
-
if (limits.offset
|
|
65
|
+
if (this.model.isModel(limits.offset))
|
|
67
66
|
query = query.startAfter(yield this.collection(this.buildCollectionPathForFind(filters))
|
|
68
|
-
.doc(limits.offset[limits.offset.
|
|
67
|
+
.doc(limits.offset[limits.offset.identifiersFields.shift()])
|
|
69
68
|
.get());
|
|
70
69
|
else if (isNumber(limits.offset) || isString(limits.offset))
|
|
71
70
|
query = query.startAt(limits.offset);
|
|
@@ -84,4 +83,4 @@ export const withFindFirestore = (MixinBase) => {
|
|
|
84
83
|
}
|
|
85
84
|
};
|
|
86
85
|
};
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBRTNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFhLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRS9GLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLFNBQWdGLEVBQ2hGLEVBQUU7SUFDRixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBVyxFQUF1RCxFQUFFLENBQ2pHLENBQUMsS0FBSyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUMsQ0FBQTtJQUMxQixNQUFNLGtCQUFrQixHQUFHLENBQUMsTUFBdUMsRUFBTyxFQUFFO1FBQzFFLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUM5RCxDQUFDLENBQUE7SUFDRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDdkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDekUsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBRXRDLE9BQU8sTUFBTSxhQUFjLFNBQVEsU0FBUztRQUFyQzs7WUFvQ0wsdUJBQWtCLEdBQUcsQ0FDbkIsY0FBeUQsRUFDekQsTUFBcUMsRUFDdkIsRUFBRSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxLQUFtQixFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUN4RyxjQUFjLENBQ2YsQ0FBQTtZQUVILHVCQUFrQixHQUFHLENBQ25CLGNBQXlELEVBQ3pELFNBQW1ELEVBQ25ELE9BQThFLEVBQ2hFLEVBQUU7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBUSxJQUFJLENBQUMsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLGFBQWE7b0JBQUUsT0FBTyxjQUFjLENBQUE7Z0JBRWhHLE1BQU0sS0FBSyxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssS0FBSSxPQUFPLENBQUE7Z0JBQ3ZDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtnQkFFakIsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBRTdCLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDdEQsTUFBTSxrQkFBa0IsR0FDdEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO29CQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUVsRSxJQUFJLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsTUFBSyxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUNwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQzt3QkFDL0IsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFFdEYsY0FBYyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDOUUsY0FBYyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7b0JBRXBGLE9BQU8sY0FBYyxDQUFBO2lCQUN0QjtnQkFDRCxJQUFJLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsTUFBSyxLQUFLLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQztvQkFDakUsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDbEYsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxFQUFFO29CQUMxRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNoQyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLFNBQVMsSUFBSSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDdkYsY0FBYyxDQUNmLENBQUE7aUJBQ0Y7Z0JBRUQsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsS0FBSSxJQUFJLEVBQUUsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxLQUFJLE9BQU8sQ0FBQyxDQUFBO1lBQ3ZHLENBQUMsQ0FBQTtRQTJCSCxDQUFDO1FBN0dPLElBQUksQ0FDUixPQUF5QyxFQUN6QyxNQUFzQyxFQUN0QyxPQUFzQzs7Z0JBRXRDLElBQUksS0FBSyxHQUE4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO2dCQUVoSCxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFFbEYsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BHLENBQUE7Z0JBRUQsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUV2RCxNQUFNLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUUvQyxPQUFPO29CQUNMLElBQUk7b0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztpQkFDekMsQ0FBQTtZQUNILENBQUM7U0FBQTtRQUVELDBCQUEwQixDQUFDLE9BQXdDOztZQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBUSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFBO1lBRWxFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUE7WUFDeEMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQ2pDLE1BQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsMENBQUcsYUFBYSxDQUFDLENBQ3hHLENBQUE7WUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3JGLENBQUM7UUFtREssWUFBWSxDQUNoQixLQUFnRCxFQUNoRCxPQUF3QyxFQUN4QyxNQUFxQzs7Z0JBRXJDLElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sRUFBRTtvQkFDbEIsSUFBSSxNQUFNLENBQUMsTUFBTSxZQUFZLElBQUksQ0FBQyxLQUFLO3dCQUNyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FDdEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQzs2QkFDNUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBWSxDQUFDLENBQUM7NkJBQ3RFLEdBQUcsRUFBRSxDQUNULENBQUE7eUJBQ0UsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3dCQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtpQkFDbEc7Z0JBQ0QsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSztvQkFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBRXBELE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztTQUFBO1FBRUQsY0FBYyxDQUFDLElBQWEsRUFBRSxNQUFxQztZQUNqRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztnQkFBRSxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssQ0FBQTtnQkFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7WUFFbkQsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBRdWVyeSB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7XG4gIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyLFxuICBGaW5kUmVwb3NpdG9yeSxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWxkLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5TGlzdCxcbiAgV2hlcmUsXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzRGF0ZSwgaXNOaWwsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcsIE1peGluQ3Rvciwgc2V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEZpcmVzdG9yZSA9IDxUQmFzZSBleHRlbmRzIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyPFRCYXNlPiwgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3Rvcj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIGNvbnN0IGNoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IChmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgYW55PiA9PlxuICAgICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxuICBjb25zdCBnZXRWYWx1ZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWxkPFRCYXNlLCBhbnk+KTogYW55ID0+IHtcbiAgICByZXR1cm4gY2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikgPyBmaWx0ZXIudmFsdWUgOiBmaWx0ZXJcbiAgfVxuICBjb25zdCBnZXRGaW5hbFZhbHVlRnJvbSA9ICh2YWx1ZTogYW55KSA9PlxuICAgIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgfHwgaXNEYXRlKHZhbHVlKSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZVxuICAgICAgOiBPYmplY3QudmFsdWVzKGdldEZpbmFsVmFsdWVGcm9tKVxuXG4gIHJldHVybiBjbGFzcyBGaW5kRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyBmaW5kKFxuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+W10sXG4gICAgICBsaW1pdHM/OiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPixcbiAgICAgIG9yZGVyQnk/OiBSZXBvc2l0b3J5T3JkZXJCeUxpc3Q8VEJhc2U+LFxuICAgICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8VEJhc2U+PiB7XG4gICAgICBsZXQgcXVlcnk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+ID0gdGhpcy5jb2xsZWN0aW9uKHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckZpbmQoZmlsdGVycykpXG5cbiAgICAgIGZpbHRlcnM/LmZvckVhY2goKGZpbHRlcmVyKSA9PiAocXVlcnkgPSB0aGlzLm1ha2VGaXJlc3RvcmVXaGVyZShxdWVyeSwgZmlsdGVyZXIpKSlcblxuICAgICAgb3JkZXJCeT8uZm9yRWFjaCgob3JkZXJlcikgPT5cbiAgICAgICAgT2JqZWN0LmtleXMob3JkZXJlcikuZm9yRWFjaCgoZmllbGROYW1lKSA9PiAocXVlcnkgPSBxdWVyeS5vcmRlckJ5KGZpZWxkTmFtZSwgb3JkZXJlcltmaWVsZE5hbWVdKSkpLFxuICAgICAgKVxuXG4gICAgICBxdWVyeSA9IGF3YWl0IHRoaXMuZGVmaW5lTGltaXRzKHF1ZXJ5LCBmaWx0ZXJzLCBsaW1pdHMpXG5cbiAgICAgIGNvbnN0IGRvY3MgPSBhd2FpdCBxdWVyeS5nZXQoKVxuICAgICAgY29uc3QgZGF0YSA9IGRvY3MuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmRhdGEoKSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY291bnQ6IHRoaXMuY2FsY3VsYXRlQ291bnQoZGF0YSwgbGltaXRzKSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPltdKTogc3RyaW5nIHtcbiAgICAgIGlmICghdGhpcy5pc1N1YkNvbGxlY3Rpb248VEJhc2U+KHRoaXMpKSByZXR1cm4gdGhpcy5jb2xsZWN0aW9uTmFtZVxuXG4gICAgICBjb25zdCBwYXJlbnRJZEZpZWxkID0gdGhpcy5wYXJlbnRJZEZpZWxkXG4gICAgICBjb25zdCBwYXJlbnRJZCA9IGdldFZhbHVlRnJvbUZpbHRlcihcbiAgICAgICAgZmlsdGVycy5maW5kKChncm91cEZpbHRlcikgPT4gQm9vbGVhbihnZXRWYWx1ZUZyb21GaWx0ZXIoZ3JvdXBGaWx0ZXJbcGFyZW50SWRGaWVsZF0pKSk/LltwYXJlbnRJZEZpZWxkXSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtwYXJlbnRJZH0vJHt0aGlzLmNvbGxlY3Rpb25OYW1lfWBcbiAgICB9XG5cbiAgICBtYWtlRmlyZXN0b3JlV2hlcmUgPSAoXG4gICAgICBxdWVyeVJlZmVyZW5jZTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4sXG4gICAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+LFxuICAgICk6IFF1ZXJ5PFRCYXNlPiA9PlxuICAgICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoXG4gICAgICAgIChxdWVyeTogUXVlcnk8VEJhc2U+LCBmaWVsZE5hbWU6IHN0cmluZykgPT4gdGhpcy5idWlsZFdoZXJlU2VudGVuY2UocXVlcnksIGZpZWxkTmFtZSwgZmlsdGVyW2ZpZWxkTmFtZV0pLFxuICAgICAgICBxdWVyeVJlZmVyZW5jZSxcbiAgICAgIClcblxuICAgIGJ1aWxkV2hlcmVTZW50ZW5jZSA9IChcbiAgICAgIHF1ZXJ5UmVmZXJlbmNlOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPixcbiAgICAgIGZpZWxkTmFtZTogTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPiB8IHN0cmluZyxcbiAgICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFRCYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+PixcbiAgICApOiBRdWVyeTxUQmFzZT4gPT4ge1xuICAgICAgaWYgKHRoaXMuaXNTdWJDb2xsZWN0aW9uPFRCYXNlPih0aGlzKSAmJiBmaWVsZE5hbWUgPT09IHRoaXMucGFyZW50SWRGaWVsZCkgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlXG5cbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9uc1xuICAgICAgY29uc3Qgb2JqZWN0ID0ge31cblxuICAgICAgc2V0KG9iamVjdCwgZmllbGROYW1lLCB2YWx1ZSlcblxuICAgICAgY29uc3QgcGxhaW5JbnN0YW5jZSA9IG5ldyB0aGlzLm1vZGVsKG9iamVjdCkudG9QbGFpbigpXG4gICAgICBjb25zdCBmaXJlc3RvcmVGaWVsZE5hbWUgPVxuICAgICAgICBmaWVsZE5hbWUudG9TdHJpbmcoKS5pbmRleE9mKCcuJykgPiAtMVxuICAgICAgICAgID8gZmllbGROYW1lLnRvU3RyaW5nKClcbiAgICAgICAgICA6IE9iamVjdC5rZXlzKHBsYWluSW5zdGFuY2UpLmZpbmQoKGtleSkgPT4gcGxhaW5JbnN0YW5jZVtrZXldKVxuXG4gICAgICBpZiAob3B0aW9ucz8ub3BlcmF0b3IgPT09IFdoZXJlLkxJS0UpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpKVxuICAgICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucy1hbnknLCBvcHRpb25zLnZhbHVlKVxuXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlID0gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPj0nLCBvcHRpb25zLnZhbHVlKVxuICAgICAgICBxdWVyeVJlZmVyZW5jZSA9IHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJzw9JywgYCR7b3B0aW9ucy52YWx1ZX1+YClcblxuICAgICAgICByZXR1cm4gcXVlcnlSZWZlcmVuY2VcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zPy5vcGVyYXRvciA9PT0gV2hlcmUuSU4gJiYgQXJyYXkuaXNBcnJheShvcHRpb25zPy52YWx1ZSkpXG4gICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucycsIG9wdGlvbnMudmFsdWUpXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykgJiYgaXNOaWwob3B0aW9ucz8ub3BlcmF0b3IpICYmIGlzTmlsKG9wdGlvbnM/LnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKFxuICAgICAgICAgIChxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwga2V5KSA9PlxuICAgICAgICAgICAgdGhpcy5idWlsZFdoZXJlU2VudGVuY2UocXVlcnlSZWZlcmVuY2VXaXRoV2hlcmUsIGAke2ZpZWxkTmFtZX0uJHtrZXl9YCwgb3B0aW9uc1trZXldKSxcbiAgICAgICAgICBxdWVyeVJlZmVyZW5jZSxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCBvcHRpb25zPy5vcGVyYXRvciB8fCAnPT0nLCBvcHRpb25zPy52YWx1ZSB8fCBvcHRpb25zKVxuICAgIH1cblxuICAgIGFzeW5jIGRlZmluZUxpbWl0cyhcbiAgICAgIHF1ZXJ5OiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPixcbiAgICAgIGZpbHRlcnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+W10sXG4gICAgICBsaW1pdHM6IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8VEJhc2U+LFxuICAgICk6IFByb21pc2U8UXVlcnk8VEJhc2U+PiB7XG4gICAgICBpZiAobGltaXRzPy5vZmZzZXQpIHtcbiAgICAgICAgaWYgKGxpbWl0cy5vZmZzZXQgaW5zdGFuY2VvZiB0aGlzLm1vZGVsKVxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkuc3RhcnRBZnRlcihcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMpKVxuICAgICAgICAgICAgICAuZG9jKGxpbWl0cy5vZmZzZXRbbGltaXRzLm9mZnNldC5pZGVudGlmaWVyRmllbGRzKCkuc2hpZnQoKSBhcyBzdHJpbmddKVxuICAgICAgICAgICAgICAuZ2V0KCksXG4gICAgICAgICAgKVxuICAgICAgICBlbHNlIGlmIChpc051bWJlcihsaW1pdHMub2Zmc2V0KSB8fCBpc1N0cmluZyhsaW1pdHMub2Zmc2V0KSkgcXVlcnkgPSBxdWVyeS5zdGFydEF0KGxpbWl0cy5vZmZzZXQpXG4gICAgICB9XG4gICAgICBpZiAobGltaXRzPy5saW1pdCkgcXVlcnkgPSBxdWVyeS5saW1pdChsaW1pdHMubGltaXQpXG5cbiAgICAgIHJldHVybiBxdWVyeVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZUNvdW50KGRhdGE6IFRCYXNlW10sIGxpbWl0czogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT4pOiBudW1iZXIge1xuICAgICAgaWYgKGRhdGEubGVuZ3RoIDw9IDApIHJldHVybiAwXG4gICAgICBpZiAoZGF0YS5sZW5ndGggPCBsaW1pdHM/LmxpbWl0KSByZXR1cm4gZGF0YS5sZW5ndGhcblxuICAgICAgcmV0dXJuIEluZmluaXR5XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFxQyxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd2SCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUkvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQVcsRUFBdUQsRUFBRSxDQUNqRyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7SUFDMUIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQXVDLEVBQU8sRUFBRTtRQUMxRSxPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDOUQsQ0FBQyxDQUFBO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ3ZDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV0QyxPQUFPLE1BQU0s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LENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7aUJBQ2xHO2dCQUNELElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUs7b0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUVwRCxPQUFPLEtBQUssQ0FBQTtZQUNkLENBQUM7U0FBQTtRQUVELGNBQWMsQ0FBQyxJQUFhLEVBQUUsTUFBcUM7WUFDakUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUE7WUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLENBQUE7Z0JBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBRW5ELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgUXVlcnksIFdoZXJlRmlsdGVyT3AgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQge1xuICBGaW5kUmVwb3NpdG9yeSxcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbGQsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zLFxuICBSZXBvc2l0b3J5RmluZFJlc3VsdCxcbiAgUmVwb3NpdG9yeUxpbWl0T3B0aW9ucyxcbiAgUmVwb3NpdG9yeU9yZGVyQnksXG4gIFdoZXJlLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpc0RhdGUsIGlzTmlsLCBpc051bWJlciwgaXNPYmplY3QsIGlzU3RyaW5nLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e30sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICBjb25zdCBjaGVja0lmSXNGaWx0ZXJPcHRpb24gPSAoZmlsdGVyOiBhbnkpOiBmaWx0ZXIgaXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8VEJhc2UsIGFueT4gPT5cbiAgICAhaXNOaWwoZmlsdGVyPy5vcGVyYXRvcilcbiAgY29uc3QgZ2V0VmFsdWVGcm9tRmlsdGVyID0gKGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsZDxUQmFzZSwgYW55Pik6IGFueSA9PiB7XG4gICAgcmV0dXJuIGNoZWNrSWZJc0ZpbHRlck9wdGlvbihmaWx0ZXIpID8gZmlsdGVyLnZhbHVlIDogZmlsdGVyXG4gIH1cbiAgY29uc3QgZ2V0RmluYWxWYWx1ZUZyb20gPSAodmFsdWU6IGFueSkgPT5cbiAgICBpc051bWJlcih2YWx1ZSkgfHwgaXNTdHJpbmcodmFsdWUpIHx8IGlzRGF0ZSh2YWx1ZSkgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICAgID8gdmFsdWVcbiAgICAgIDogT2JqZWN0LnZhbHVlcyhnZXRGaW5hbFZhbHVlRnJvbSlcblxuICByZXR1cm4gY2xhc3MgRmluZEZpcmVzdG9yZSBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgYXN5bmMgZmluZCh7XG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGltaXRzLFxuICAgICAgb3JkZXJCeSxcbiAgICB9OiB7XG4gICAgICBmaWx0ZXJzPzogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT5cbiAgICAgIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8VEJhc2U+XG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8VEJhc2U+XG4gICAgfSA9IHt9KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxUQmFzZT4+IHtcbiAgICAgIGxldCBxdWVyeTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4gPSB0aGlzLmNvbGxlY3Rpb24oXG4gICAgICAgIHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckZpbmQoZmlsdGVycyB8fCB7fSksXG4gICAgICApXG5cbiAgICAgIHF1ZXJ5ID0gdGhpcy5tYWtlRmlyZXN0b3JlV2hlcmUocXVlcnksIGZpbHRlcnMgfHwge30pXG5cbiAgICAgIE9iamVjdC5rZXlzKG9yZGVyQnkgfHwge30pLmZvckVhY2goKGZpZWxkTmFtZSkgPT4gKHF1ZXJ5ID0gcXVlcnkub3JkZXJCeShmaWVsZE5hbWUsIG9yZGVyQnlbZmllbGROYW1lXSkpKVxuXG4gICAgICBxdWVyeSA9IGF3YWl0IHRoaXMuZGVmaW5lTGltaXRzKHF1ZXJ5LCBmaWx0ZXJzLCBsaW1pdHMpXG5cbiAgICAgIGNvbnN0IGRvY3MgPSBhd2FpdCBxdWVyeS5nZXQoKVxuICAgICAgY29uc3QgZGF0YSA9IGRvY3MuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmRhdGEoKSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY291bnQ6IHRoaXMuY2FsY3VsYXRlQ291bnQoZGF0YSwgbGltaXRzKSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICBpZiAoIXRoaXMuaXNTdWJDb2xsZWN0aW9uPFRCYXNlPih0aGlzKSkgcmV0dXJuIHRoaXMuY29sbGVjdGlvbk5hbWVcblxuICAgICAgY29uc3QgcGFyZW50SWRGaWVsZCA9IHRoaXMucGFyZW50SWRGaWVsZFxuICAgICAgY29uc3QgcGFyZW50SWQgPSBnZXRWYWx1ZUZyb21GaWx0ZXIoZmlsdGVycz8uW3BhcmVudElkRmllbGRdKVxuXG4gICAgICByZXR1cm4gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke3BhcmVudElkfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgIH1cblxuICAgIG1ha2VGaXJlc3RvcmVXaGVyZSA9IChcbiAgICAgIHF1ZXJ5UmVmZXJlbmNlOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPixcbiAgICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT4sXG4gICAgKTogUXVlcnk8VEJhc2U+ID0+XG4gICAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLnJlZHVjZShcbiAgICAgICAgKHF1ZXJ5OiBRdWVyeTxUQmFzZT4sIGZpZWxkTmFtZTogc3RyaW5nKSA9PiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShxdWVyeSwgZmllbGROYW1lLCBmaWx0ZXJbZmllbGROYW1lXSksXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlLFxuICAgICAgKVxuXG4gICAgYnVpbGRXaGVyZVNlbnRlbmNlID0gKFxuICAgICAgcXVlcnlSZWZlcmVuY2U6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+LFxuICAgICAgZmllbGROYW1lOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+IHwgc3RyaW5nLFxuICAgICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8VEJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4+LFxuICAgICk6IFF1ZXJ5PFRCYXNlPiA9PiB7XG4gICAgICBpZiAodGhpcy5pc1N1YkNvbGxlY3Rpb248VEJhc2U+KHRoaXMpICYmIGZpZWxkTmFtZSA9PT0gdGhpcy5wYXJlbnRJZEZpZWxkKSByZXR1cm4gcXVlcnlSZWZlcmVuY2VcblxuICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zPy52YWx1ZSB8fCBvcHRpb25zXG4gICAgICBjb25zdCBvYmplY3QgPSB7fVxuXG4gICAgICBzZXQob2JqZWN0LCBmaWVsZE5hbWUsIHZhbHVlKVxuXG4gICAgICBjb25zdCBwbGFpbkluc3RhbmNlID0gbmV3IHRoaXMubW9kZWwob2JqZWN0KS50b1BsYWluKClcbiAgICAgIGNvbnN0IGZpcmVzdG9yZUZpZWxkTmFtZSA9XG4gICAgICAgIGZpZWxkTmFtZS50b1N0cmluZygpLmluZGV4T2YoJy4nKSA+IC0xXG4gICAgICAgICAgPyBmaWVsZE5hbWUudG9TdHJpbmcoKVxuICAgICAgICAgIDogT2JqZWN0LmtleXMocGxhaW5JbnN0YW5jZSkuZmluZCgoa2V5KSA9PiBwbGFpbkluc3RhbmNlW2tleV0pXG5cbiAgICAgIGlmIChvcHRpb25zPy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zPy52YWx1ZSkpXG4gICAgICAgICAgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJ2FycmF5LWNvbnRhaW5zLWFueScsIG9wdGlvbnMudmFsdWUpXG5cbiAgICAgICAgcXVlcnlSZWZlcmVuY2UgPSBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICc+PScsIG9wdGlvbnMudmFsdWUpXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlID0gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPD0nLCBgJHtvcHRpb25zLnZhbHVlfX5gKVxuXG4gICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZVxuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM/Lm9wZXJhdG9yID09PSBXaGVyZS5JTiAmJiBBcnJheS5pc0FycmF5KG9wdGlvbnM/LnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJ2FycmF5LWNvbnRhaW5zJywgb3B0aW9ucy52YWx1ZSlcbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSAmJiBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiYgaXNOaWwob3B0aW9ucz8udmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvcHRpb25zKS5yZWR1Y2UoXG4gICAgICAgICAgKHF1ZXJ5UmVmZXJlbmNlV2l0aFdoZXJlLCBrZXkpID0+XG4gICAgICAgICAgICB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwgYCR7ZmllbGROYW1lLnRvU3RyaW5nKCl9LiR7a2V5fWAsIG9wdGlvbnNba2V5XSksXG4gICAgICAgICAgcXVlcnlSZWZlcmVuY2UsXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlLndoZXJlKFxuICAgICAgICBmaXJlc3RvcmVGaWVsZE5hbWUsXG4gICAgICAgIChvcHRpb25zPy5vcGVyYXRvciBhcyBXaGVyZUZpbHRlck9wKSB8fCAnPT0nLFxuICAgICAgICBvcHRpb25zPy52YWx1ZSB8fCBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIGFzeW5jIGRlZmluZUxpbWl0cyhcbiAgICAgIHF1ZXJ5OiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPixcbiAgICAgIGZpbHRlcnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+LFxuICAgICAgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPixcbiAgICApOiBQcm9taXNlPFF1ZXJ5PFRCYXNlPj4ge1xuICAgICAgaWYgKGxpbWl0cz8ub2Zmc2V0KSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmlzTW9kZWwobGltaXRzLm9mZnNldCkpXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeS5zdGFydEFmdGVyKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uKHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckZpbmQoZmlsdGVycykpXG4gICAgICAgICAgICAgIC5kb2MobGltaXRzLm9mZnNldFtsaW1pdHMub2Zmc2V0LmlkZW50aWZpZXJzRmllbGRzLnNoaWZ0KCkgYXMgc3RyaW5nXSlcbiAgICAgICAgICAgICAgLmdldCgpLFxuICAgICAgICAgIClcbiAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIobGltaXRzLm9mZnNldCkgfHwgaXNTdHJpbmcobGltaXRzLm9mZnNldCkpIHF1ZXJ5ID0gcXVlcnkuc3RhcnRBdChsaW1pdHMub2Zmc2V0KVxuICAgICAgfVxuICAgICAgaWYgKGxpbWl0cz8ubGltaXQpIHF1ZXJ5ID0gcXVlcnkubGltaXQobGltaXRzLmxpbWl0KVxuXG4gICAgICByZXR1cm4gcXVlcnlcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVDb3VudChkYXRhOiBUQmFzZVtdLCBsaW1pdHM6IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8VEJhc2U+KTogbnVtYmVyIHtcbiAgICAgIGlmIChkYXRhLmxlbmd0aCA8PSAwKSByZXR1cm4gMFxuICAgICAgaWYgKGRhdGEubGVuZ3RoIDwgbGltaXRzPy5saW1pdCkgcmV0dXJuIGRhdGEubGVuZ3RoXG5cbiAgICAgIHJldHVybiBJbmZpbml0eVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import firebase from 'firebase';
|
|
2
1
|
export const withFirestore = (MixinBase) => {
|
|
3
2
|
return class extends MixinBase {
|
|
4
|
-
constructor(...args) {
|
|
5
|
-
super(args);
|
|
6
|
-
}
|
|
7
3
|
collection(path) {
|
|
8
4
|
return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance());
|
|
9
5
|
}
|
|
@@ -13,7 +9,7 @@ export const withFirestore = (MixinBase) => {
|
|
|
13
9
|
fromFirestore: (snap) => {
|
|
14
10
|
const data = snap.data();
|
|
15
11
|
Object.keys(data).forEach((key) => {
|
|
16
|
-
if (data[key]
|
|
12
|
+
if (data[key] && typeof data[key] === 'object' && '_seconds' in data[key]) {
|
|
17
13
|
data[key] = data[key].toDate();
|
|
18
14
|
}
|
|
19
15
|
});
|
|
@@ -23,4 +19,4 @@ export const withFirestore = (MixinBase) => {
|
|
|
23
19
|
}
|
|
24
20
|
};
|
|
25
21
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvbWl4aW5zL3dpdGgtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixTQUFZLEVBQ2tDLEVBQUU7SUFDaEQsT0FBTyxLQUFNLFNBQVEsU0FBUztRQUs1QixVQUFVLENBQUMsSUFBYTtZQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUE7UUFDeEcsQ0FBQztRQUVELGtCQUFrQjtZQUloQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxDQUFDLElBQVcsRUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkYsYUFBYSxFQUFFLENBQUMsSUFBa0MsRUFBUyxFQUFFO29CQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7b0JBRXhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ2hDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO3lCQUMvQjtvQkFDSCxDQUFDLENBQUMsQ0FBQTtvQkFFRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxpQ0FBTSxJQUFJLEtBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUcsQ0FBQTtnQkFDeEQsQ0FBQzthQUNGLENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UsIERvY3VtZW50RGF0YSwgRmlyZWJhc2VGaXJlc3RvcmUsIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7IEJhc2VNb2RlbEJ1aWxkZXIsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpcmVzdG9yZSA9IDxUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oXG4gIE1peGluQmFzZTogVCxcbik6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiwgbmV2ZXI+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIHJlYWRvbmx5IGZpcmVzdG9yZT86IEZpcmViYXNlRmlyZXN0b3JlXG4gICAgY29sbGVjdGlvbk5hbWU6IHN0cmluZ1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPFRCYXNlPlxuXG4gICAgY29sbGVjdGlvbihwYXRoPzogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aCB8fCB0aGlzLmNvbGxlY3Rpb25OYW1lKS53aXRoQ29udmVydGVyKHRoaXMuYnVpbGRNb2RlbEluc3RhbmNlKCkpXG4gICAgfVxuXG4gICAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcbiAgICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogVEJhc2UpID0+IERvY3VtZW50RGF0YVxuICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pID0+IFRCYXNlXG4gICAgfSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IFRCYXNlKTogRG9jdW1lbnREYXRhID0+IChkYXRhPy50b1BsYWluID8gZGF0YS50b1BsYWluKCkgOiBkYXRhKSxcbiAgICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pOiBUQmFzZSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHNuYXAuZGF0YSgpXG5cbiAgICAgICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChkYXRhW2tleV0gJiYgdHlwZW9mIGRhdGFba2V5XSA9PT0gJ29iamVjdCcgJiYgJ19zZWNvbmRzJyBpbiBkYXRhW2tleV0pIHtcbiAgICAgICAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvRGF0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoeyAuLi5kYXRhLCBpZDogc25hcC5pZCB9KVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -21,4 +21,4 @@ export const withGetFirestore = (MixinBase) => {
|
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWdldC1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQXFDLE1BQU0sbUJBQW1CLENBQUE7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBSTlCLFNBQWdGLEVBSWhGLEVBQUU7SUFDRixPQUFPLE1BQU0sWUFBYSxTQUFRLFNBQVM7UUFDbkMsR0FBRyxDQUFDLFdBQXlDOztnQkFDakQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDM0UsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ2xELEdBQUcsRUFBRSxDQUFBO2dCQUNSLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFdkIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFFN0YsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1NBQUE7UUFFRCx5QkFBeUIsQ0FBQyxXQUF5QztZQUNqRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMvQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekIsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIEdldFJlcG9zaXRvcnksIE5vbkZ1bmN0aW9uUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9lcnJvcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0RmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBHZXRSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e30sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgR2V0RmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgR2V0UmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGdldChpZGVudGlmaWVyczogTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFRCYXNlPik6IFByb21pc2U8VEJhc2U+IHtcbiAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JHZXQoaWRlbnRpZmllcnMpKVxuICAgICAgICAuZG9jKE9iamVjdC52YWx1ZXMoaWRlbnRpZmllcnMpLnNoaWZ0KCkudG9TdHJpbmcoKSlcbiAgICAgICAgLmdldCgpXG4gICAgICBjb25zdCBkYXRhID0gZG9jLmRhdGEoKVxuXG4gICAgICBpZiAoaXNOaWwoZGF0YSkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBEb2N1bWVudCAke0pTT04uc3RyaW5naWZ5KGlkZW50aWZpZXJzKX0gbm90IGZvdW5kYClcblxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yR2V0KGlkZW50aWZpZXJzOiBOb25GdW5jdGlvblByb3BlcnRpZXM8VEJhc2U+KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZGVudGlmaWVyc1t0aGlzLnBhcmVudElkRmllbGRdfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgICAgICA6IHRoaXMuY29sbGVjdGlvbk5hbWVcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -14,4 +14,4 @@ export const withHelpers = (MixinBase) => {
|
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oZWxwZXJzLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWhlbHBlcnMubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLEtBQUssRUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBRXBELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUEyQyxTQUFpQyxFQUFFLEVBQUU7SUFDekcsT0FBTyxLQUFNLFNBQVEsU0FBUztRQUM1QixPQUFPLENBQStCLFFBQXVEO1lBQzNGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7YUFDbkU7aUJBQU07Z0JBQ0wsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2FBQ3hFO1FBQ0gsQ0FBQztRQUVELGVBQWUsQ0FDYixVQUFrQztZQUVsQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQzVFLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlTbmFwc2hvdCwgUXVlcnlEb2N1bWVudFNuYXBzaG90IH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcblxuaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSwgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEhlbHBlcnMgPSA8VE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oTWl4aW5CYXNlOiBNaXhpbkN0b3IgJiBUTWl4aW5CYXNlKSA9PiB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpcmVzdG9yZUhlbHBlcnMge1xuICAgIHRvQXJyYXk8VCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oc25hcFNob3Q6IFF1ZXJ5U25hcHNob3Q8VD4gfCBRdWVyeURvY3VtZW50U25hcHNob3Q8VD5bXSk6IFRbXSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzbmFwU2hvdCkpIHtcbiAgICAgICAgcmV0dXJuIHNuYXBTaG90Lm1hcCgoZG9jOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VD4pID0+IGRvYy5kYXRhKCkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc25hcFNob3QuZG9jcy5tYXAoKGRvYzogUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+KSA9PiBkb2MuZGF0YSgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlzU3ViQ29sbGVjdGlvbjxUIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICAgIHJlcG9zaXRvcnk6IEZpcmVzdG9yZVJlcG9zaXRvcnk8VD4sXG4gICAgKTogcmVwb3NpdG9yeSBpcyBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5PFQ+IHtcbiAgICAgIHJldHVybiAhaXNOaWwoT2JqZWN0LmtleXModGhpcykuZmluZCgoa2V5KSA9PiBrZXkgPT09ICdwYXJlbnRSZXBvc2l0b3J5JykpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -8,4 +8,4 @@ export const withSubCollection = (MixinBase, ParentModel) => {
|
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdWItY29sbGVjdGlvbi5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1zdWItY29sbGVjdGlvbi5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUE2RCxFQUM3RCxXQUFrQyxFQU9sQyxFQUFFO0lBQ0YsT0FBTyxNQUFNLGdCQUNYLFNBQVEsU0FBUztRQU1qQixZQUFZLEdBQUcsSUFBZ0I7WUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2IsQ0FBQztRQUVELFVBQVUsQ0FBQyxJQUFhO1lBQ3RCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBJZGVudGlmaWVyc01vZGVsLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5LCBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcblxuZXhwb3J0IGNvbnN0IHdpdGhTdWJDb2xsZWN0aW9uID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVEJhc2VQYXJlbnQgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+ICYgVE1peGluQmFzZSxcbiAgUGFyZW50TW9kZWw6IG5ldyAoKSA9PiBUQmFzZVBhcmVudCxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJlxuICAgIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmXG4gICAgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeTxUQmFzZSwgSW5zdGFuY2VUeXBlPHR5cGVvZiBQYXJlbnRNb2RlbD4+ICZcbiAgICBGaXJlc3RvcmVIZWxwZXJzLFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPHt9LCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIFN1YkNvbGxlY3Rpb25NaXhcbiAgICBleHRlbmRzIE1peGluQmFzZVxuICAgIGltcGxlbWVudHMgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeTxUQmFzZSwgSW5zdGFuY2VUeXBlPHR5cGVvZiBQYXJlbnRNb2RlbD4+XG4gIHtcbiAgICByZWFkb25seSBwYXJlbnRSZXBvc2l0b3J5OiBGaXJlc3RvcmVSZXBvc2l0b3J5PEluc3RhbmNlVHlwZTx0eXBlb2YgUGFyZW50TW9kZWw+PlxuICAgIHBhcmVudElkRmllbGQ6IGtleW9mIElkZW50aWZpZXJzTW9kZWw8VEJhc2U+XG5cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBBcnJheTxhbnk+KSB7XG4gICAgICBzdXBlcihhcmdzKVxuICAgIH1cblxuICAgIGNvbGxlY3Rpb24ocGF0aD86IHN0cmluZyk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHtcbiAgICAgIHJldHVybiBzdXBlci5jb2xsZWN0aW9uKHBhdGgpXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
|
|
@@ -22,7 +22,7 @@ export const withUpdateFirestore = (MixinBase) => {
|
|
|
22
22
|
update(data) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
const model = new this.model();
|
|
25
|
-
const keyField = model.
|
|
25
|
+
const keyField = model.identifiersFields.shift();
|
|
26
26
|
const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
|
|
27
27
|
yield docRef.set(this.paramsToPlain(data), { merge: true });
|
|
28
28
|
const doc = yield docRef.get();
|
|
@@ -36,10 +36,10 @@ export const withUpdateFirestore = (MixinBase) => {
|
|
|
36
36
|
}
|
|
37
37
|
paramsToPlain(params) {
|
|
38
38
|
const model = this.model;
|
|
39
|
-
if (params
|
|
40
|
-
return params;
|
|
39
|
+
if (model.isModel(params))
|
|
40
|
+
return params.toPlain();
|
|
41
41
|
return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(params[currentKey]) })), {});
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLXVwZGF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUUvQixPQUFPLEVBSUwsbUJBQW1CLEdBR3BCLE1BQU0sb0JBQW9CLENBQUE7QUFFM0IsT0FBTyxFQUFFLEtBQUssRUFBK0MsTUFBTSxtQkFBbUIsQ0FBQTtBQU10RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUlqQyxTQUFnRixFQUloRixFQUFFO0lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxDQUN6QixNQUFxQyxFQUNyQyxLQUFzQyxFQUNZLEVBQUUsV0FDcEQsT0FBQSxDQUFDLEtBQUssQ0FBQyxNQUFBLE1BQU0sQ0FBQyxLQUFlLENBQUMsMENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQSxFQUFBLENBQUE7SUFDM0csTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQTZCLEVBQTJDLEVBQUU7UUFDbEcsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUE7UUFFakQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFBO1FBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxZQUFZO1lBQUUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDcEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsS0FBSztnQkFBRSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDakcsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLE1BQU07Z0JBQUUsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ3BHO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQ3RCLENBQUMsQ0FBQTtJQUVELE9BQU8sTUFBTSxlQUFnQixTQUFRLFNBQVM7UUFDdEMsTUFBTSxDQUFDLElBQW1DOztnQkFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQzlCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3pFLGtCQUFrQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDOUMsQ0FBQTtnQkFFRCxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUUzRCxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFFOUIsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDbkIsQ0FBQztTQUFBO1FBRUQsNEJBQTRCLENBQUMsV0FBMEM7WUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUM1RixJQUFJLENBQUMsY0FDUCxFQUFFO2dCQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3pCLENBQUM7UUFFRCxhQUFhLENBQUMsTUFBcUM7WUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUV4QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBRWxELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQy9CLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsaUNBQU0sSUFBSSxLQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUcsRUFDdkYsRUFBRSxDQUNILENBQUE7UUFDSCxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZSdcblxuaW1wb3J0IHtcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlVcGRhdGVQYXJhbXMsXG4gIFVwZGF0ZU9wdGlvbkFjdGlvbnMsXG4gIFVwZGF0ZU9wdGlvbnMsXG4gIFVwZGF0ZVJlcG9zaXRvcnksXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IsIFByb3BUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZpcmVzdG9yZVJlcG9zaXRvcnlUeXBlPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPiA9IFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+ICYge1xuICBwYXJhbXNUb1BsYWluKHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQYXJ0aWFsPE1CYXNlPlxufVxuXG5leHBvcnQgY29uc3Qgd2l0aFVwZGF0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgVXBkYXRlUmVwb3NpdG9yeTxUQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPHt9LCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgY29uc3QgZ2V0VmFsdWVGcm9tUGFyYW1zID0gKFxuICAgIHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxUQmFzZT4sXG4gICAgZmllbGQ6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4sXG4gICk6IFByb3BUeXBlPFRCYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+PiA9PlxuICAgIChpc05pbChwYXJhbXNbZmllbGQgYXMgc3RyaW5nXT8udmFsdWUpID8gcGFyYW1zW2ZpZWxkIGFzIHN0cmluZ10gOiBwYXJhbXNbZmllbGQgYXMgc3RyaW5nXS52YWx1ZSkgfHwgbnVsbFxuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VEJhc2U+KTogZmlyZWJhc2UuZmlyZXN0b3JlLkZpZWxkVmFsdWUgfCB1bmtub3duID0+IHtcbiAgICBjb25zdCBmaWVsZFZhbHVlcyA9IGZpcmViYXNlLmZpcmVzdG9yZS5GaWVsZFZhbHVlXG5cbiAgICBpZiAoaXNOaWwob3B0aW9ucy5hY3Rpb24pKSByZXR1cm4gb3B0aW9uc1xuICAgIGlmIChvcHRpb25zLmFjdGlvbiA9PT0gVXBkYXRlT3B0aW9uQWN0aW9ucy5SRU1PVkVfRklFTEQpIHJldHVybiBmaWVsZFZhbHVlcy5kZWxldGUoKVxuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudmFsdWUpKSB7XG4gICAgICBpZiAob3B0aW9ucy5hY3Rpb24gPT09IFVwZGF0ZU9wdGlvbkFjdGlvbnMuTUVSR0UpIHJldHVybiBmaWVsZFZhbHVlcy5hcnJheVVuaW9uKC4uLm9wdGlvbnMudmFsdWUpXG4gICAgICBpZiAob3B0aW9ucy5hY3Rpb24gPT09IFVwZGF0ZU9wdGlvbkFjdGlvbnMuUkVNT1ZFKSByZXR1cm4gZmllbGRWYWx1ZXMuYXJyYXlSZW1vdmUoLi4ub3B0aW9ucy52YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucy52YWx1ZVxuICB9XG5cbiAgcmV0dXJuIGNsYXNzIFVwZGF0ZUZpcmVzdG9yZSBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIFVwZGF0ZVJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyB1cGRhdGUoZGF0YTogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxUQmFzZT4pOiBQcm9taXNlPFRCYXNlPiB7XG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyB0aGlzLm1vZGVsKClcbiAgICAgIGNvbnN0IGtleUZpZWxkID0gbW9kZWwuaWRlbnRpZmllcnNGaWVsZHMuc2hpZnQoKVxuICAgICAgY29uc3QgZG9jUmVmID0gdGhpcy5jb2xsZWN0aW9uKHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvclVwZGF0ZShkYXRhKSkuZG9jKFxuICAgICAgICBnZXRWYWx1ZUZyb21QYXJhbXMoZGF0YSwga2V5RmllbGQpLnRvU3RyaW5nKCksXG4gICAgICApXG5cbiAgICAgIGF3YWl0IGRvY1JlZi5zZXQodGhpcy5wYXJhbXNUb1BsYWluKGRhdGEpLCB7IG1lcmdlOiB0cnVlIH0pXG5cbiAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IGRvY1JlZi5nZXQoKVxuXG4gICAgICByZXR1cm4gZG9jLmRhdGEoKVxuICAgIH1cblxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JVcGRhdGUoaWRlbnRpZmllcnM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8VEJhc2U+KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtnZXRWYWx1ZUZyb21QYXJhbXMoaWRlbnRpZmllcnMsIHRoaXMucGFyZW50SWRGaWVsZCl9LyR7XG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgICAgICAgfWBcbiAgICAgICAgOiB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgfVxuXG4gICAgcGFyYW1zVG9QbGFpbihwYXJhbXM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8VEJhc2U+KTogUGFydGlhbDxUQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXG5cbiAgICAgIGlmIChtb2RlbC5pc01vZGVsKHBhcmFtcykpIHJldHVybiBwYXJhbXMudG9QbGFpbigpXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZShcbiAgICAgICAgKGRhdGEsIGN1cnJlbnRLZXkpID0+ICh7IC4uLmRhdGEsIFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihwYXJhbXNbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseModel } from '../../../../domain/
|
|
1
|
+
import { BaseModel } from '../../../../domain/generic';
|
|
2
2
|
export class UserSearch extends BaseModel {
|
|
3
|
-
|
|
3
|
+
static get identifiersFields() {
|
|
4
4
|
return ['id'];
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvbW9kZWxzL3VzZXItc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sNEJBQTRCLENBQUE7QUFFekUsTUFBTSxPQUFPLFVBQVcsU0FBUSxTQUFxQjtJQU9uRCxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZ2VuZXJpYydcblxuZXhwb3J0IGNsYXNzIFVzZXJTZWFyY2ggZXh0ZW5kcyBCYXNlTW9kZWw8VXNlclNlYXJjaD4ge1xuICBpZDogc3RyaW5nXG4gIGNwZj86IHN0cmluZ1xuICBlbWFpbD86IHN0cmluZ1xuICBjcmVhdGVkQXQ6IERhdGVcbiAgY29waWVkQXQ6IERhdGVcblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
|
package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js
CHANGED
|
@@ -53,7 +53,9 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
53
53
|
for (const productIds of chunks) {
|
|
54
54
|
if ((options === null || options === void 0 ? void 0 : options.limit) && products.length >= (options === null || options === void 0 ? void 0 : options.limit))
|
|
55
55
|
break;
|
|
56
|
-
let query = yield this.collection('
|
|
56
|
+
let query = yield this.collection('productsErpVitrine')
|
|
57
|
+
.where(publishedField, '==', true)
|
|
58
|
+
.where('id', 'in', productIds);
|
|
57
59
|
if (options === null || options === void 0 ? void 0 : options.hasStock)
|
|
58
60
|
query = query.where('stock.quantity', '>', 0);
|
|
59
61
|
if (options === null || options === void 0 ? void 0 : options.limit)
|
|
@@ -67,4 +69,4 @@ export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(w
|
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL2NhdGFsb2cvY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBK0IsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRXBHLE1BQU0sT0FBTywyQkFDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUdyRSxZQUFxQixTQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQURZLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBRS9DLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsSUFBVztRQUN6QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUN4QyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7YUFDekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ3pCLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFB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QkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3BFLElBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUs7b0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUV2RCxNQUFNLFdBQVcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFFckMsSUFBSSxXQUFXLENBQUMsS0FBSztvQkFBRSxTQUFRO2dCQUUvQixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7YUFDNUQ7WUFFRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmViYXNlRmlyZXN0b3JlIH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcblxuaW1wb3J0IHsgQmFzZSwgY2h1bmsgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IENhdGVnb3J5LCBDYXRlZ29yeVJlcG9zaXRvcnksIFByb2R1Y3QsIFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyB3aXRoQ3J1ZEZpcmVzdG9yZSwgd2l0aEZpcmVzdG9yZSwgd2l0aEhlbHBlcnMgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5pbXBvcnQgeyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yLCBOb3RGb3VuZEVycm9yLCBSZXF1aXJlZEFyZ3VtZW50RXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lcnJvcnMnXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPENhdGVnb3J5PihCYXNlKSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcmVzdG9yZTogRmlyZWJhc2VGaXJlc3RvcmUpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5jb2xsZWN0aW9uTmFtZSA9ICdjYXRlZ29yaWVzJ1xuICAgIHRoaXMubW9kZWwgPSBDYXRlZ29yeVxuICB9XG5cbiAgZ2V0Q2F0ZWdvcnlCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8Q2F0ZWdvcnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKHRoaXMuY29sbGVjdGlvbk5hbWUpXG4gICAgICAud2hlcmUoJ3NsdWcnLCAnPT0nLCBzbHVnKVxuICAgICAgLndoZXJlKCdzaG9wJywgJz09Jywgc2hvcClcbiAgICAgIC53aGVyZSgncHVibGlzaGVkJywgJz09JywgdHJ1ZSlcbiAgICAgIC5nZXQoKVxuICAgICAgLnRoZW4oKHNuYXApID0+IHtcbiAgICAgICAgaWYgKHNuYXAuc2l6ZSA+IDEpIHRocm93IG5ldyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yKCdRdWVyeSByZXR1cm5lZCBkdXBsaWNhdGVkIHZhbHVlcycpXG5cbiAgICAgICAgaWYgKHNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBEb2N1bWVudCB3aXRoIHNsdWcgJHtzbHVnfSBub3QgZm91bmRgKVxuXG4gICAgICAgIHJldHVybiBzbmFwLmRvY3NbMF0uZGF0YSgpXG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4gZXJyb3IpXG4gIH1cblxuICBhc3luYyBnZXRDYXRlZ29yaWVzRm9ySG9tZShjYXRlZ29yeUlkczogc3RyaW5nW10sIGxpbWl0ID0gNCk6IFByb21pc2U8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XG4gICAgY29uc3QgY2F0ZWdvcnlTbmFwID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKHRoaXMuY29sbGVjdGlvbk5hbWUpXG4gICAgICAud2hlcmUoJ2lkJywgJ2luJywgY2F0ZWdvcnlJZHMuZmlsdGVyKEJvb2xlYW4pKVxuICAgICAgLndoZXJlKCdwdWJsaXNoZWQnLCAnPT0nLCB0cnVlKVxuICAgICAgLmdldCgpXG5cbiAgICBpZiAoY2F0ZWdvcnlTbmFwLmVtcHR5KSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcignQ2F0ZWdvcmllcyBub3QgZm91bmQnKVxuXG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IGNhdGVnb3J5U25hcC5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuZGF0YSgpKVxuICAgIGNvbnN0IGhvbWVTZWN0aW9ucyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY2F0ZWdvcmllcy5tYXAoYXN5bmMgKGNhdGVnb3J5KSA9PiAoe1xuICAgICAgICBjYXRlZ29yeSxcbiAgICAgICAgcHJvZHVjdHM6IGF3YWl0IHRoaXMubW91bnRDYXRlZ29yeShjYXRlZ29yeSwgeyBsaW1pdCwgaGFzU3RvY2s6IHRydWUgfSksXG4gICAgICB9KSksXG4gICAgKVxuXG4gICAgcmV0dXJuIGhvbWVTZWN0aW9uc1xuICB9XG5cbiAgYXN5bmMgbW91bnRDYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnM/OiB7IGxpbWl0PzogbnVtYmVyOyBoYXNTdG9jaz86IGJvb2xlYW4gfSk6IFByb21pc2U8UHJvZHVjdFtdPiB7XG4gICAgaWYgKCFjYXRlZ29yeS5wcm9kdWN0cykgdGhyb3cgbmV3IFJlcXVpcmVkQXJndW1lbnRFcnJvcihbJ0NhdGVnb3J5IHByb2R1Y3RzIGlzIGVtcHR5J10pXG5cbiAgICBjb25zdCBjaHVua3MgPSBjaHVuayhjYXRlZ29yeS5wcm9kdWN0cywgMTApXG4gICAgY29uc3QgcHJvZHVjdHMgPSBbXVxuICAgIGNvbnN0IHB1Ymxpc2hlZEZpZWxkID0gY2F0ZWdvcnkuc2hvcCA9PT0gU2hvcHMuR0xBTVNIT1AgPyAncHVibGlzaGVkR2xhbScgOiAncHVibGlzaGVkJ1xuXG4gICAgZm9yIChjb25zdCBwcm9kdWN0SWRzIG9mIGNodW5rcykge1xuICAgICAgaWYgKG9wdGlvbnM/LmxpbWl0ICYmIHByb2R1Y3RzLmxlbmd0aCA+PSBvcHRpb25zPy5saW1pdCkgYnJlYWtcblxuICAgICAgbGV0IHF1ZXJ5ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKCdwcm9kdWN0c0VycFZpdHJpbmUnKVxuICAgICAgICAud2hlcmUocHVibGlzaGVkRmllbGQsICc9PScsIHRydWUpXG4gICAgICAgIC53aGVyZSgnaWQnLCAnaW4nLCBwcm9kdWN0SWRzKVxuXG4gICAgICBpZiAob3B0aW9ucz8uaGFzU3RvY2spIHF1ZXJ5ID0gcXVlcnkud2hlcmUoJ3N0b2NrLnF1YW50aXR5JywgJz4nLCAwKVxuICAgICAgaWYgKG9wdGlvbnM/LmxpbWl0KSBxdWVyeSA9IHF1ZXJ5LmxpbWl0KG9wdGlvbnM/LmxpbWl0KVxuXG4gICAgICBjb25zdCBwcm9kdWN0U25hcCA9IGF3YWl0IHF1ZXJ5LmdldCgpXG5cbiAgICAgIGlmIChwcm9kdWN0U25hcC5lbXB0eSkgY29udGludWVcblxuICAgICAgcHJvZHVjdHMucHVzaCguLi5wcm9kdWN0U25hcC5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuZGF0YSgpKSlcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvZHVjdHNcbiAgfVxufVxuIl19
|
package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js
CHANGED
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Base } from '../../../../../utils';
|
|
3
2
|
import { Product, Where } from '../../../../../domain';
|
|
3
|
+
import { Base } from '../../../../../utils';
|
|
4
4
|
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
5
5
|
export class ProductFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
6
6
|
constructor(firestore) {
|
|
7
7
|
super();
|
|
8
8
|
this.firestore = firestore;
|
|
9
|
-
this.
|
|
9
|
+
this.reviews = {};
|
|
10
|
+
this.collectionName = 'productsErpVitrine';
|
|
10
11
|
this.model = Product;
|
|
11
12
|
}
|
|
12
|
-
getBySlug(slug
|
|
13
|
+
getBySlug(slug) {
|
|
13
14
|
var _a;
|
|
14
15
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const result = yield this.find(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const result = yield this.find({
|
|
17
|
+
filters: {
|
|
18
|
+
slug: { operator: Where.EQUALS, value: slug },
|
|
19
|
+
},
|
|
20
|
+
});
|
|
19
21
|
return (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift();
|
|
20
22
|
});
|
|
21
23
|
}
|
|
24
|
+
fetchReviews(status) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const { data: products } = yield this.find();
|
|
27
|
+
products.forEach((product) => {
|
|
28
|
+
var _a;
|
|
29
|
+
if ([undefined, 0].includes((_a = product.reviews) === null || _a === void 0 ? void 0 : _a.length))
|
|
30
|
+
return;
|
|
31
|
+
const productInfo = {
|
|
32
|
+
productId: product.id,
|
|
33
|
+
productName: product.name,
|
|
34
|
+
productSku: product.sku,
|
|
35
|
+
};
|
|
36
|
+
this.reviews.pending = [];
|
|
37
|
+
this.reviews.approved = [];
|
|
38
|
+
this.reviews.rejected = [];
|
|
39
|
+
product.reviews.forEach((review) => {
|
|
40
|
+
if ([null, undefined].includes(review.status))
|
|
41
|
+
return this.reviews.pending.push(Object.assign(Object.assign({}, review), productInfo));
|
|
42
|
+
if (review.status === false)
|
|
43
|
+
return this.reviews.rejected.push(Object.assign(Object.assign({}, review), productInfo));
|
|
44
|
+
if (!!review.status)
|
|
45
|
+
return this.reviews.approved.push(Object.assign(Object.assign({}, review), productInfo));
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return this.reviews[status];
|
|
49
|
+
});
|
|
50
|
+
}
|
|
22
51
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1maXJlc3RvcmUucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9yZXBvc2l0b3JpZXMvY2F0YWxvZy9wcm9kdWN0LWZpcmVzdG9yZS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFnRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUUsTUFBTSxPQUFPLDBCQUNYLFNBQVEsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBS3BFLFlBQXFCLFNBQTRCO1FBQy9DLEtBQUssRUFBRSxDQUFBO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFGekMsWUFBTyxHQUFpRSxFQUFFLENBQUE7UUFJaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtJQUN0QixDQUFDO0lBRUssU0FBUyxDQUFDLElBQVk7OztZQUMxQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUM5QzthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSwwQ0FBRSxLQUFLLEVBQUUsQ0FBQTs7S0FDN0I7SUFFSyxZQUFZLENBQUMsTUFBMEI7O1lBQzNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFFNUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFOztnQkFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBQSxPQUFPLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUM7b0JBQUUsT0FBTTtnQkFFNUQsTUFBTSxXQUFXLEdBQUc7b0JBQ2xCLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDckIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO29CQUN6QixVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUJBQ3hCLENBQUE7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO2dCQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUE7Z0JBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtnQkFFMUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksaUNBQU0sTUFBTSxHQUFLLFdBQVcsRUFBRyxDQUFBO29CQUM5RyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssS0FBSzt3QkFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQU0sTUFBTSxHQUFLLFdBQVcsRUFBRyxDQUFBO29CQUM3RixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTt3QkFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQU0sTUFBTSxHQUFLLFdBQVcsRUFBRyxDQUFBO2dCQUN2RixDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzdCLENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VGaXJlc3RvcmUgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0UmVwb3NpdG9yeSwgUmV2aWV3U3RhdHVzUGFyYW1zLCBSZXZpZXdXaXRoUHJvZHVjdERhdGEsIFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xuXG5pbXBvcnQgeyB3aXRoQ3J1ZEZpcmVzdG9yZSwgd2l0aEZpcmVzdG9yZSwgd2l0aEhlbHBlcnMgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkRmlyZXN0b3JlKHdpdGhIZWxwZXJzKHdpdGhGaXJlc3RvcmU8UHJvZHVjdD4oQmFzZSkpKVxuICBpbXBsZW1lbnRzIFByb2R1Y3RSZXBvc2l0b3J5XG57XG4gIHByaXZhdGUgcmV2aWV3czogUGFydGlhbDxSZWNvcmQ8UmV2aWV3U3RhdHVzUGFyYW1zLCBSZXZpZXdXaXRoUHJvZHVjdERhdGFbXT4+ID0ge31cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29sbGVjdGlvbk5hbWUgPSAncHJvZHVjdHNFcnBWaXRyaW5lJ1xuICAgIHRoaXMubW9kZWwgPSBQcm9kdWN0XG4gIH1cblxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5maW5kKHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgc2x1ZzogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogc2x1ZyB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdD8uZGF0YT8uc2hpZnQoKVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hSZXZpZXdzKHN0YXR1czogUmV2aWV3U3RhdHVzUGFyYW1zKTogUHJvbWlzZTxSZXZpZXdXaXRoUHJvZHVjdERhdGFbXT4ge1xuICAgIGNvbnN0IHsgZGF0YTogcHJvZHVjdHMgfSA9IGF3YWl0IHRoaXMuZmluZCgpXG5cbiAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0KSA9PiB7XG4gICAgICBpZiAoW3VuZGVmaW5lZCwgMF0uaW5jbHVkZXMocHJvZHVjdC5yZXZpZXdzPy5sZW5ndGgpKSByZXR1cm5cblxuICAgICAgY29uc3QgcHJvZHVjdEluZm8gPSB7XG4gICAgICAgIHByb2R1Y3RJZDogcHJvZHVjdC5pZCxcbiAgICAgICAgcHJvZHVjdE5hbWU6IHByb2R1Y3QubmFtZSxcbiAgICAgICAgcHJvZHVjdFNrdTogcHJvZHVjdC5za3UsXG4gICAgICB9XG5cbiAgICAgIHRoaXMucmV2aWV3cy5wZW5kaW5nID0gW11cbiAgICAgIHRoaXMucmV2aWV3cy5hcHByb3ZlZCA9IFtdXG4gICAgICB0aGlzLnJldmlld3MucmVqZWN0ZWQgPSBbXVxuXG4gICAgICBwcm9kdWN0LnJldmlld3MuZm9yRWFjaCgocmV2aWV3KSA9PiB7XG4gICAgICAgIGlmIChbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyhyZXZpZXcuc3RhdHVzKSkgcmV0dXJuIHRoaXMucmV2aWV3cy5wZW5kaW5nLnB1c2goeyAuLi5yZXZpZXcsIC4uLnByb2R1Y3RJbmZvIH0pXG4gICAgICAgIGlmIChyZXZpZXcuc3RhdHVzID09PSBmYWxzZSkgcmV0dXJuIHRoaXMucmV2aWV3cy5yZWplY3RlZC5wdXNoKHsgLi4ucmV2aWV3LCAuLi5wcm9kdWN0SW5mbyB9KVxuICAgICAgICBpZiAoISFyZXZpZXcuc3RhdHVzKSByZXR1cm4gdGhpcy5yZXZpZXdzLmFwcHJvdmVkLnB1c2goeyAuLi5yZXZpZXcsIC4uLnByb2R1Y3RJbmZvIH0pXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICByZXR1cm4gdGhpcy5yZXZpZXdzW3N0YXR1c11cbiAgfVxufVxuIl19
|
package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { CheckoutTypes, ClubCoupon, Coupon, StoreCoupon } from '../../../../../domain';
|
|
1
|
+
import { Base, isNil } from '../../../../../utils';
|
|
2
|
+
import { Coupon } from '../../../../../domain';
|
|
4
3
|
import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
|
|
5
4
|
export class CouponFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
|
|
6
5
|
constructor(firestore) {
|
|
@@ -10,30 +9,21 @@ export class CouponFirestoreRepository extends withCrudFirestore(withHelpers(wit
|
|
|
10
9
|
this.model = Coupon;
|
|
11
10
|
}
|
|
12
11
|
buildModelInstance() {
|
|
12
|
+
const { fromFirestore, toFirestore } = super.buildModelInstance();
|
|
13
13
|
return {
|
|
14
14
|
toFirestore: (data) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
plain.categories = (_a = plain === null || plain === void 0 ? void 0 : plain.categories) === null || _a === void 0 ? void 0 : _a.map((category) => category.id);
|
|
15
|
+
const plain = toFirestore(data);
|
|
16
|
+
if (!!data.expiresIn)
|
|
17
|
+
plain.expiresIn = data.expiresIn.getTime();
|
|
19
18
|
return plain;
|
|
20
19
|
},
|
|
21
20
|
fromFirestore: (snap) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
data[key] = data[key].toDate();
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
data.categories = (_a = data === null || data === void 0 ? void 0 : data.categories) === null || _a === void 0 ? void 0 : _a.map((category) => ({ id: category }));
|
|
30
|
-
if (data.checkout_type === CheckoutTypes.SUBSCRIPTION)
|
|
31
|
-
return ClubCoupon.toInstance(Object.assign({ id: snap.id }, data));
|
|
32
|
-
if (data.checkout_type === CheckoutTypes.ECOMMERCE)
|
|
33
|
-
return StoreCoupon.toInstance(Object.assign({ id: snap.id }, data));
|
|
34
|
-
return this.model.toInstance(Object.assign({ id: snap.id }, data));
|
|
21
|
+
const instance = fromFirestore(snap);
|
|
22
|
+
if (!isNil(instance.expiresIn))
|
|
23
|
+
instance.expiresIn = new Date(snap.data().expiresIn);
|
|
24
|
+
return instance;
|
|
35
25
|
},
|
|
36
26
|
};
|
|
37
27
|
}
|
|
38
28
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWZpcmVzdG9yZS5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL3JlcG9zaXRvcmllcy9zaG9wcGluZy9jb3Vwb24tZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFvQixNQUFNLHVCQUF1QixDQUFBO0FBRWhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVFLE1BQU0sT0FBTyx5QkFDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUduRSxZQUFxQixTQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQURZLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBRS9DLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFBO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7UUFJaEIsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUVqRSxPQUFPO1lBQ0wsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFnQixFQUFFO2dCQUMxQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRS9CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUFFLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFFaEUsT0FBTyxLQUFLLENBQUE7WUFDZCxDQUFDO1lBQ0QsYUFBYSxFQUFFLENBQUMsSUFBbUMsRUFBVSxFQUFFO2dCQUM3RCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRXBDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztvQkFBRSxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFFcEYsT0FBTyxRQUFRLENBQUE7WUFDakIsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuXG5pbXBvcnQgeyBCYXNlLCBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ291cG9uLCBDb3Vwb25SZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyB3aXRoQ3J1ZEZpcmVzdG9yZSwgd2l0aEZpcmVzdG9yZSwgd2l0aEhlbHBlcnMgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5cbmV4cG9ydCBjbGFzcyBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5XG4gIGV4dGVuZHMgd2l0aENydWRGaXJlc3RvcmUod2l0aEhlbHBlcnMod2l0aEZpcmVzdG9yZTxDb3Vwb24+KEJhc2UpKSlcbiAgaW1wbGVtZW50cyBDb3Vwb25SZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcmVzdG9yZTogRmlyZWJhc2VGaXJlc3RvcmUpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5jb2xsZWN0aW9uTmFtZSA9ICdjb3Vwb25zJ1xuICAgIHRoaXMubW9kZWwgPSBDb3Vwb25cbiAgfVxuXG4gIGJ1aWxkTW9kZWxJbnN0YW5jZSgpOiB7XG4gICAgdG9GaXJlc3RvcmU6IChkYXRhOiBDb3Vwb24pID0+IERvY3VtZW50RGF0YVxuICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8Q291cG9uPikgPT4gQ291cG9uXG4gIH0ge1xuICAgIGNvbnN0IHsgZnJvbUZpcmVzdG9yZSwgdG9GaXJlc3RvcmUgfSA9IHN1cGVyLmJ1aWxkTW9kZWxJbnN0YW5jZSgpXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBDb3Vwb24pOiBEb2N1bWVudERhdGEgPT4ge1xuICAgICAgICBjb25zdCBwbGFpbiA9IHRvRmlyZXN0b3JlKGRhdGEpXG5cbiAgICAgICAgaWYgKCEhZGF0YS5leHBpcmVzSW4pIHBsYWluLmV4cGlyZXNJbiA9IGRhdGEuZXhwaXJlc0luLmdldFRpbWUoKVxuXG4gICAgICAgIHJldHVybiBwbGFpblxuICAgICAgfSxcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8Q291cG9uPik6IENvdXBvbiA9PiB7XG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gZnJvbUZpcmVzdG9yZShzbmFwKVxuXG4gICAgICAgIGlmICghaXNOaWwoaW5zdGFuY2UuZXhwaXJlc0luKSkgaW5zdGFuY2UuZXhwaXJlc0luID0gbmV3IERhdGUoc25hcC5kYXRhKCkuZXhwaXJlc0luKVxuXG4gICAgICAgIHJldHVybiBpbnN0YW5jZVxuICAgICAgfSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -24,7 +24,7 @@ export class UserFirestoreRepository extends withCrudFirestore(withHelpers(withF
|
|
|
24
24
|
}
|
|
25
25
|
checkIfExistsByField(field, value) {
|
|
26
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const result = yield this.userSearchFirestoreRepository.find(
|
|
27
|
+
const result = yield this.userSearchFirestoreRepository.find({ [field]: { operator: Where.EQUALS, value } });
|
|
28
28
|
return result.count > 0;
|
|
29
29
|
});
|
|
30
30
|
}
|
|
@@ -67,4 +67,4 @@ export class UserFirestoreRepository extends withCrudFirestore(withHelpers(withF
|
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maXJlc3RvcmUucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9yZXBvc2l0b3JpZXMvdXNlcnMvdXNlci1maXJlc3RvcmUucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFrQixLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU1RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUVsRixNQUFNLE9BQU8sdUJBQ1gsU0FBUSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHakUsWUFDVyxTQUE0QixFQUNwQixnQ0FBZ0MsSUFBSSw2QkFBNkIsQ0FBQyxTQUFTLENBQUM7UUFFN0YsS0FBSyxFQUFFLENBQUE7UUFIRSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUNwQixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStDO1FBRzdGLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFBO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ25CLENBQUM7SUFFSyxHQUFHLENBQUMsV0FBMEI7Ozs7O1lBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTSxHQUFHLFlBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7WUFFM0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0tBQUE7SUFFSyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsS0FBYTs7WUFDckQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUU1RyxPQUFPLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLENBQUM7S0FBQTtJQUVELGtCQUFrQjtRQUloQixNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBRWpFLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFVLEVBQWdCLEVBQUU7Z0JBQ3hDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFL0IsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFBO2dCQUV6QixPQUFPLEtBQUssQ0FBQTtZQUNkLENBQUM7WUFDRCxhQUFhO1NBQ2QsQ0FBQTtJQUNILENBQUM7SUFFYSxnQkFBZ0IsQ0FBQyxNQUFjOztZQUMzQyxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUU7aUJBQzFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7aUJBQ1gsVUFBVSxDQUFDLElBQUksQ0FBQztpQkFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO2lCQUNyRCxHQUFHLENBQUMsZUFBZSxDQUFDO2lCQUNwQixHQUFHLEVBQUUsQ0FBQTtZQUVSLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzdCLENBQUM7S0FBQTtJQUVhLG1CQUFtQixDQUFDLE1BQWM7O1lBQzlDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVM7aUJBQzlCLFVBQVUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztpQkFDOUIsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDO2lCQUMvQixHQUFHLEVBQUUsQ0FBQTtZQUVSLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUM5QixDQUFDO0tBQUE7SUFFTywrQkFBK0I7UUFJckMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQW1CLEVBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xFLGFBQWEsRUFBRSxDQUFDLElBQTBDLEVBQWlCLEVBQUUsQ0FDM0UsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEMsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50RGF0YSwgRmlyZWJhc2VGaXJlc3RvcmUsIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEJlYXV0eVByb2ZpbGUsIFVzZXIsIFVzZXJSZXBvc2l0b3J5LCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IHdpdGhDcnVkRmlyZXN0b3JlLCB3aXRoRmlyZXN0b3JlLCB3aXRoSGVscGVycyB9IGZyb20gJy4uLy4uL21peGlucydcblxuaW1wb3J0IHsgVXNlclNlYXJjaEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuL3VzZXItc2VhcmNoLWZpcmVzdG9yZS5yZXBvc2l0b3J5J1xuXG5leHBvcnQgY2xhc3MgVXNlckZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPFVzZXI+KEJhc2UpKSlcbiAgaW1wbGVtZW50cyBVc2VyUmVwb3NpdG9yeVxue1xuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlYXJjaEZpcmVzdG9yZVJlcG9zaXRvcnkgPSBuZXcgVXNlclNlYXJjaEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKSxcbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29sbGVjdGlvbk5hbWUgPSAndXNlcnMnXG4gICAgdGhpcy5tb2RlbCA9IFVzZXJcbiAgfVxuXG4gIGFzeW5jIGdldChpZGVudGlmaWVyczogUGFydGlhbDxVc2VyPik6IFByb21pc2U8VXNlcj4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBzdXBlci5nZXQoeyBpZDogaWRlbnRpZmllcnMuaWQgfSlcblxuICAgIHVzZXIuYmVhdXR5UHJvZmlsZSA9IGF3YWl0IHRoaXMuZ2V0QmVhdXR5UHJvZmlsZSh1c2VyLmlkKVxuICAgIHVzZXIuaXNTdWJzY3JpYmVyID0gYXdhaXQgdGhpcy5jaGVja0lmSXNTdWJzY3JpYmVyKHVzZXIuaWQpXG5cbiAgICByZXR1cm4gdXNlclxuICB9XG5cbiAgYXN5bmMgY2hlY2tJZkV4aXN0c0J5RmllbGQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMudXNlclNlYXJjaEZpcmVzdG9yZVJlcG9zaXRvcnkuZmluZCh7IFtmaWVsZF06IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWUgfSB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdC5jb3VudCA+IDBcbiAgfVxuXG4gIGJ1aWxkTW9kZWxJbnN0YW5jZSgpOiB7XG4gICAgdG9GaXJlc3RvcmU6IChkYXRhOiBVc2VyKSA9PiBEb2N1bWVudERhdGFcbiAgICBmcm9tRmlyZXN0b3JlOiAoc25hcDogUXVlcnlEb2N1bWVudFNuYXBzaG90PFVzZXI+KSA9PiBVc2VyXG4gIH0ge1xuICAgIGNvbnN0IHsgZnJvbUZpcmVzdG9yZSwgdG9GaXJlc3RvcmUgfSA9IHN1cGVyLmJ1aWxkTW9kZWxJbnN0YW5jZSgpXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBVc2VyKTogRG9jdW1lbnREYXRhID0+IHtcbiAgICAgICAgY29uc3QgcGxhaW4gPSB0b0ZpcmVzdG9yZShkYXRhKVxuXG4gICAgICAgIGRlbGV0ZSBwbGFpbi5pc1N1YnNjcmliZXJcblxuICAgICAgICByZXR1cm4gcGxhaW5cbiAgICAgIH0sXG4gICAgICBmcm9tRmlyZXN0b3JlLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QmVhdXR5UHJvZmlsZSh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8QmVhdXR5UHJvZmlsZT4ge1xuICAgIGNvbnN0IGJlYXV0eVByb2ZpbGUgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oKVxuICAgICAgLmRvYyh1c2VySWQpXG4gICAgICAuY29sbGVjdGlvbignQ1gnKVxuICAgICAgLndpdGhDb252ZXJ0ZXIodGhpcy5idWlsZEJlYXV0eVByb2ZpbGVNb2RlbEluc3RhbmNlKCkpXG4gICAgICAuZG9jKCdiZWF1dHlQcm9maWxlJylcbiAgICAgIC5nZXQoKVxuXG4gICAgcmV0dXJuIGJlYXV0eVByb2ZpbGUuZGF0YSgpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrSWZJc1N1YnNjcmliZXIodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkb2NzID0gYXdhaXQgdGhpcy5maXJlc3RvcmVcbiAgICAgIC5jb2xsZWN0aW9uKCdzdWJzY3JpcHRpb24nKVxuICAgICAgLndoZXJlKCd1c2VyLmlkJywgJz09JywgdXNlcklkKVxuICAgICAgLndoZXJlKCdzdGF0dXMnLCAnPT0nLCAnYWN0aXZlJylcbiAgICAgIC5nZXQoKVxuXG4gICAgcmV0dXJuICEhZG9jcyAmJiAhIWRvY3Muc2l6ZVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJlYXV0eVByb2ZpbGVNb2RlbEluc3RhbmNlKCk6IHtcbiAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IEJlYXV0eVByb2ZpbGUpID0+IERvY3VtZW50RGF0YVxuICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8QmVhdXR5UHJvZmlsZT4pID0+IEJlYXV0eVByb2ZpbGVcbiAgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogQmVhdXR5UHJvZmlsZSk6IERvY3VtZW50RGF0YSA9PiBkYXRhLnRvUGxhaW4oKSxcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8QmVhdXR5UHJvZmlsZT4pOiBCZWF1dHlQcm9maWxlID0+XG4gICAgICAgIEJlYXV0eVByb2ZpbGUudG9JbnN0YW5jZShzbmFwLmRhdGEoKSksXG4gICAgfVxuICB9XG59XG4iXX0=
|