@infrab4a/connect 3.3.0-beta.2 → 3.3.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 +5079 -0
- package/bundles/infrab4a-connect.umd.js.map +1 -0
- package/{esm2020/domain/catalog/models/kit-product.mjs → esm2015/domain/catalog/models/kit-product.js} +1 -1
- package/{esm2020/domain/catalog/models/product.mjs → esm2015/domain/catalog/models/product.js} +1 -1
- package/esm2015/domain/generic/model/base.model.js +23 -0
- package/{esm2020/domain/shopping/models/buy-2-win.mjs → esm2015/domain/shopping/models/buy-2-win.js} +1 -1
- package/esm2015/domain/shopping/models/checkout.js +38 -0
- package/{esm2020/domain/shopping/models/coupons/coupon.mjs → esm2015/domain/shopping/models/coupons/coupon.js} +1 -1
- package/{esm2020/domain/shopping/models/order.mjs → esm2015/domain/shopping/models/order.js} +1 -1
- package/{esm2020/domain/shopping/models/payment.mjs → esm2015/domain/shopping/models/payment.js} +1 -1
- package/{esm2020/domain/shopping/models/subscription/checkout.mjs → esm2015/domain/shopping/models/subscription/checkout.js} +1 -1
- package/{esm2020/domain/users/models/subscription/payment.mjs → esm2015/domain/users/models/subscription/payment.js} +1 -1
- package/{esm2020/domain/users/models/subscription/subscription.mjs → esm2015/domain/users/models/subscription/subscription.js} +1 -1
- package/{esm2020/domain/users/models/user.mjs → esm2015/domain/users/models/user.js} +1 -1
- package/esm2015/domain/users/use-cases/authentication.js +40 -0
- package/esm2015/domain/users/use-cases/recovery-password.js +12 -0
- package/esm2015/domain/users/use-cases/register.js +34 -0
- package/esm2015/domain/users/use-cases/signout.js +12 -0
- package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +57 -0
- package/esm2015/infra/elasticsearch/indexes/products-index.js +93 -0
- package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -0
- package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -0
- package/{esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs → esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js} +19 -13
- package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
- package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +96 -0
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +49 -0
- package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
- package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +71 -0
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +52 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -0
- package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +40 -0
- package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +68 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +53 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +86 -0
- package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -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 +45 -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/{esm2020/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js} +1 -1
- package/{esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/product-hasura-graphql.js} +1 -1
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +241 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +462 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +116 -0
- package/fesm2015/{infrab4a-connect.mjs → infrab4a-connect.js} +1 -1
- package/fesm2015/infrab4a-connect.js.map +1 -0
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +1 -1
- package/infrab4a-connect.d.ts +5 -0
- package/package.json +7 -20
- package/esm2020/domain/generic/model/base.model.mjs +0 -23
- package/esm2020/domain/shopping/models/checkout.mjs +0 -38
- package/esm2020/domain/users/use-cases/authentication.mjs +0 -43
- package/esm2020/domain/users/use-cases/recovery-password.mjs +0 -9
- package/esm2020/domain/users/use-cases/register.mjs +0 -38
- package/esm2020/domain/users/use-cases/signout.mjs +0 -9
- package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +0 -48
- package/esm2020/infra/elasticsearch/indexes/products-index.mjs +0 -88
- package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +0 -41
- package/esm2020/infra/firebase/auth/register-firebase-auth.service.mjs +0 -23
- package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +0 -15
- package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +0 -94
- package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +0 -52
- package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +0 -21
- package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +0 -42
- package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +0 -64
- package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +0 -45
- package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +0 -54
- package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +0 -38
- package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +0 -56
- package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +0 -32
- package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +0 -68
- package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +0 -22
- package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +0 -96
- package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +0 -37
- package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +0 -29
- package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +0 -46
- package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +0 -34
- package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +0 -92
- package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +0 -58
- package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +0 -219
- package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +0 -466
- package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +0 -106
- package/fesm2015/infrab4a-connect.mjs.map +0 -1
- package/fesm2020/infrab4a-connect.mjs +0 -3261
- package/fesm2020/infrab4a-connect.mjs.map +0 -1
- /package/{esm2020/domain/catalog/index.mjs → esm2015/domain/catalog/index.js} +0 -0
- /package/{esm2020/domain/catalog/models/category.mjs → esm2015/domain/catalog/models/category.js} +0 -0
- /package/{esm2020/domain/catalog/models/enums/index.mjs → esm2015/domain/catalog/models/enums/index.js} +0 -0
- /package/{esm2020/domain/catalog/models/enums/product-genders.enum.mjs → esm2015/domain/catalog/models/enums/product-genders.enum.js} +0 -0
- /package/{esm2020/domain/catalog/models/enums/shops.enum.mjs → esm2015/domain/catalog/models/enums/shops.enum.js} +0 -0
- /package/{esm2020/domain/catalog/models/index.mjs → esm2015/domain/catalog/models/index.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/category-condition.type.mjs → esm2015/domain/catalog/models/types/category-condition.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/category-filter.type.mjs → esm2015/domain/catalog/models/types/category-filter.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/category-metadata.type.mjs → esm2015/domain/catalog/models/types/category-metadata.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/index.mjs → esm2015/domain/catalog/models/types/index.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/product-gender.type.mjs → esm2015/domain/catalog/models/types/product-gender.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/product-metadata.type.mjs → esm2015/domain/catalog/models/types/product-metadata.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/product-review.type.mjs → esm2015/domain/catalog/models/types/product-review.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/shop-description.type.mjs → esm2015/domain/catalog/models/types/shop-description.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/shop-price.type.mjs → esm2015/domain/catalog/models/types/shop-price.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/stock.type.mjs → esm2015/domain/catalog/models/types/stock.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/types/variant-grade.type.mjs → esm2015/domain/catalog/models/types/variant-grade.type.js} +0 -0
- /package/{esm2020/domain/catalog/models/variant.mjs → esm2015/domain/catalog/models/variant.js} +0 -0
- /package/{esm2020/domain/catalog/repositories/category.repository.mjs → esm2015/domain/catalog/repositories/category.repository.js} +0 -0
- /package/{esm2020/domain/catalog/repositories/index.mjs → esm2015/domain/catalog/repositories/index.js} +0 -0
- /package/{esm2020/domain/catalog/repositories/product.repository.mjs → esm2015/domain/catalog/repositories/product.repository.js} +0 -0
- /package/{esm2020/domain/catalog/repositories/subscription-product.repository.mjs → esm2015/domain/catalog/repositories/subscription-product.repository.js} +0 -0
- /package/{esm2020/domain/catalog/repositories/variant.repository.mjs → esm2015/domain/catalog/repositories/variant.repository.js} +0 -0
- /package/{esm2020/domain/generic/index.mjs → esm2015/domain/generic/index.js} +0 -0
- /package/{esm2020/domain/generic/model/identifier-fields.mjs → esm2015/domain/generic/model/identifier-fields.js} +0 -0
- /package/{esm2020/domain/generic/model/index.mjs → esm2015/domain/generic/model/index.js} +0 -0
- /package/{esm2020/domain/generic/model/types/base-model-builder.type.mjs → esm2015/domain/generic/model/types/base-model-builder.type.js} +0 -0
- /package/{esm2020/domain/generic/model/types/identifier-model.type.mjs → esm2015/domain/generic/model/types/identifier-model.type.js} +0 -0
- /package/{esm2020/domain/generic/model/types/index.mjs → esm2015/domain/generic/model/types/index.js} +0 -0
- /package/{esm2020/domain/generic/model/types/model-base-structure.type.mjs → esm2015/domain/generic/model/types/model-base-structure.type.js} +0 -0
- /package/{esm2020/domain/generic/model/types/non-function-properties.type.mjs → esm2015/domain/generic/model/types/non-function-properties.type.js} +0 -0
- /package/{esm2020/domain/generic/model/types/non-function-property-name.type.mjs → esm2015/domain/generic/model/types/non-function-property-name.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/create.repository.mjs → esm2015/domain/generic/repository/create.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/crud.repository.mjs → esm2015/domain/generic/repository/crud.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/delete.repository.mjs → esm2015/domain/generic/repository/delete.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/enums/index.mjs → esm2015/domain/generic/repository/enums/index.js} +0 -0
- /package/{esm2020/domain/generic/repository/enums/update-option-actions.enum.mjs → esm2015/domain/generic/repository/enums/update-option-actions.enum.js} +0 -0
- /package/{esm2020/domain/generic/repository/enums/where.enum.mjs → esm2015/domain/generic/repository/enums/where.enum.js} +0 -0
- /package/{esm2020/domain/generic/repository/find.repository.mjs → esm2015/domain/generic/repository/find.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/get.repository.mjs → esm2015/domain/generic/repository/get.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/index.mjs → esm2015/domain/generic/repository/index.js} +0 -0
- /package/{esm2020/domain/generic/repository/read.repository.mjs → esm2015/domain/generic/repository/read.repository.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/index.mjs → esm2015/domain/generic/repository/types/index.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/repository-find-filters.type.mjs → esm2015/domain/generic/repository/types/repository-find-filters.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/repository-find-result.type.mjs → esm2015/domain/generic/repository/types/repository-find-result.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/repository-limit-options.type.mjs → esm2015/domain/generic/repository/types/repository-limit-options.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs → esm2015/domain/generic/repository/types/repository-order-by-list.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/repository-update-params.type.mjs → esm2015/domain/generic/repository/types/repository-update-params.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/types/where-options.type.mjs → esm2015/domain/generic/repository/types/where-options.type.js} +0 -0
- /package/{esm2020/domain/generic/repository/update.repository.mjs → esm2015/domain/generic/repository/update.repository.js} +0 -0
- /package/{esm2020/domain/index.mjs → esm2015/domain/index.js} +0 -0
- /package/{esm2020/domain/location/index.mjs → esm2015/domain/location/index.js} +0 -0
- /package/{esm2020/domain/location/models/address.mjs → esm2015/domain/location/models/address.js} +0 -0
- /package/{esm2020/domain/location/models/index.mjs → esm2015/domain/location/models/index.js} +0 -0
- /package/{esm2020/domain/location/models/types/index.mjs → esm2015/domain/location/models/types/index.js} +0 -0
- /package/{esm2020/domain/location/models/types/location-bound.type.mjs → esm2015/domain/location/models/types/location-bound.type.js} +0 -0
- /package/{esm2020/domain/location/models/types/location-geometry.type.mjs → esm2015/domain/location/models/types/location-geometry.type.js} +0 -0
- /package/{esm2020/domain/location/models/types/location-lat-lng.type.mjs → esm2015/domain/location/models/types/location-lat-lng.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/enums/filter-type.enum.mjs → esm2015/domain/shop-settings/enums/filter-type.enum.js} +0 -0
- /package/{esm2020/domain/shop-settings/enums/index.mjs → esm2015/domain/shop-settings/enums/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/enums/questions-filters.enum.mjs → esm2015/domain/shop-settings/enums/questions-filters.enum.js} +0 -0
- /package/{esm2020/domain/shop-settings/helpers/beauty-questions.helper.mjs → esm2015/domain/shop-settings/helpers/beauty-questions.helper.js} +0 -0
- /package/{esm2020/domain/shop-settings/helpers/index.mjs → esm2015/domain/shop-settings/helpers/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/index.mjs → esm2015/domain/shop-settings/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/home.mjs → esm2015/domain/shop-settings/models/home.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/index.mjs → esm2015/domain/shop-settings/models/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/shop-menu.mjs → esm2015/domain/shop-settings/models/shop-menu.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/banner.type.mjs → esm2015/domain/shop-settings/models/types/banner.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/benefit.type.mjs → esm2015/domain/shop-settings/models/types/benefit.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/home-data.type.mjs → esm2015/domain/shop-settings/models/types/home-data.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/index.mjs → esm2015/domain/shop-settings/models/types/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/menu-nav.type.mjs → esm2015/domain/shop-settings/models/types/menu-nav.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/models/types/sub-menu.type.mjs → esm2015/domain/shop-settings/models/types/sub-menu.type.js} +0 -0
- /package/{esm2020/domain/shop-settings/repositories/home.repository.mjs → esm2015/domain/shop-settings/repositories/home.repository.js} +0 -0
- /package/{esm2020/domain/shop-settings/repositories/index.mjs → esm2015/domain/shop-settings/repositories/index.js} +0 -0
- /package/{esm2020/domain/shop-settings/repositories/shop-menu.repository.mjs → esm2015/domain/shop-settings/repositories/shop-menu.repository.js} +0 -0
- /package/{esm2020/domain/shopping/index.mjs → esm2015/domain/shopping/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/enums/coupon-types.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/enums/exclusivities.enum.mjs → esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/enums/index.mjs → esm2015/domain/shopping/models/coupons/enums/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/coupons/index.mjs → esm2015/domain/shopping/models/coupons/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/enums/checkout-types.enum.mjs → esm2015/domain/shopping/models/enums/checkout-types.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/enums/index.mjs → esm2015/domain/shopping/models/enums/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/enums/order-status.enum.mjs → esm2015/domain/shopping/models/enums/order-status.enum.js} +0 -0
- /package/{esm2020/domain/shopping/models/index.mjs → esm2015/domain/shopping/models/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/line-item.mjs → esm2015/domain/shopping/models/line-item.js} +0 -0
- /package/{esm2020/domain/shopping/models/shipping-method.mjs → esm2015/domain/shopping/models/shipping-method.js} +0 -0
- /package/{esm2020/domain/shopping/models/subscription/index.mjs → esm2015/domain/shopping/models/subscription/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/subscription/plan.mjs → esm2015/domain/shopping/models/subscription/plan.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/index.mjs → esm2015/domain/shopping/models/types/index.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-address.type.mjs → esm2015/domain/shopping/models/types/payment-address.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-billing.type.mjs → esm2015/domain/shopping/models/types/payment-billing.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-card.type.mjs → esm2015/domain/shopping/models/types/payment-card.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-customer.type.mjs → esm2015/domain/shopping/models/types/payment-customer.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-document.type.mjs → esm2015/domain/shopping/models/types/payment-document.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-item.type.mjs → esm2015/domain/shopping/models/types/payment-item.type.js} +0 -0
- /package/{esm2020/domain/shopping/models/types/payment-shipping.type.mjs → esm2015/domain/shopping/models/types/payment-shipping.type.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/buy-2-win.repository.mjs → esm2015/domain/shopping/repositories/buy-2-win.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/checkout.repository.mjs → esm2015/domain/shopping/repositories/checkout.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/coupon.repository.mjs → esm2015/domain/shopping/repositories/coupon.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/index.mjs → esm2015/domain/shopping/repositories/index.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/legacy-order.repository.mjs → esm2015/domain/shopping/repositories/legacy-order.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/order.repository.mjs → esm2015/domain/shopping/repositories/order.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/payment.repository.mjs → esm2015/domain/shopping/repositories/payment.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/subscription/checkout.repository.mjs → esm2015/domain/shopping/repositories/subscription/checkout.repository.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/subscription/index.mjs → esm2015/domain/shopping/repositories/subscription/index.js} +0 -0
- /package/{esm2020/domain/shopping/repositories/subscription/plan.repository.mjs → esm2015/domain/shopping/repositories/subscription/plan.repository.js} +0 -0
- /package/{esm2020/domain/users/errors/index.mjs → esm2015/domain/users/errors/index.js} +0 -0
- /package/{esm2020/domain/users/errors/unauthorized.error.mjs → esm2015/domain/users/errors/unauthorized.error.js} +0 -0
- /package/{esm2020/domain/users/errors/user-already-registered.error.mjs → esm2015/domain/users/errors/user-already-registered.error.js} +0 -0
- /package/{esm2020/domain/users/errors/weak-password.error.mjs → esm2015/domain/users/errors/weak-password.error.js} +0 -0
- /package/{esm2020/domain/users/index.mjs → esm2015/domain/users/index.js} +0 -0
- /package/{esm2020/domain/users/models/beauty-profile.mjs → esm2015/domain/users/models/beauty-profile.js} +0 -0
- /package/{esm2020/domain/users/models/enums/accessory-importances.enum.mjs → esm2015/domain/users/models/enums/accessory-importances.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/area.enum.mjs → esm2015/domain/users/models/enums/area.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/beard-problems.enum.mjs → esm2015/domain/users/models/enums/beard-problems.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/beard-sizes.enum.mjs → esm2015/domain/users/models/enums/beard-sizes.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/beauty-product-importances.enum.mjs → esm2015/domain/users/models/enums/beauty-product-importances.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/body-problems.enum.mjs → esm2015/domain/users/models/enums/body-problems.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/body-shapes.enum.mjs → esm2015/domain/users/models/enums/body-shapes.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/body-tattoos.enum.mjs → esm2015/domain/users/models/enums/body-tattoos.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/face-skin-oilinesses.enum.mjs → esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/face-skin-problems.enum.mjs → esm2015/domain/users/models/enums/face-skin-problems.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/face-skin-tones.enum.mjs → esm2015/domain/users/models/enums/face-skin-tones.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/family-incomes.enum.mjs → esm2015/domain/users/models/enums/family-incomes.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/fragrance-importances.enum.mjs → esm2015/domain/users/models/enums/fragrance-importances.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/hair-colors.enum.mjs → esm2015/domain/users/models/enums/hair-colors.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/hair-problems.enum.mjs → esm2015/domain/users/models/enums/hair-problems.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/hair-strands.enum.mjs → esm2015/domain/users/models/enums/hair-strands.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/hair-types.enum.mjs → esm2015/domain/users/models/enums/hair-types.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/index.mjs → esm2015/domain/users/models/enums/index.js} +0 -0
- /package/{esm2020/domain/users/models/enums/office-position.enum.mjs → esm2015/domain/users/models/enums/office-position.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/product-spents.enum.mjs → esm2015/domain/users/models/enums/product-spents.enum.js} +0 -0
- /package/{esm2020/domain/users/models/enums/user-type.enum.mjs → esm2015/domain/users/models/enums/user-type.enum.js} +0 -0
- /package/{esm2020/domain/users/models/index.mjs → esm2015/domain/users/models/index.js} +0 -0
- /package/{esm2020/domain/users/models/lead.mjs → esm2015/domain/users/models/lead.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/edition.mjs → esm2015/domain/users/models/subscription/edition.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/enums/billing-status.enum.mjs → esm2015/domain/users/models/subscription/enums/billing-status.enum.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/enums/edition-status.enum.mjs → esm2015/domain/users/models/subscription/enums/edition-status.enum.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/enums/index.mjs → esm2015/domain/users/models/subscription/enums/index.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/enums/payment-type.enum.mjs → esm2015/domain/users/models/subscription/enums/payment-type.enum.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/enums/status.enum.mjs → esm2015/domain/users/models/subscription/enums/status.enum.js} +0 -0
- /package/{esm2020/domain/users/models/subscription/index.mjs → esm2015/domain/users/models/subscription/index.js} +0 -0
- /package/{esm2020/domain/users/models/user-address.mjs → esm2015/domain/users/models/user-address.js} +0 -0
- /package/{esm2020/domain/users/models/user-payment-method.mjs → esm2015/domain/users/models/user-payment-method.js} +0 -0
- /package/{esm2020/domain/users/repositories/beauty-profile.repository.mjs → esm2015/domain/users/repositories/beauty-profile.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/edition.repository.mjs → esm2015/domain/users/repositories/edition.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/index.mjs → esm2015/domain/users/repositories/index.js} +0 -0
- /package/{esm2020/domain/users/repositories/lead.repository.mjs → esm2015/domain/users/repositories/lead.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/subscription-payment.repository.mjs → esm2015/domain/users/repositories/subscription-payment.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/subscription.repository.mjs → esm2015/domain/users/repositories/subscription.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/user-address.repository.mjs → esm2015/domain/users/repositories/user-address.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/user-payment-method.repository.mjs → esm2015/domain/users/repositories/user-payment-method.repository.js} +0 -0
- /package/{esm2020/domain/users/repositories/user.repository.mjs → esm2015/domain/users/repositories/user.repository.js} +0 -0
- /package/{esm2020/domain/users/services/authentication.service.mjs → esm2015/domain/users/services/authentication.service.js} +0 -0
- /package/{esm2020/domain/users/services/index.mjs → esm2015/domain/users/services/index.js} +0 -0
- /package/{esm2020/domain/users/services/register.service.mjs → esm2015/domain/users/services/register.service.js} +0 -0
- /package/{esm2020/domain/users/services/types/basic-user-data.type.mjs → esm2015/domain/users/services/types/basic-user-data.type.js} +0 -0
- /package/{esm2020/domain/users/services/types/index.mjs → esm2015/domain/users/services/types/index.js} +0 -0
- /package/{esm2020/domain/users/use-cases/index.mjs → esm2015/domain/users/use-cases/index.js} +0 -0
- /package/{esm2020/errors/duplicated-results.error.mjs → esm2015/errors/duplicated-results.error.js} +0 -0
- /package/{esm2020/errors/index.mjs → esm2015/errors/index.js} +0 -0
- /package/{esm2020/errors/invalid-argument.error.mjs → esm2015/errors/invalid-argument.error.js} +0 -0
- /package/{esm2020/errors/not-found.error.mjs → esm2015/errors/not-found.error.js} +0 -0
- /package/{esm2020/errors/required-argument.error.mjs → esm2015/errors/required-argument.error.js} +0 -0
- /package/{esm2020/index.mjs → esm2015/index.js} +0 -0
- /package/{esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs → esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js} +0 -0
- /package/{esm2020/infra/elasticsearch/adapters/index.mjs → esm2015/infra/elasticsearch/adapters/index.js} +0 -0
- /package/{esm2020/infra/elasticsearch/index.mjs → esm2015/infra/elasticsearch/index.js} +0 -0
- /package/{esm2020/infra/elasticsearch/indexes/index.mjs → esm2015/infra/elasticsearch/indexes/index.js} +0 -0
- /package/{esm2020/infra/elasticsearch/types/elastic-search-result.mjs → esm2015/infra/elasticsearch/types/elastic-search-result.js} +0 -0
- /package/{esm2020/infra/elasticsearch/types/index.mjs → esm2015/infra/elasticsearch/types/index.js} +0 -0
- /package/{esm2020/infra/firebase/auth/index.mjs → esm2015/infra/firebase/auth/index.js} +0 -0
- /package/{esm2020/infra/firebase/auth/types/firebase-user-with-id.type.mjs → esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/enums/firestore-field-type.enum.mjs → esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/enums/index.mjs → esm2015/infra/firebase/firestore/enums/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/index.mjs → esm2015/infra/firebase/firestore/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/mixins/index.mjs → esm2015/infra/firebase/firestore/mixins/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs → esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs → esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs → esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/catalog/index.mjs → esm2015/infra/firebase/firestore/repositories/catalog/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/index.mjs → esm2015/infra/firebase/firestore/repositories/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs → esm2015/infra/firebase/firestore/repositories/shop-settings/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/index.mjs → esm2015/infra/firebase/firestore/repositories/shopping/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/index.mjs → esm2015/infra/firebase/firestore/repositories/users/index.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs → esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs → esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs → esm2015/infra/firebase/firestore/types/firestore.helpers.type.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs → esm2015/infra/firebase/firestore/types/firestore.repository.type.js} +0 -0
- /package/{esm2020/infra/firebase/firestore/types/index.mjs → esm2015/infra/firebase/firestore/types/index.js} +0 -0
- /package/{esm2020/infra/firebase/index.mjs → esm2015/infra/firebase/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs → esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs → esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/enums/index.mjs → esm2015/infra/hasura-graphql/enums/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/index.mjs → esm2015/infra/hasura-graphql/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/mixins/helpers/index.mjs → esm2015/infra/hasura-graphql/mixins/helpers/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/mixins/index.mjs → esm2015/infra/hasura-graphql/mixins/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs → esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/models/category-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/category-hasura-graphql.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/models/index.mjs → esm2015/infra/hasura-graphql/models/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/repositories/catalog/index.mjs → esm2015/infra/hasura-graphql/repositories/catalog/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/repositories/index.mjs → esm2015/infra/hasura-graphql/repositories/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/fields.type.mjs → esm2015/infra/hasura-graphql/types/fields.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs → esm2015/infra/hasura-graphql/types/graphql.repository.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs → esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs → esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs → esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/index.mjs → esm2015/infra/hasura-graphql/types/index.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/nested-field.type.mjs → esm2015/infra/hasura-graphql/types/nested-field.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/query-builder-options.type.mjs → esm2015/infra/hasura-graphql/types/query-builder-options.type.js} +0 -0
- /package/{esm2020/infra/hasura-graphql/types/variable-options.type.mjs → esm2015/infra/hasura-graphql/types/variable-options.type.js} +0 -0
- /package/{esm2020/infra/index.mjs → esm2015/infra/index.js} +0 -0
- /package/{esm2020/infrab4a-connect.mjs → esm2015/infrab4a-connect.js} +0 -0
- /package/{esm2020/utils/index.mjs → esm2015/utils/index.js} +0 -0
- /package/{esm2020/utils/is-uuid.mjs → esm2015/utils/is-uuid.js} +0 -0
- /package/{esm2020/utils/mixins/base.mixin.mjs → esm2015/utils/mixins/base.mixin.js} +0 -0
- /package/{esm2020/utils/mixins/index.mjs → esm2015/utils/mixins/index.js} +0 -0
- /package/{esm2020/utils/mixins/merge-constructor-params.type.mjs → esm2015/utils/mixins/merge-constructor-params.type.js} +0 -0
- /package/{esm2020/utils/mixins/mixin-ctor.type.mjs → esm2015/utils/mixins/mixin-ctor.type.js} +0 -0
- /package/{esm2020/utils/parse-datetime.mjs → esm2015/utils/parse-datetime.js} +0 -0
- /package/{esm2020/utils/types/array-element.type.mjs → esm2015/utils/types/array-element.type.js} +0 -0
- /package/{esm2020/utils/types/index.mjs → esm2015/utils/types/index.js} +0 -0
- /package/{esm2020/utils/types/prop.type.mjs → esm2015/utils/types/prop.type.js} +0 -0
|
@@ -6,6 +6,6 @@ export declare const withHelpers: <TMixinBase extends MixinCtor<any, any[]> = Mi
|
|
|
6
6
|
new (...args: any[]): {
|
|
7
7
|
[x: string]: any;
|
|
8
8
|
toArray<T extends ModelBaseStructure<any, any>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
|
|
9
|
-
isSubCollection<
|
|
9
|
+
isSubCollection<T_2 extends ModelBaseStructure<any, any>>(repository: FirestoreRepository<T_2>): repository is FirestoreSubRepository<T_2, import("../../../../domain").BaseModel<{}, "id">>;
|
|
10
10
|
};
|
|
11
11
|
} & TMixinBase;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infrab4a/connect",
|
|
3
|
-
"version": "3.3.0
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
@@ -20,24 +20,11 @@
|
|
|
20
20
|
"ts-md5": "^1.2.9",
|
|
21
21
|
"tslib": "^2.4.0"
|
|
22
22
|
},
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"fesm2015": "fesm2015/infrab4a-connect.
|
|
28
|
-
"typings": "
|
|
29
|
-
"exports": {
|
|
30
|
-
"./package.json": {
|
|
31
|
-
"default": "./package.json"
|
|
32
|
-
},
|
|
33
|
-
".": {
|
|
34
|
-
"types": "./index.d.ts",
|
|
35
|
-
"esm2020": "./esm2020/infrab4a-connect.mjs",
|
|
36
|
-
"es2020": "./fesm2020/infrab4a-connect.mjs",
|
|
37
|
-
"es2015": "./fesm2015/infrab4a-connect.mjs",
|
|
38
|
-
"node": "./fesm2015/infrab4a-connect.mjs",
|
|
39
|
-
"default": "./fesm2020/infrab4a-connect.mjs"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
23
|
+
"main": "bundles/infrab4a-connect.umd.js",
|
|
24
|
+
"module": "fesm2015/infrab4a-connect.js",
|
|
25
|
+
"es2015": "fesm2015/infrab4a-connect.js",
|
|
26
|
+
"esm2015": "esm2015/infrab4a-connect.js",
|
|
27
|
+
"fesm2015": "fesm2015/infrab4a-connect.js",
|
|
28
|
+
"typings": "infrab4a-connect.d.ts",
|
|
42
29
|
"sideEffects": false
|
|
43
30
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { instanceToPlain, plainToInstance } from 'class-transformer';
|
|
2
|
-
export class BaseModel {
|
|
3
|
-
get identifier() {
|
|
4
|
-
const fields = this.constructor.identifiersFields.filter((field) => field !== 'identifier');
|
|
5
|
-
return fields.reduce((object, field) => ({ ...object, [field]: this[field] }), {});
|
|
6
|
-
}
|
|
7
|
-
get identifiersFields() {
|
|
8
|
-
return this.constructor.identifiersFields;
|
|
9
|
-
}
|
|
10
|
-
constructor(args) {
|
|
11
|
-
Object.assign(this, args);
|
|
12
|
-
}
|
|
13
|
-
static toInstance(data) {
|
|
14
|
-
return plainToInstance(this, data || {});
|
|
15
|
-
}
|
|
16
|
-
static isModel(value) {
|
|
17
|
-
return value instanceof this;
|
|
18
|
-
}
|
|
19
|
-
toPlain() {
|
|
20
|
-
return instanceToPlain(this);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9nZW5lcmljL21vZGVsL2Jhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQVdwRSxNQUFNLE9BQU8sU0FBUztJQUNwQixJQUFJLFVBQVU7UUFDWixNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsV0FBdUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQ25GLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUNsQyxDQUFBO1FBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFlLENBQUMsRUFBRSxDQUFDLEVBQ2xFLEVBQStDLENBQ2hELENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBUSxJQUFJLENBQUMsV0FBb0QsQ0FBQyxpQkFBaUIsQ0FBQTtJQUNyRixDQUFDO0lBRUQsWUFBWSxJQUFxQjtRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBa0QsSUFBd0M7UUFDekcsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBa0QsS0FBVTtRQUN4RSxPQUFPLEtBQUssWUFBWSxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnN0YW5jZVRvUGxhaW4sIHBsYWluVG9JbnN0YW5jZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQge1xuICBCYXNlTW9kZWxCdWlsZGVyLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXMsXG4gIE5vbkZ1bmN0aW9uUHJvcGVydGllcyxcbn0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHR5cGUgR2VuZXJpY0lkZW50aWZpZXI8VCA9ICdpZCc+ID0gVFxuXG5leHBvcnQgY2xhc3MgQmFzZU1vZGVsPE1vZGVsLCBJZGVudGlmaWVycyA9IEdlbmVyaWNJZGVudGlmaWVyPiBpbXBsZW1lbnRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNb2RlbCwgSWRlbnRpZmllcnM+IHtcbiAgZ2V0IGlkZW50aWZpZXIoKTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNb2RlbD4ge1xuICAgIGNvbnN0IGZpZWxkcyA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+KS5pZGVudGlmaWVyc0ZpZWxkcy5maWx0ZXIoXG4gICAgICAoZmllbGQpID0+IGZpZWxkICE9PSAnaWRlbnRpZmllcicsXG4gICAgKVxuXG4gICAgcmV0dXJuIGZpZWxkcy5yZWR1Y2UoXG4gICAgICAob2JqZWN0LCBmaWVsZCkgPT4gKHsgLi4ub2JqZWN0LCBbZmllbGRdOiB0aGlzW2ZpZWxkIGFzIHN0cmluZ10gfSksXG4gICAgICB7fSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzPE1vZGVsPixcbiAgICApXG4gIH1cblxuICBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogSWRlbnRpZmllcnNbXSB7XG4gICAgcmV0dXJuICh0aGlzLmNvbnN0cnVjdG9yIGFzIEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWwsIElkZW50aWZpZXJzPikuaWRlbnRpZmllcnNGaWVsZHNcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFyZ3M/OiBQYXJ0aWFsPE1vZGVsPikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgYXJncylcbiAgfVxuXG4gIHN0YXRpYyB0b0luc3RhbmNlPFQgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhPzogUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8VD4+KTogVCB7XG4gICAgcmV0dXJuIHBsYWluVG9JbnN0YW5jZSh0aGlzLCBkYXRhIHx8IHt9KVxuICB9XG5cbiAgc3RhdGljIGlzTW9kZWw8VCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4odGhpczogbmV3ICgpID0+IFQsIHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiB0aGlzXG4gIH1cblxuICB0b1BsYWluKCk6IGFueSB7XG4gICAgcmV0dXJuIGluc3RhbmNlVG9QbGFpbih0aGlzKVxuICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Type } from 'class-transformer';
|
|
3
|
-
import { Address } from '../../location/models/address';
|
|
4
|
-
import { BaseModel } from '../../generic/model/base.model';
|
|
5
|
-
import { User } from '../../users/models/user';
|
|
6
|
-
import { Coupon } from './coupons/coupon';
|
|
7
|
-
import { LineItem } from './line-item';
|
|
8
|
-
import { ShippingMethod } from './shipping-method';
|
|
9
|
-
export class Checkout extends BaseModel {
|
|
10
|
-
static get identifiersFields() {
|
|
11
|
-
return ['id'];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
__decorate([
|
|
15
|
-
Type(() => LineItem),
|
|
16
|
-
__metadata("design:type", Array)
|
|
17
|
-
], Checkout.prototype, "lineItems", void 0);
|
|
18
|
-
__decorate([
|
|
19
|
-
Type(() => User),
|
|
20
|
-
__metadata("design:type", User)
|
|
21
|
-
], Checkout.prototype, "user", void 0);
|
|
22
|
-
__decorate([
|
|
23
|
-
Type(() => Address),
|
|
24
|
-
__metadata("design:type", Address)
|
|
25
|
-
], Checkout.prototype, "shippingAddress", void 0);
|
|
26
|
-
__decorate([
|
|
27
|
-
Type(() => Address),
|
|
28
|
-
__metadata("design:type", Address)
|
|
29
|
-
], Checkout.prototype, "billingAddress", void 0);
|
|
30
|
-
__decorate([
|
|
31
|
-
Type(() => ShippingMethod),
|
|
32
|
-
__metadata("design:type", ShippingMethod)
|
|
33
|
-
], Checkout.prototype, "shipping", void 0);
|
|
34
|
-
__decorate([
|
|
35
|
-
Type(() => Coupon),
|
|
36
|
-
__metadata("design:type", Coupon)
|
|
37
|
-
], Checkout.prototype, "coupon", void 0);
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2NoZWNrb3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZ0NBQWdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRTlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUdsRCxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQW1CO0lBMEIvQyxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQWhCQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7OzJDQUNDO0FBQ3RCO0lBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4QkFDVixJQUFJO3NDQUFBO0FBQ1g7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOzhCQUNGLE9BQU87aURBQUE7QUFDekI7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOzhCQUNILE9BQU87Z0RBQUE7QUFDeEI7SUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDOzhCQUNoQixjQUFjOzBDQUFBO0FBQ3pCO0lBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4QkFDVixNQUFNO3dDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vLi4vbG9jYXRpb24vbW9kZWxzL2FkZHJlc3MnXG5pbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vZ2VuZXJpYy9tb2RlbC9iYXNlLm1vZGVsJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL3VzZXJzL21vZGVscy91c2VyJ1xuXG5pbXBvcnQgeyBDb3Vwb24gfSBmcm9tICcuL2NvdXBvbnMvY291cG9uJ1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tICcuL2xpbmUtaXRlbSdcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kIH0gZnJvbSAnLi9zaGlwcGluZy1tZXRob2QnXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvbW9kZWxzL2VudW1zL3Nob3BzLmVudW0nXG5cbmV4cG9ydCBjbGFzcyBDaGVja291dCBleHRlbmRzIEJhc2VNb2RlbDxDaGVja291dD4ge1xuICBpZD86IHN0cmluZ1xuICBwYXltZW50SWQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogc3RyaW5nXG4gIGNyZWF0ZWRBdD86IERhdGVcbiAgdXBkYXRlZEF0PzogRGF0ZVxuICBjb21wbGV0ZWRBdD86IERhdGVcbiAgZGlzY291bnQ/OiBudW1iZXJcbiAgc3ViVG90YWxQcmljZT86IG51bWJlclxuICB0b3RhbFByaWNlPzogbnVtYmVyXG4gIHNob3A6IFNob3BzXG4gIGdsYW1wb2ludHM/OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBMaW5lSXRlbSlcbiAgbGluZUl0ZW1zPzogTGluZUl0ZW1bXVxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyPzogVXNlclxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBzaGlwcGluZ0FkZHJlc3M/OiBBZGRyZXNzXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGJpbGxpbmdBZGRyZXNzPzogQWRkcmVzc1xuICBAVHlwZSgoKSA9PiBTaGlwcGluZ01ldGhvZClcbiAgc2hpcHBpbmc/OiBTaGlwcGluZ01ldGhvZFxuICBAVHlwZSgoKSA9PiBDb3Vwb24pXG4gIGNvdXBvbj86IENvdXBvblxuXG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Area, OfficePosition, User, UserType } from '../models';
|
|
2
|
-
import { isNil } from '../../../utils';
|
|
3
|
-
import { UnauthorizedError } from '../errors/unauthorized.error';
|
|
4
|
-
export var SignInMethods;
|
|
5
|
-
(function (SignInMethods) {
|
|
6
|
-
SignInMethods["EMAIL_PASSWORD"] = "email_password";
|
|
7
|
-
SignInMethods["GOOGLE"] = "google";
|
|
8
|
-
})(SignInMethods || (SignInMethods = {}));
|
|
9
|
-
export class Authentication {
|
|
10
|
-
constructor(authService, userRepository) {
|
|
11
|
-
this.authService = authService;
|
|
12
|
-
this.userRepository = userRepository;
|
|
13
|
-
}
|
|
14
|
-
async signIn({ email, password }, signInMethod) {
|
|
15
|
-
const method = this.getServiceByMethod(signInMethod);
|
|
16
|
-
const userAuth = await this.authService[method]({ email, password });
|
|
17
|
-
const user = this.userRepository.get(userAuth);
|
|
18
|
-
if (!isNil(user))
|
|
19
|
-
return user;
|
|
20
|
-
if (/^.+@b4a.com.br$/.test(userAuth.email))
|
|
21
|
-
return this.createsUserByCredential(userAuth);
|
|
22
|
-
throw new UnauthorizedError('Invalid credentials');
|
|
23
|
-
}
|
|
24
|
-
getServiceByMethod(signInMethod) {
|
|
25
|
-
return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle';
|
|
26
|
-
}
|
|
27
|
-
async createsUserByCredential(user) {
|
|
28
|
-
const [firstName, lastName] = user.displayName?.split(/\s/);
|
|
29
|
-
const person = User.toInstance({
|
|
30
|
-
...user,
|
|
31
|
-
cpf: '',
|
|
32
|
-
birthday: new Date(),
|
|
33
|
-
firstName,
|
|
34
|
-
lastName,
|
|
35
|
-
acceptsNewsletter: false,
|
|
36
|
-
area: Area.Transactional,
|
|
37
|
-
officePosition: OfficePosition.Intern,
|
|
38
|
-
type: UserType.Collaborator,
|
|
39
|
-
});
|
|
40
|
-
return this.userRepository.create(person);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvdXNlLWNhc2VzL2F1dGhlbnRpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBR2hFLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsa0RBQWlDLENBQUE7SUFDakMsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBU0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBNkIsV0FBa0MsRUFBbUIsY0FBOEI7UUFBbkYsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQW1CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFcEgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWdCLEVBQUUsWUFBMEI7UUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3BELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTlDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDN0IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXpGLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUEwQjtRQUNuRCxPQUFPLFlBQVksS0FBSyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUE7SUFDMUcsQ0FBQztJQUVPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFtQjtRQUN2RCxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0IsR0FBRyxJQUFJO1lBQ1AsR0FBRyxFQUFFLEVBQUU7WUFDUCxRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsU0FBUztZQUNULFFBQVE7WUFDUixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN4QixjQUFjLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDckMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1NBQzVCLENBQUMsQ0FBQTtRQUVGLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJlYSwgT2ZmaWNlUG9zaXRpb24sIFVzZXIsIFVzZXJUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJ1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSdcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBVbmF1dGhvcml6ZWRFcnJvciB9IGZyb20gJy4uL2Vycm9ycy91bmF1dGhvcml6ZWQuZXJyb3InXG5pbXBvcnQgeyBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJy4uL3JlcG9zaXRvcmllcy91c2VyLnJlcG9zaXRvcnknXG5cbmV4cG9ydCBlbnVtIFNpZ25Jbk1ldGhvZHMge1xuICBFTUFJTF9QQVNTV09SRCA9ICdlbWFpbF9wYXNzd29yZCcsXG4gIEdPT0dMRSA9ICdnb29nbGUnLFxufVxuXG50eXBlIFNpZ25Jbk1ldGhvZCA9IExvd2VyY2FzZTxrZXlvZiB0eXBlb2YgU2lnbkluTWV0aG9kcz5cblxudHlwZSBTaWduSW5QYXJhbXMgPSB7XG4gIGVtYWlsPzogc3RyaW5nXG4gIHBhc3N3b3JkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpIHt9XG5cbiAgYXN5bmMgc2lnbkluKHsgZW1haWwsIHBhc3N3b3JkIH06IFNpZ25JblBhcmFtcywgc2lnbkluTWV0aG9kOiBTaWduSW5NZXRob2QpOiBQcm9taXNlPFVzZXI+IHtcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldFNlcnZpY2VCeU1ldGhvZChzaWduSW5NZXRob2QpXG4gICAgY29uc3QgdXNlckF1dGggPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlW21ldGhvZF0oeyBlbWFpbCwgcGFzc3dvcmQgfSlcbiAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyUmVwb3NpdG9yeS5nZXQodXNlckF1dGgpXG5cbiAgICBpZiAoIWlzTmlsKHVzZXIpKSByZXR1cm4gdXNlclxuICAgIGlmICgvXi4rQGI0YS5jb20uYnIkLy50ZXN0KHVzZXJBdXRoLmVtYWlsKSkgcmV0dXJuIHRoaXMuY3JlYXRlc1VzZXJCeUNyZWRlbnRpYWwodXNlckF1dGgpXG5cbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IoJ0ludmFsaWQgY3JlZGVudGlhbHMnKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXJ2aWNlQnlNZXRob2Qoc2lnbkluTWV0aG9kOiBTaWduSW5NZXRob2QpOiBzdHJpbmcge1xuICAgIHJldHVybiBzaWduSW5NZXRob2QgPT09IFNpZ25Jbk1ldGhvZHMuRU1BSUxfUEFTU1dPUkQgPyAnc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQnIDogJ3NpZ25JbldpdGhHb29nbGUnXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZXNVc2VyQnlDcmVkZW50aWFsKHVzZXI6IFBhcnRpYWw8VXNlcj4pOiBQcm9taXNlPFVzZXI+IHtcbiAgICBjb25zdCBbZmlyc3ROYW1lLCBsYXN0TmFtZV0gPSB1c2VyLmRpc3BsYXlOYW1lPy5zcGxpdCgvXFxzLylcbiAgICBjb25zdCBwZXJzb24gPSBVc2VyLnRvSW5zdGFuY2Uoe1xuICAgICAgLi4udXNlcixcbiAgICAgIGNwZjogJycsXG4gICAgICBiaXJ0aGRheTogbmV3IERhdGUoKSxcbiAgICAgIGZpcnN0TmFtZSxcbiAgICAgIGxhc3ROYW1lLFxuICAgICAgYWNjZXB0c05ld3NsZXR0ZXI6IGZhbHNlLFxuICAgICAgYXJlYTogQXJlYS5UcmFuc2FjdGlvbmFsLFxuICAgICAgb2ZmaWNlUG9zaXRpb246IE9mZmljZVBvc2l0aW9uLkludGVybixcbiAgICAgIHR5cGU6IFVzZXJUeXBlLkNvbGxhYm9yYXRvcixcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXMudXNlclJlcG9zaXRvcnkuY3JlYXRlKHBlcnNvbilcbiAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class RecoveryPassword {
|
|
2
|
-
constructor(authService) {
|
|
3
|
-
this.authService = authService;
|
|
4
|
-
}
|
|
5
|
-
async sendEmail(email) {
|
|
6
|
-
await this.authService.sendPasswordResetEmail(email);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnktcGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvdXNlLWNhc2VzL3JlY292ZXJ5LXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBNkIsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUcsQ0FBQztJQUVuRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQWE7UUFDM0IsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnXG5cbmV4cG9ydCBjbGFzcyBSZWNvdmVyeVBhc3N3b3JkIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIHNlbmRFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5zZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsKVxuICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { UserType } from '../models';
|
|
2
|
-
import { UserAlreadyRegisteredError } from '../errors';
|
|
3
|
-
export class Register {
|
|
4
|
-
constructor(registerService, userRepository) {
|
|
5
|
-
this.registerService = registerService;
|
|
6
|
-
this.userRepository = userRepository;
|
|
7
|
-
}
|
|
8
|
-
async register(params) {
|
|
9
|
-
const email = params.email.toLocaleLowerCase();
|
|
10
|
-
const displayName = `${params.firstName} ${params.lastName}`;
|
|
11
|
-
if (await this.userRepository.checkIfExistsByField('cpf', params.cpf))
|
|
12
|
-
throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`);
|
|
13
|
-
if (await this.userRepository.checkIfExistsByField('email', params.email))
|
|
14
|
-
throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`);
|
|
15
|
-
const auth = await this.registerService.register({
|
|
16
|
-
birthday: params.birthday,
|
|
17
|
-
email,
|
|
18
|
-
firstName: params.firstName,
|
|
19
|
-
lastName: params.lastName,
|
|
20
|
-
cpf: params.cpf,
|
|
21
|
-
displayName,
|
|
22
|
-
phone: params.phone,
|
|
23
|
-
password: params.password,
|
|
24
|
-
});
|
|
25
|
-
delete params.password;
|
|
26
|
-
const user = await this.userRepository.create({
|
|
27
|
-
...params,
|
|
28
|
-
id: auth.id,
|
|
29
|
-
email,
|
|
30
|
-
displayName,
|
|
31
|
-
type: UserType.B2C,
|
|
32
|
-
dateCreated: new Date(),
|
|
33
|
-
dateModified: new Date(),
|
|
34
|
-
});
|
|
35
|
-
return user;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvdXNlLWNhc2VzL3JlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBS3RELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQTZCLGVBQWdDLEVBQW1CLGNBQThCO1FBQWpGLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRWxILEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBc0I7UUFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQzlDLE1BQU0sV0FBVyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFNUQsSUFBSSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDbkUsTUFBTSxJQUFJLDBCQUEwQixDQUFDLG1CQUFtQixNQUFNLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3RGLElBQUksTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3ZFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQyxzQkFBc0IsTUFBTSxDQUFDLEtBQUssaUJBQWlCLENBQUMsQ0FBQTtRQUUzRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1lBQy9DLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixLQUFLO1lBQ0wsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7WUFDZixXQUFXO1lBQ1gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUE7UUFFdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUM1QyxHQUFHLE1BQU07WUFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxLQUFLO1lBQ0wsV0FBVztZQUNYLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRztZQUNsQixXQUFXLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDdkIsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3pCLENBQUMsQ0FBQTtRQUVGLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlciwgVXNlclR5cGUgfSBmcm9tICcuLi9tb2RlbHMnXG5pbXBvcnQgeyBSZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZWdpc3Rlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgVXNlckFscmVhZHlSZWdpc3RlcmVkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgeyBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJy4uL3JlcG9zaXRvcmllcy91c2VyLnJlcG9zaXRvcnknXG5cbnR5cGUgUmVnaXN0ZXJQYXJhbXMgPSBQYXJ0aWFsPFVzZXI+ICYgeyBwYXNzd29yZDogc3RyaW5nIH1cblxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZWdpc3RlclNlcnZpY2U6IFJlZ2lzdGVyU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpIHt9XG5cbiAgYXN5bmMgcmVnaXN0ZXIocGFyYW1zOiBSZWdpc3RlclBhcmFtcyk6IFByb21pc2U8VXNlcj4ge1xuICAgIGNvbnN0IGVtYWlsID0gcGFyYW1zLmVtYWlsLnRvTG9jYWxlTG93ZXJDYXNlKClcbiAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGAke3BhcmFtcy5maXJzdE5hbWV9ICR7cGFyYW1zLmxhc3ROYW1lfWBcblxuICAgIGlmIChhd2FpdCB0aGlzLnVzZXJSZXBvc2l0b3J5LmNoZWNrSWZFeGlzdHNCeUZpZWxkKCdjcGYnLCBwYXJhbXMuY3BmKSlcbiAgICAgIHRocm93IG5ldyBVc2VyQWxyZWFkeVJlZ2lzdGVyZWRFcnJvcihgVXN1w6FyaW8gY29tIENQRiAke3BhcmFtcy5jcGZ9IGrDoSByZWdpc3RyYWRvLmApXG4gICAgaWYgKGF3YWl0IHRoaXMudXNlclJlcG9zaXRvcnkuY2hlY2tJZkV4aXN0c0J5RmllbGQoJ2VtYWlsJywgcGFyYW1zLmVtYWlsKSlcbiAgICAgIHRocm93IG5ldyBVc2VyQWxyZWFkeVJlZ2lzdGVyZWRFcnJvcihgVXN1w6FyaW8gY29tIGUtbWFpbCAke3BhcmFtcy5lbWFpbH0gasOhIHJlZ2lzdHJhZG8uYClcblxuICAgIGNvbnN0IGF1dGggPSBhd2FpdCB0aGlzLnJlZ2lzdGVyU2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBiaXJ0aGRheTogcGFyYW1zLmJpcnRoZGF5LFxuICAgICAgZW1haWwsXG4gICAgICBmaXJzdE5hbWU6IHBhcmFtcy5maXJzdE5hbWUsXG4gICAgICBsYXN0TmFtZTogcGFyYW1zLmxhc3ROYW1lLFxuICAgICAgY3BmOiBwYXJhbXMuY3BmLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgICBwaG9uZTogcGFyYW1zLnBob25lLFxuICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICB9KVxuXG4gICAgZGVsZXRlIHBhcmFtcy5wYXNzd29yZFxuXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMudXNlclJlcG9zaXRvcnkuY3JlYXRlKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIGlkOiBhdXRoLmlkLFxuICAgICAgZW1haWwsXG4gICAgICBkaXNwbGF5TmFtZSxcbiAgICAgIHR5cGU6IFVzZXJUeXBlLkIyQyxcbiAgICAgIGRhdGVDcmVhdGVkOiBuZXcgRGF0ZSgpLFxuICAgICAgZGF0ZU1vZGlmaWVkOiBuZXcgRGF0ZSgpLFxuICAgIH0pXG5cbiAgICByZXR1cm4gdXNlclxuICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class SignOut {
|
|
2
|
-
constructor(authService) {
|
|
3
|
-
this.authService = authService;
|
|
4
|
-
}
|
|
5
|
-
async signOut() {
|
|
6
|
-
await this.authService.signOut();
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbm91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy91c2UtY2FzZXMvc2lnbm91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sT0FBTztJQUNsQixZQUE2QixXQUFrQztRQUFsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7SUFBRyxDQUFDO0lBRW5FLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnXG5cbmV4cG9ydCBjbGFzcyBTaWduT3V0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIHNpZ25PdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5zaWduT3V0KClcbiAgfVxufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import { NotFoundError } from '../../../errors';
|
|
3
|
-
export class AxiosAdapter {
|
|
4
|
-
constructor(config) {
|
|
5
|
-
this.config = config;
|
|
6
|
-
}
|
|
7
|
-
async get(index) {
|
|
8
|
-
try {
|
|
9
|
-
const { data } = await axios({
|
|
10
|
-
url: `${this.config.url}/${index}`,
|
|
11
|
-
method: 'GET',
|
|
12
|
-
headers: { Authorization: `Basic ${this.config.credential}` },
|
|
13
|
-
});
|
|
14
|
-
return data._source;
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
throw new NotFoundError(error.message);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async query(index, query) {
|
|
21
|
-
const { data } = await axios({
|
|
22
|
-
url: `${this.config.url}/${index}`,
|
|
23
|
-
method: 'POST',
|
|
24
|
-
headers: { Authorization: `Basic ${this.config.credential}` },
|
|
25
|
-
data: query,
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
total: data.hits.total.value,
|
|
29
|
-
hits: data.hits.hits,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async save(index, data) {
|
|
33
|
-
await axios({
|
|
34
|
-
url: `${this.config.url}/${index}`,
|
|
35
|
-
method: 'PUT',
|
|
36
|
-
headers: { Authorization: `Basic ${this.config.credential}` },
|
|
37
|
-
data,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
async delete(index) {
|
|
41
|
-
await axios({
|
|
42
|
-
url: `${this.config.url}/${index}`,
|
|
43
|
-
method: 'DELETE',
|
|
44
|
-
headers: { Authorization: `Basic ${this.config.credential}` },
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvYXhpb3MuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBUS9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQTZCLE1BQWdDO1FBQWhDLFdBQU0sR0FBTixNQUFNLENBQTBCO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWE7UUFDckIsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQztnQkFDM0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSztnQkFDYixPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO2FBQzlELENBQUMsQ0FBQTtZQUVGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtTQUNwQjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDdkM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUNuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUM7WUFDM0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM3RCxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQTtRQUVGLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1NBQ3JCLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFhLEVBQUUsSUFBZ0I7UUFDeEMsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzdELElBQUk7U0FDTCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sS0FBSyxDQUFDO1lBQ1YsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7U0FDOUQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgRWxhc3RpY1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsYXN0aWMtc2VhcmNoLXJlc3VsdCdcblxuZXhwb3J0IHR5cGUgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnID0ge1xuICB1cmw6IHN0cmluZ1xuICBjcmVkZW50aWFsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIEF4aW9zQWRhcHRlcjxUIGV4dGVuZHMgQmFzZU1vZGVsPFQ+PiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0KGluZGV4OiBzdHJpbmcpOiBQcm9taXNlPFBhcnRpYWw8VD4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgIHVybDogYCR7dGhpcy5jb25maWcudXJsfS8ke2luZGV4fWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7dGhpcy5jb25maWcuY3JlZGVudGlhbH1gIH0sXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gZGF0YS5fc291cmNlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcXVlcnkoaW5kZXg6IHN0cmluZywgcXVlcnk6IGFueSk6IFByb21pc2U8RWxhc3RpY1NlYXJjaFJlc3VsdDxQYXJ0aWFsPFQ+Pj4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9YCxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIGRhdGE6IHF1ZXJ5LFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG90YWw6IGRhdGEuaGl0cy50b3RhbC52YWx1ZSxcbiAgICAgIGhpdHM6IGRhdGEuaGl0cy5oaXRzLFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNhdmUoaW5kZXg6IHN0cmluZywgZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcudXJsfS8ke2luZGV4fWAsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIGRhdGEsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShpbmRleDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9YCxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCYXNpYyAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCB9LFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Product } from '../../../domain';
|
|
2
|
-
export class ProductsIndex {
|
|
3
|
-
constructor(adapter) {
|
|
4
|
-
this.adapter = adapter;
|
|
5
|
-
}
|
|
6
|
-
async get(id) {
|
|
7
|
-
const data = await this.adapter.get(`products/_doc/${id}`);
|
|
8
|
-
return Product.toInstance(data);
|
|
9
|
-
}
|
|
10
|
-
async findById(ids, options) {
|
|
11
|
-
const fields = [
|
|
12
|
-
'brand',
|
|
13
|
-
'id',
|
|
14
|
-
'images',
|
|
15
|
-
'miniatures',
|
|
16
|
-
'name',
|
|
17
|
-
'price',
|
|
18
|
-
'sku',
|
|
19
|
-
'stock',
|
|
20
|
-
'slug',
|
|
21
|
-
'reviews',
|
|
22
|
-
'pricePaid',
|
|
23
|
-
'isGift',
|
|
24
|
-
'stock',
|
|
25
|
-
'weight',
|
|
26
|
-
'tags',
|
|
27
|
-
'hasVariants',
|
|
28
|
-
'type'
|
|
29
|
-
];
|
|
30
|
-
const { hits } = await this.adapter.query('products/_search', {
|
|
31
|
-
_source: fields,
|
|
32
|
-
query: {
|
|
33
|
-
bool: {
|
|
34
|
-
filter: [
|
|
35
|
-
{
|
|
36
|
-
terms: {
|
|
37
|
-
_id: ids,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
term: {
|
|
42
|
-
published: true,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
...(options.hasStock
|
|
46
|
-
? [
|
|
47
|
-
{
|
|
48
|
-
range: {
|
|
49
|
-
'stock.quantity': {
|
|
50
|
-
gt: 0,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
]
|
|
55
|
-
: []),
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
...(options.size ? { size: options.size } : {}),
|
|
60
|
-
});
|
|
61
|
-
return hits.map((hit) => Product.toInstance(hit._source));
|
|
62
|
-
}
|
|
63
|
-
async save(product) {
|
|
64
|
-
delete product.createdAt;
|
|
65
|
-
delete product.updatedAt;
|
|
66
|
-
delete product.kitProducts;
|
|
67
|
-
try {
|
|
68
|
-
if (!product.firestoreId)
|
|
69
|
-
throw new Error('Is not a product from firestore');
|
|
70
|
-
await this.get(product.firestoreId);
|
|
71
|
-
await this.adapter.save(`products/_doc/${product.firestoreId}`, product.toPlain());
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
console.error(error.message);
|
|
75
|
-
await this.adapter.save(`products/_doc/${product.id}`, product.toPlain());
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
async delete(product) {
|
|
79
|
-
try {
|
|
80
|
-
await this.get(product.firestoreId);
|
|
81
|
-
await this.adapter.delete(`products/_doc/${product.firestoreId}`);
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
await this.adapter.delete(`products/_doc/${product.id}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBUyxNQUFNLGlCQUFpQixDQUFBO0FBSWhELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQztJQUUvRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTFELE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFhLEVBQUUsT0FBMEQ7UUFDdEYsTUFBTSxNQUFNLEdBQUc7WUFDYixPQUFPO1lBQ1AsSUFBSTtZQUNKLFFBQVE7WUFDUixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxLQUFLO1lBQ0wsT0FBTztZQUNQLE1BQU07WUFDTixTQUFTO1lBQ1QsV0FBVztZQUNYLFFBQVE7WUFDUixPQUFPO1lBQ1AsUUFBUTtZQUNSLE1BQU07WUFDTixhQUFhO1lBQ2IsTUFBTTtTQUNQLENBQUE7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRTtZQUM1RCxPQUFPLEVBQUUsTUFBTTtZQUNmLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUU7b0JBQ0osTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEtBQUssRUFBRTtnQ0FDTCxHQUFHLEVBQUUsR0FBRzs2QkFDVDt5QkFDRjt3QkFDRDs0QkFDRSxJQUFJLEVBQUU7Z0NBQ0osU0FBUyxFQUFFLElBQUk7NkJBQ2hCO3lCQUNGO3dCQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUTs0QkFDbEIsQ0FBQyxDQUFDO2dDQUNFO29DQUNFLEtBQUssRUFBRTt3Q0FDTCxnQkFBZ0IsRUFBRTs0Q0FDaEIsRUFBRSxFQUFFLENBQUM7eUNBQ047cUNBQ0Y7aUNBQ0Y7NkJBQ0Y7NEJBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztxQkFDUjtpQkFDRjthQUNGO1lBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2hELENBQUMsQ0FBQTtRQUVGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUE7UUFDeEIsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFBO1FBQ3hCLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQTtRQUUxQixJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtZQUU1RSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBRW5DLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtTQUNuRjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFNUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1NBQzFFO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBNkI7UUFDeEMsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFbkMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7U0FDbEU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ3pEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdCwgU2hvcHMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL2hhc3VyYS1ncmFwaHFsJ1xuaW1wb3J0IHsgQXhpb3NBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0luZGV4IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBBeGlvc0FkYXB0ZXI8UHJvZHVjdD4pIHt9XG5cbiAgYXN5bmMgZ2V0KGlkKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5nZXQoYHByb2R1Y3RzL19kb2MvJHtpZH1gKVxuXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxuICB9XG5cbiAgYXN5bmMgZmluZEJ5SWQoaWRzOiBzdHJpbmdbXSwgb3B0aW9ucz86IHsgaGFzU3RvY2s6IGJvb2xlYW47IHNpemU6IG51bWJlcjsgc2hvcDogU2hvcHMgfSk6IFByb21pc2U8UHJvZHVjdFtdPiB7XG4gICAgY29uc3QgZmllbGRzID0gW1xuICAgICAgJ2JyYW5kJyxcbiAgICAgICdpZCcsXG4gICAgICAnaW1hZ2VzJyxcbiAgICAgICdtaW5pYXR1cmVzJyxcbiAgICAgICduYW1lJyxcbiAgICAgICdwcmljZScsXG4gICAgICAnc2t1JyxcbiAgICAgICdzdG9jaycsXG4gICAgICAnc2x1ZycsXG4gICAgICAncmV2aWV3cycsXG4gICAgICAncHJpY2VQYWlkJyxcbiAgICAgICdpc0dpZnQnLFxuICAgICAgJ3N0b2NrJyxcbiAgICAgICd3ZWlnaHQnLFxuICAgICAgJ3RhZ3MnLFxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICd0eXBlJ1xuICAgIF1cbiAgICBjb25zdCB7IGhpdHMgfSA9IGF3YWl0IHRoaXMuYWRhcHRlci5xdWVyeSgncHJvZHVjdHMvX3NlYXJjaCcsIHtcbiAgICAgIF9zb3VyY2U6IGZpZWxkcyxcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIGJvb2w6IHtcbiAgICAgICAgICBmaWx0ZXI6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICAgICAgICBfaWQ6IGlkcyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlcm06IHtcbiAgICAgICAgICAgICAgICBwdWJsaXNoZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKG9wdGlvbnMuaGFzU3RvY2tcbiAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgJ3N0b2NrLnF1YW50aXR5Jzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Q6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLihvcHRpb25zLnNpemUgPyB7IHNpemU6IG9wdGlvbnMuc2l6ZSB9IDoge30pLFxuICAgIH0pXG5cbiAgICByZXR1cm4gaGl0cy5tYXAoKGhpdCkgPT4gUHJvZHVjdC50b0luc3RhbmNlKGhpdC5fc291cmNlKSlcbiAgfVxuXG4gIGFzeW5jIHNhdmUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBkZWxldGUgcHJvZHVjdC5jcmVhdGVkQXRcbiAgICBkZWxldGUgcHJvZHVjdC51cGRhdGVkQXRcbiAgICBkZWxldGUgcHJvZHVjdC5raXRQcm9kdWN0c1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmICghcHJvZHVjdC5maXJlc3RvcmVJZCkgdGhyb3cgbmV3IEVycm9yKCdJcyBub3QgYSBwcm9kdWN0IGZyb20gZmlyZXN0b3JlJylcblxuICAgICAgYXdhaXQgdGhpcy5nZXQocHJvZHVjdC5maXJlc3RvcmVJZClcblxuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnNhdmUoYHByb2R1Y3RzL19kb2MvJHtwcm9kdWN0LmZpcmVzdG9yZUlkfWAsIHByb2R1Y3QudG9QbGFpbigpKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpXG5cbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5zYXZlKGBwcm9kdWN0cy9fZG9jLyR7cHJvZHVjdC5pZH1gLCBwcm9kdWN0LnRvUGxhaW4oKSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5nZXQocHJvZHVjdC5maXJlc3RvcmVJZClcblxuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLmRlbGV0ZShgcHJvZHVjdHMvX2RvYy8ke3Byb2R1Y3QuZmlyZXN0b3JlSWR9YClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLmRlbGV0ZShgcHJvZHVjdHMvX2RvYy8ke3Byb2R1Y3QuaWR9YClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import firebase from 'firebase';
|
|
2
|
-
export class AuthenticationFirebaseAuthService {
|
|
3
|
-
constructor(firebaseAuth) {
|
|
4
|
-
this.firebaseAuth = firebaseAuth;
|
|
5
|
-
}
|
|
6
|
-
async signInWithEmailAndPassword(data) {
|
|
7
|
-
const credentials = await this.firebaseAuth.signInWithEmailAndPassword(data.email, data.password);
|
|
8
|
-
const user = credentials.user;
|
|
9
|
-
return {
|
|
10
|
-
id: user.uid,
|
|
11
|
-
displayName: user.displayName,
|
|
12
|
-
email: user.email,
|
|
13
|
-
phone: user.phoneNumber,
|
|
14
|
-
isAnonymous: false,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
async signInWithGoogle() {
|
|
18
|
-
const credentials = await this.firebaseAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
|
|
19
|
-
const user = credentials.user;
|
|
20
|
-
return {
|
|
21
|
-
id: user.uid,
|
|
22
|
-
displayName: user.displayName,
|
|
23
|
-
email: user.email,
|
|
24
|
-
phone: user.phoneNumber,
|
|
25
|
-
isAnonymous: false,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
async signOut() {
|
|
29
|
-
this.firebaseAuth.signOut();
|
|
30
|
-
}
|
|
31
|
-
async signInAnonymously() {
|
|
32
|
-
const auth = await this.firebaseAuth.signInAnonymously();
|
|
33
|
-
const user = auth.user;
|
|
34
|
-
user.id = auth.user.uid;
|
|
35
|
-
return user;
|
|
36
|
-
}
|
|
37
|
-
async sendPasswordResetEmail(email) {
|
|
38
|
-
return this.firebaseAuth.sendPasswordResetEmail(email);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tZmlyZWJhc2UtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvYXV0aC9hdXRoZW50aWNhdGlvbi1maXJlYmFzZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFBO0FBTS9CLE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFBNkIsWUFBZ0M7UUFBaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsSUFBNEI7UUFDM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2pHLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUE7UUFFN0IsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUE7UUFDbkcsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQTtRQUU3QixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ1osV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdkIsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQTBCLENBQUE7UUFFNUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtRQUV2QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsS0FBYTtRQUN4QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlJ1xuXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UsIEJhc2ljVXNlckRhdGEsIExvZ2luQW5kUGFzc3dvcmRQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IEZpcmViYXNlVXNlcldpdGhJZCB9IGZyb20gJy4vdHlwZXMvZmlyZWJhc2UtdXNlci13aXRoLWlkLnR5cGUnXG5cbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpcmViYXNlQXV0aDogZmlyZWJhc2UuYXV0aC5BdXRoKSB7fVxuXG4gIGFzeW5jIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGE6IExvZ2luQW5kUGFzc3dvcmRQYXJhbXMpOiBQcm9taXNlPEJhc2ljVXNlckRhdGE+IHtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpXG4gICAgY29uc3QgdXNlciA9IGNyZWRlbnRpYWxzLnVzZXJcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogdXNlci51aWQsXG4gICAgICBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZSxcbiAgICAgIGVtYWlsOiB1c2VyLmVtYWlsLFxuICAgICAgcGhvbmU6IHVzZXIucGhvbmVOdW1iZXIsXG4gICAgICBpc0Fub255bW91czogZmFsc2UsXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbkluV2l0aEdvb2dsZSgpOiBQcm9taXNlPEJhc2ljVXNlckRhdGE+IHtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25JbldpdGhQb3B1cChuZXcgZmlyZWJhc2UuYXV0aC5Hb29nbGVBdXRoUHJvdmlkZXIoKSlcbiAgICBjb25zdCB1c2VyID0gY3JlZGVudGlhbHMudXNlclxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB1c2VyLnVpZCxcbiAgICAgIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lLFxuICAgICAgZW1haWw6IHVzZXIuZW1haWwsXG4gICAgICBwaG9uZTogdXNlci5waG9uZU51bWJlcixcbiAgICAgIGlzQW5vbnltb3VzOiBmYWxzZSxcbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWduT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKVxuICB9XG5cbiAgYXN5bmMgc2lnbkluQW5vbnltb3VzbHkoKTogUHJvbWlzZTxGaXJlYmFzZVVzZXJXaXRoSWQ+IHtcbiAgICBjb25zdCBhdXRoID0gYXdhaXQgdGhpcy5maXJlYmFzZUF1dGguc2lnbkluQW5vbnltb3VzbHkoKVxuICAgIGNvbnN0IHVzZXIgPSBhdXRoLnVzZXIgYXMgRmlyZWJhc2VVc2VyV2l0aElkXG5cbiAgICB1c2VyLmlkID0gYXV0aC51c2VyLnVpZFxuXG4gICAgcmV0dXJuIHVzZXJcbiAgfVxuXG4gIGFzeW5jIHNlbmRQYXNzd29yZFJlc2V0RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmZpcmViYXNlQXV0aC5zZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsKVxuICB9XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { UserAlreadyRegisteredError, WeakPasswordError } from '../../../domain';
|
|
2
|
-
export class RegisterFirebaseAuthService {
|
|
3
|
-
constructor(firebaseAuth) {
|
|
4
|
-
this.firebaseAuth = firebaseAuth;
|
|
5
|
-
}
|
|
6
|
-
async register(params) {
|
|
7
|
-
try {
|
|
8
|
-
const auth = await this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password);
|
|
9
|
-
const user = auth.user;
|
|
10
|
-
user.sendEmailVerification();
|
|
11
|
-
user.id = auth.user.uid;
|
|
12
|
-
return user;
|
|
13
|
-
}
|
|
14
|
-
catch (error) {
|
|
15
|
-
if (error.code === 'auth/email-already-in-use')
|
|
16
|
-
throw new UserAlreadyRegisteredError('Email already registered');
|
|
17
|
-
if (error.code === 'auth/weak-password')
|
|
18
|
-
throw new WeakPasswordError();
|
|
19
|
-
throw error;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZmlyZWJhc2UtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvYXV0aC9yZWdpc3Rlci1maXJlYmFzZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFtQywwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBSWhILE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBNkIsWUFBZ0M7UUFBaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQXNCO1FBQ25DLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbEcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQTBCLENBQUE7WUFFNUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7WUFDNUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtZQUV2QixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssMkJBQTJCO2dCQUFFLE1BQU0sSUFBSSwwQkFBMEIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1lBQ2hILElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxvQkFBb0I7Z0JBQUUsTUFBTSxJQUFJLGlCQUFpQixFQUFFLENBQUE7WUFFdEUsTUFBTSxLQUFLLENBQUE7U0FDWjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZSdcblxuaW1wb3J0IHsgUmVnaXN0ZXJQYXJhbXMsIFJlZ2lzdGVyU2VydmljZSwgVXNlckFscmVhZHlSZWdpc3RlcmVkRXJyb3IsIFdlYWtQYXNzd29yZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyBGaXJlYmFzZVVzZXJXaXRoSWQgfSBmcm9tICcuL3R5cGVzL2ZpcmViYXNlLXVzZXItd2l0aC1pZC50eXBlJ1xuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlIGltcGxlbWVudHMgUmVnaXN0ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaXJlYmFzZUF1dGg6IGZpcmViYXNlLmF1dGguQXV0aCkge31cblxuICBhc3luYyByZWdpc3RlcihwYXJhbXM6IFJlZ2lzdGVyUGFyYW1zKTogUHJvbWlzZTxGaXJlYmFzZVVzZXJXaXRoSWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXV0aCA9IGF3YWl0IHRoaXMuZmlyZWJhc2VBdXRoLmNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZChwYXJhbXMuZW1haWwsIHBhcmFtcy5wYXNzd29yZClcbiAgICAgIGNvbnN0IHVzZXIgPSBhdXRoLnVzZXIgYXMgRmlyZWJhc2VVc2VyV2l0aElkXG5cbiAgICAgIHVzZXIuc2VuZEVtYWlsVmVyaWZpY2F0aW9uKClcbiAgICAgIHVzZXIuaWQgPSBhdXRoLnVzZXIudWlkXG5cbiAgICAgIHJldHVybiB1c2VyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnYXV0aC9lbWFpbC1hbHJlYWR5LWluLXVzZScpIHRocm93IG5ldyBVc2VyQWxyZWFkeVJlZ2lzdGVyZWRFcnJvcignRW1haWwgYWxyZWFkeSByZWdpc3RlcmVkJylcbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAnYXV0aC93ZWFrLXBhc3N3b3JkJykgdGhyb3cgbmV3IFdlYWtQYXNzd29yZEVycm9yKClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const withDeleteFirestore = (MixinBase) => {
|
|
2
|
-
return class DeleteFirestore extends MixinBase {
|
|
3
|
-
async delete(identifiers) {
|
|
4
|
-
await this.collection(this.buildCollectionPathForRemove(identifiers))
|
|
5
|
-
.doc(Object.values(identifiers).shift().toString())
|
|
6
|
-
.delete();
|
|
7
|
-
}
|
|
8
|
-
buildCollectionPathForRemove(identifiers) {
|
|
9
|
-
return this.isSubCollection(this)
|
|
10
|
-
? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
|
|
11
|
-
: this.collectionName;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FJakMsU0FBZ0YsRUFJaEYsRUFBRTtJQUNGLE9BQU8sTUFBTSxlQUFnQixTQUFRLFNBQVM7UUFDNUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUEwQztZQUNyRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNsRSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDbEQsTUFBTSxFQUFFLENBQUE7UUFDYixDQUFDO1FBRUQsNEJBQTRCLENBQUMsV0FBb0M7WUFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRlbnRpZmllcnNNb2RlbCwgTW9kZWxCYXNlU3RydWN0dXJlLCBEZWxldGVSZXBvc2l0b3J5LCBEZWxldGVSZXBvc2l0b3J5UGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRGVsZXRlRmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBEZWxldGVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e30sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgRGVsZXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGRlbGV0ZShpZGVudGlmaWVyczogRGVsZXRlUmVwb3NpdG9yeVBhcmFtczxUQmFzZT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JSZW1vdmUoaWRlbnRpZmllcnMpKVxuICAgICAgICAuZG9jKE9iamVjdC52YWx1ZXMoaWRlbnRpZmllcnMpLnNoaWZ0KCkudG9TdHJpbmcoKSlcbiAgICAgICAgLmRlbGV0ZSgpXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvclJlbW92ZShpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
|