@infrab4a/connect 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/infrab4a-connect.umd.js +2173 -267
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category.d.ts +5 -4
- package/domain/catalog/models/index.d.ts +3 -2
- package/domain/catalog/models/kit-product.d.ts +12 -0
- package/domain/catalog/models/product.d.ts +9 -4
- package/domain/catalog/models/types/product-review.type.d.ts +10 -8
- package/domain/catalog/models/variant.d.ts +7 -3
- package/domain/catalog/repositories/category.repository.d.ts +1 -1
- package/domain/catalog/repositories/product.repository.d.ts +10 -3
- package/domain/catalog/repositories/subscription-product.repository.d.ts +1 -1
- package/domain/catalog/repositories/variant.repository.d.ts +1 -1
- package/domain/generic/model/base.model.d.ts +10 -0
- package/domain/{general → generic}/model/index.d.ts +0 -1
- package/domain/generic/model/types/base-model-builder.type.d.ts +15 -0
- package/domain/generic/model/types/identifier-model.type.d.ts +7 -0
- package/domain/{general → generic}/model/types/index.d.ts +2 -0
- package/domain/generic/model/types/model-base-structure.type.d.ts +6 -0
- package/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
- package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -0
- package/domain/generic/repository/create.repository.d.ts +8 -0
- package/domain/generic/repository/crud.repository.d.ts +19 -0
- package/domain/generic/repository/delete.repository.d.ts +7 -0
- package/domain/{general → generic}/repository/enums/where.enum.d.ts +5 -2
- package/domain/generic/repository/find.repository.d.ts +11 -0
- package/domain/generic/repository/get.repository.d.ts +5 -0
- package/domain/generic/repository/read.repository.d.ts +14 -0
- package/domain/{general → generic}/repository/types/index.d.ts +1 -0
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
- package/domain/{general → generic}/repository/types/repository-update-params.type.d.ts +4 -4
- package/domain/generic/repository/types/where-options.type.d.ts +2 -0
- package/domain/generic/repository/update.repository.d.ts +6 -0
- package/domain/index.d.ts +1 -1
- package/domain/location/models/address.d.ts +3 -2
- package/domain/shop-settings/models/home.d.ts +3 -3
- package/domain/shop-settings/models/shop-menu.d.ts +3 -3
- package/domain/shop-settings/repositories/home.repository.d.ts +1 -1
- package/domain/shop-settings/repositories/shop-menu.repository.d.ts +1 -1
- package/domain/shopping/models/buy-2-win.d.ts +3 -5
- package/domain/shopping/models/checkout.d.ts +7 -9
- package/domain/shopping/models/coupons/coupon.d.ts +13 -15
- package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
- package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
- package/domain/shopping/models/coupons/enums/index.d.ts +2 -1
- package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
- package/domain/shopping/models/coupons/index.d.ts +1 -2
- package/domain/shopping/models/payment.d.ts +3 -5
- package/domain/shopping/models/shipping-method.d.ts +3 -5
- package/domain/shopping/models/subscription/checkout.d.ts +3 -5
- package/domain/shopping/models/subscription/plan.d.ts +3 -5
- package/domain/shopping/repositories/buy-2-win.repository.d.ts +1 -1
- package/domain/shopping/repositories/checkout.repository.d.ts +1 -1
- package/domain/shopping/repositories/coupon.repository.d.ts +1 -1
- package/domain/shopping/repositories/order.repository.d.ts +1 -1
- package/domain/shopping/repositories/payment.repository.d.ts +1 -1
- package/domain/shopping/repositories/subscription/checkout.repository.d.ts +1 -1
- package/domain/shopping/repositories/subscription/plan.repository.d.ts +1 -1
- package/domain/users/errors/unauthorized.error.d.ts +2 -1
- package/domain/users/errors/user-already-registered.error.d.ts +2 -1
- package/domain/users/errors/weak-password.error.d.ts +2 -1
- package/domain/users/models/beauty-profile.d.ts +4 -5
- package/domain/users/models/lead.d.ts +3 -5
- package/domain/users/models/subscription/edition.d.ts +4 -5
- package/domain/users/models/subscription/payment.d.ts +4 -5
- package/domain/users/models/subscription/subscription.d.ts +3 -5
- package/domain/users/models/user-address.d.ts +3 -3
- package/domain/users/models/user-payment-method.d.ts +4 -4
- package/domain/users/models/user.d.ts +13 -10
- package/domain/users/repositories/beauty-profile.repository.d.ts +1 -1
- package/domain/users/repositories/edition.repository.d.ts +1 -1
- package/domain/users/repositories/lead.repository.d.ts +1 -1
- package/domain/users/repositories/subscription-payment.repository.d.ts +1 -1
- package/domain/users/repositories/subscription.repository.d.ts +1 -1
- package/domain/users/repositories/user-address.repository.d.ts +1 -1
- package/domain/users/repositories/user-payment-method.repository.d.ts +1 -1
- package/domain/users/repositories/user.repository.d.ts +2 -2
- package/errors/duplicated-results.error.d.ts +2 -1
- package/errors/invalid-argument.error.d.ts +2 -1
- package/errors/not-found.error.d.ts +2 -1
- package/errors/required-argument.error.d.ts +2 -1
- package/esm2015/domain/catalog/models/category.js +5 -2
- package/esm2015/domain/catalog/models/index.js +4 -3
- package/esm2015/domain/catalog/models/kit-product.js +18 -0
- package/esm2015/domain/catalog/models/product.js +12 -2
- package/esm2015/domain/catalog/models/types/product-review.type.js +1 -1
- package/esm2015/domain/catalog/models/variant.js +5 -2
- package/esm2015/domain/catalog/repositories/category.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/subscription-product.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/variant.repository.js +1 -1
- package/esm2015/domain/{general → generic}/index.js +1 -1
- package/esm2015/domain/generic/model/base.model.js +23 -0
- package/esm2015/domain/{general → generic}/model/identifier-fields.js +1 -1
- package/esm2015/domain/generic/model/index.js +4 -0
- package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
- package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
- package/esm2015/domain/generic/model/types/index.js +6 -0
- package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
- package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
- package/esm2015/domain/generic/repository/create.repository.js +2 -0
- package/esm2015/domain/generic/repository/crud.repository.js +2 -0
- package/esm2015/domain/generic/repository/delete.repository.js +2 -0
- package/esm2015/domain/{general → generic}/repository/enums/index.js +1 -1
- package/esm2015/domain/{general → generic}/repository/enums/update-option-actions.enum.js +1 -1
- package/esm2015/domain/generic/repository/enums/where.enum.js +15 -0
- package/esm2015/domain/generic/repository/find.repository.js +2 -0
- package/esm2015/domain/generic/repository/get.repository.js +2 -0
- package/esm2015/domain/{general → generic}/repository/index.js +1 -1
- package/esm2015/domain/generic/repository/read.repository.js +2 -0
- package/esm2015/domain/generic/repository/types/index.js +7 -0
- package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
- package/esm2015/domain/{general → generic}/repository/types/repository-find-result.type.js +1 -1
- package/esm2015/domain/{general → generic}/repository/types/repository-limit-options.type.js +1 -1
- package/esm2015/domain/{general → generic}/repository/types/repository-order-by-list.type.js +1 -1
- package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
- package/esm2015/domain/generic/repository/types/where-options.type.js +2 -0
- package/esm2015/domain/generic/repository/update.repository.js +2 -0
- package/esm2015/domain/index.js +2 -2
- package/esm2015/domain/location/models/address.js +5 -2
- package/esm2015/domain/shop-settings/models/home.js +3 -3
- package/esm2015/domain/shop-settings/models/shop-menu.js +3 -3
- package/esm2015/domain/shop-settings/repositories/home.repository.js +1 -1
- package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +1 -1
- package/esm2015/domain/shopping/models/buy-2-win.js +3 -3
- package/esm2015/domain/shopping/models/checkout.js +6 -15
- package/esm2015/domain/shopping/models/coupons/coupon.js +4 -12
- package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
- package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
- package/esm2015/domain/shopping/models/coupons/enums/index.js +3 -2
- package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
- package/esm2015/domain/shopping/models/coupons/index.js +2 -3
- package/esm2015/domain/shopping/models/payment.js +3 -3
- package/esm2015/domain/shopping/models/shipping-method.js +3 -3
- package/esm2015/domain/shopping/models/subscription/checkout.js +3 -3
- package/esm2015/domain/shopping/models/subscription/plan.js +3 -3
- package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/checkout.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/coupon.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/order.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/payment.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +1 -1
- package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +1 -1
- package/esm2015/domain/users/errors/unauthorized.error.js +3 -2
- package/esm2015/domain/users/errors/user-already-registered.error.js +3 -2
- package/esm2015/domain/users/errors/weak-password.error.js +3 -2
- package/esm2015/domain/users/models/beauty-profile.js +4 -4
- package/esm2015/domain/users/models/lead.js +3 -3
- package/esm2015/domain/users/models/subscription/edition.js +4 -4
- package/esm2015/domain/users/models/subscription/payment.js +4 -4
- package/esm2015/domain/users/models/subscription/subscription.js +3 -3
- package/esm2015/domain/users/models/user-address.js +3 -3
- package/esm2015/domain/users/models/user-payment-method.js +4 -4
- package/esm2015/domain/users/models/user.js +5 -5
- package/esm2015/domain/users/repositories/beauty-profile.repository.js +1 -1
- package/esm2015/domain/users/repositories/edition.repository.js +1 -1
- package/esm2015/domain/users/repositories/lead.repository.js +1 -1
- package/esm2015/domain/users/repositories/subscription-payment.repository.js +1 -1
- package/esm2015/domain/users/repositories/subscription.repository.js +1 -1
- package/esm2015/domain/users/repositories/user-address.repository.js +1 -1
- package/esm2015/domain/users/repositories/user-payment-method.repository.js +1 -1
- package/esm2015/domain/users/repositories/user.repository.js +1 -1
- package/esm2015/errors/duplicated-results.error.js +3 -2
- package/esm2015/errors/invalid-argument.error.js +3 -2
- package/esm2015/errors/not-found.error.js +3 -2
- package/esm2015/errors/required-argument.error.js +3 -2
- package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +36 -1
- package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +1 -1
- package/esm2015/infra/elasticsearch/indexes/products-index.js +35 -1
- package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +2 -2
- package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +2 -2
- package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +9 -10
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +2 -6
- package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +4 -4
- package/esm2015/infra/firebase/firestore/models/user-search.js +3 -3
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +4 -2
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +37 -8
- package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +11 -21
- package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +2 -2
- package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +1 -1
- package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +1 -1
- package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
- package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -0
- package/esm2015/infra/hasura-graphql/enums/index.js +3 -0
- package/esm2015/infra/hasura-graphql/index.js +5 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +18 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +72 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -0
- package/esm2015/infra/hasura-graphql/mixins/index.js +8 -0
- package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -0
- package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
- package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
- package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +93 -0
- package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
- package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
- package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -0
- package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
- package/esm2015/infra/hasura-graphql/models/index.js +5 -0
- package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
- package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
- package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +136 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +375 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +107 -0
- package/esm2015/infra/hasura-graphql/repositories/index.js +2 -0
- package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/index.js +9 -0
- package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -0
- package/esm2015/infra/index.js +2 -1
- package/esm2015/utils/index.js +6 -4
- package/esm2015/utils/is-uuid.js +3 -0
- package/esm2015/utils/mixins/index.js +2 -1
- package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -0
- package/esm2015/utils/mixins/mixin-ctor.type.js +1 -1
- package/esm2015/utils/parse-datetime.js +14 -0
- package/esm2015/utils/types/array-element.type.js +2 -0
- package/esm2015/utils/types/index.js +2 -1
- package/fesm2015/infrab4a-connect.js +1375 -142
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +3 -0
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -0
- package/infra/elasticsearch/indexes/products-index.d.ts +5 -1
- package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/auth/register-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +3 -16
- package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +3 -28
- package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +3 -19
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +3 -14
- package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +5 -4
- package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -14
- package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +6 -15
- package/infra/firebase/firestore/models/user-search.d.ts +3 -3
- package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +5 -44
- package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -51
- package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +1 -42
- package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
- package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +3 -3
- package/infra/firebase/firestore/types/firestore.repository.type.d.ts +7 -3
- package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
- package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -0
- package/infra/hasura-graphql/enums/index.d.ts +2 -0
- package/infra/hasura-graphql/index.d.ts +4 -0
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -0
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
- package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -0
- package/infra/hasura-graphql/mixins/index.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -0
- package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +31 -0
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -0
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -0
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
- package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/index.d.ts +4 -0
- package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +22 -0
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +26 -0
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +13 -0
- package/infra/hasura-graphql/repositories/index.d.ts +1 -0
- package/infra/hasura-graphql/types/fields.type.d.ts +2 -0
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -0
- package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +36 -0
- package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
- package/infra/hasura-graphql/types/index.d.ts +8 -0
- package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
- package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
- package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
- package/infra/index.d.ts +1 -0
- package/package.json +5 -3
- package/utils/index.d.ts +5 -4
- package/utils/is-uuid.d.ts +1 -0
- package/utils/mixins/index.d.ts +1 -0
- package/utils/mixins/merge-constructor-params.type.d.ts +3 -0
- package/utils/mixins/mixin-ctor.type.d.ts +1 -1
- package/utils/parse-datetime.d.ts +1 -0
- package/utils/types/array-element.type.d.ts +1 -0
- package/utils/types/index.d.ts +1 -0
- package/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
- package/domain/general/model/base.model.d.ts +0 -6
- package/domain/general/model/types/base-model-builder.type.d.ts +0 -5
- package/domain/general/model/types/non-function-properties.type.d.ts +0 -2
- package/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
- package/domain/general/repository/create.repository.d.ts +0 -5
- package/domain/general/repository/crud.repository.d.ts +0 -7
- package/domain/general/repository/delete.repository.d.ts +0 -5
- package/domain/general/repository/find.repository.d.ts +0 -5
- package/domain/general/repository/get.repository.d.ts +0 -5
- package/domain/general/repository/read.repository.d.ts +0 -5
- package/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
- package/domain/general/repository/update.repository.d.ts +0 -5
- package/domain/shopping/models/coupons/club-coupon.d.ts +0 -7
- package/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +0 -5
- package/domain/shopping/models/coupons/store-coupon.d.ts +0 -8
- package/esm2015/domain/general/model/base-model-with-identifier-fields.js +0 -2
- package/esm2015/domain/general/model/base.model.js +0 -13
- package/esm2015/domain/general/model/index.js +0 -5
- package/esm2015/domain/general/model/types/base-model-builder.type.js +0 -2
- package/esm2015/domain/general/model/types/index.js +0 -4
- package/esm2015/domain/general/model/types/non-function-properties.type.js +0 -2
- package/esm2015/domain/general/model/types/non-function-property-name.type.js +0 -2
- package/esm2015/domain/general/repository/create.repository.js +0 -2
- package/esm2015/domain/general/repository/crud.repository.js +0 -2
- package/esm2015/domain/general/repository/delete.repository.js +0 -2
- package/esm2015/domain/general/repository/enums/where.enum.js +0 -12
- package/esm2015/domain/general/repository/find.repository.js +0 -2
- package/esm2015/domain/general/repository/get.repository.js +0 -2
- package/esm2015/domain/general/repository/read.repository.js +0 -2
- package/esm2015/domain/general/repository/types/index.js +0 -6
- package/esm2015/domain/general/repository/types/repository-find-filters.type.js +0 -2
- package/esm2015/domain/general/repository/types/repository-update-params.type.js +0 -2
- package/esm2015/domain/general/repository/update.repository.js +0 -2
- package/esm2015/domain/shopping/models/coupons/club-coupon.js +0 -18
- package/esm2015/domain/shopping/models/coupons/enums/discount-type.enum.js +0 -7
- package/esm2015/domain/shopping/models/coupons/store-coupon.js +0 -23
- /package/domain/{general → generic}/index.d.ts +0 -0
- /package/domain/{general → generic}/model/identifier-fields.d.ts +0 -0
- /package/domain/{general → generic}/repository/enums/index.d.ts +0 -0
- /package/domain/{general → generic}/repository/enums/update-option-actions.enum.d.ts +0 -0
- /package/domain/{general → generic}/repository/index.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-find-result.type.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-limit-options.type.d.ts +0 -0
- /package/domain/{general → generic}/repository/types/repository-order-by-list.type.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseModel,
|
|
1
|
+
import { BaseModel, GenericIdentifier, NonFunctionPropertyNames } from '../../generic/model';
|
|
2
2
|
import { Shops } from './enums';
|
|
3
3
|
import { CategoryCondition, CategoryFilter } from './types';
|
|
4
|
-
export declare class Category extends BaseModel<Category>
|
|
4
|
+
export declare class Category extends BaseModel<Category> {
|
|
5
5
|
id: string;
|
|
6
6
|
brandCategory: boolean;
|
|
7
7
|
brandLogo?: string;
|
|
@@ -14,9 +14,10 @@ export declare class Category extends BaseModel<Category> implements IdentifierF
|
|
|
14
14
|
conditions?: CategoryCondition;
|
|
15
15
|
products?: string[];
|
|
16
16
|
filters?: CategoryFilter[];
|
|
17
|
-
createdAt
|
|
18
|
-
updatedAt
|
|
17
|
+
createdAt?: Date;
|
|
18
|
+
updatedAt?: Date;
|
|
19
19
|
shop: Shops;
|
|
20
20
|
published: boolean;
|
|
21
21
|
identifierFields(): NonFunctionPropertyNames<Category>[];
|
|
22
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
22
23
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseModel } from '../../generic/model';
|
|
2
|
+
import { Product } from './product';
|
|
3
|
+
declare type KitProductIdentifiers = 'productId' | 'kitProducId';
|
|
4
|
+
export declare class KitProduct extends BaseModel<KitProduct, KitProductIdentifiers> {
|
|
5
|
+
productId: string;
|
|
6
|
+
kitProductId: string;
|
|
7
|
+
quantity: number;
|
|
8
|
+
kit: Product;
|
|
9
|
+
product: Product;
|
|
10
|
+
static get identifiersFields(): KitProductIdentifiers[];
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BaseModel,
|
|
1
|
+
import { BaseModel, GenericIdentifier, NonFunctionPropertyNames } from '../../generic/model';
|
|
2
2
|
import { Shops } from './enums/shops.enum';
|
|
3
|
+
import { KitProduct } from './kit-product';
|
|
3
4
|
import { ProductReview, ShopDescription, ShopPrice, ShopsDescription, ShopsPrice, Stock } from './types';
|
|
4
5
|
import { Variant } from './variant';
|
|
5
|
-
export declare class Product extends BaseModel<Product>
|
|
6
|
+
export declare class Product extends BaseModel<Product> {
|
|
6
7
|
id: string;
|
|
7
8
|
name: string;
|
|
8
9
|
slug: string;
|
|
@@ -21,8 +22,8 @@ export declare class Product extends BaseModel<Product> implements IdentifierFie
|
|
|
21
22
|
miniatures?: string[];
|
|
22
23
|
published: boolean;
|
|
23
24
|
publishedGlam: boolean;
|
|
24
|
-
createdAt
|
|
25
|
-
updatedAt
|
|
25
|
+
createdAt?: Date;
|
|
26
|
+
updatedAt?: Date;
|
|
26
27
|
brand: string;
|
|
27
28
|
tags?: string[];
|
|
28
29
|
type?: string;
|
|
@@ -30,6 +31,10 @@ export declare class Product extends BaseModel<Product> implements IdentifierFie
|
|
|
30
31
|
reviews?: ProductReview[];
|
|
31
32
|
variant?: Variant;
|
|
32
33
|
video?: string;
|
|
34
|
+
isKit?: boolean;
|
|
35
|
+
rate?: number;
|
|
36
|
+
kitProducts?: KitProduct[];
|
|
33
37
|
identifierFields(): NonFunctionPropertyNames<Product>[];
|
|
34
38
|
getInfoByShop(shop: Shops): ShopDescription & ShopPrice & Stock;
|
|
39
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
35
40
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Shops } from '../enums/shops.enum';
|
|
2
2
|
export declare type ProductReview = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
email: string;
|
|
6
|
-
location: string;
|
|
3
|
+
id?: string;
|
|
4
|
+
shop: Shops;
|
|
7
5
|
rate: number;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
author?: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
location?: string;
|
|
9
|
+
review?: string;
|
|
10
|
+
status?: boolean;
|
|
11
|
+
title?: string;
|
|
12
12
|
personId?: number;
|
|
13
13
|
points?: number;
|
|
14
14
|
orderId?: string;
|
|
15
|
+
createdAt?: Date;
|
|
16
|
+
updatedAt?: Date;
|
|
15
17
|
};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { BaseModel,
|
|
1
|
+
import { BaseModel, NonFunctionPropertyNames } from '../../generic/model';
|
|
2
2
|
import { ShopsPrice, Stock, VariantGrade } from './types';
|
|
3
|
-
export declare
|
|
3
|
+
export declare type ProductVariantIdentifiers = 'id' | 'productId';
|
|
4
|
+
export declare class Variant extends BaseModel<Variant, ProductVariantIdentifiers> {
|
|
4
5
|
id: string;
|
|
5
6
|
productId: string;
|
|
6
7
|
sku: string;
|
|
7
8
|
price: ShopsPrice;
|
|
8
9
|
EAN: string;
|
|
9
10
|
stock: Stock;
|
|
10
|
-
grade
|
|
11
|
+
grade?: VariantGrade[];
|
|
11
12
|
costPrice: number;
|
|
12
13
|
weight: number;
|
|
14
|
+
createdAt?: Date;
|
|
15
|
+
updatedAt?: Date;
|
|
13
16
|
identifierFields(): NonFunctionPropertyNames<Variant>[];
|
|
17
|
+
static get identifiersFields(): ProductVariantIdentifiers[];
|
|
14
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Category } from '../models/category';
|
|
2
|
-
import { CrudRepository } from '../../
|
|
2
|
+
import { CrudRepository } from '../../generic/repository/crud.repository';
|
|
3
3
|
import { Shops } from '../models/enums/shops.enum';
|
|
4
4
|
import { Product } from '../models';
|
|
5
5
|
export interface CategoryRepository extends CrudRepository<Category> {
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { CrudRepository } from '../../
|
|
2
|
-
import { Product,
|
|
1
|
+
import { CrudRepository } from '../../generic/repository/crud.repository';
|
|
2
|
+
import { Product, ProductReview } from '../models';
|
|
3
|
+
export declare type ReviewStatusParams = 'pending' | 'approved' | 'rejected';
|
|
4
|
+
export declare type ReviewWithProductData = ProductReview & {
|
|
5
|
+
productId: string;
|
|
6
|
+
productName: string;
|
|
7
|
+
productSku: string;
|
|
8
|
+
};
|
|
3
9
|
export interface ProductRepository extends CrudRepository<Product> {
|
|
4
|
-
getBySlug(slug: string
|
|
10
|
+
getBySlug(slug: string): Promise<Product>;
|
|
11
|
+
fetchReviews(status: ReviewStatusParams): Promise<ReviewWithProductData[]>;
|
|
5
12
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CrudRepository } from '../../
|
|
1
|
+
import { CrudRepository } from '../../generic/repository/crud.repository';
|
|
2
2
|
import { Product } from '../models';
|
|
3
3
|
export interface SubscriptionProductRepository extends CrudRepository<Product> {
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CrudRepository } from '../../
|
|
1
|
+
import { CrudRepository } from '../../generic/repository/crud.repository';
|
|
2
2
|
import { Variant } from '../models/variant';
|
|
3
3
|
export interface VariantRepository extends CrudRepository<Variant> {
|
|
4
4
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ModelBaseStructure, NonFunctionAndIdentifierProperties, NonFunctionProperties } from './types';
|
|
2
|
+
export declare type GenericIdentifier<T = 'id'> = T;
|
|
3
|
+
export declare class BaseModel<Model, Identifiers = GenericIdentifier> implements ModelBaseStructure<Model, Identifiers> {
|
|
4
|
+
get identifier(): NonFunctionAndIdentifierProperties<Model>;
|
|
5
|
+
get identifiersFields(): Identifiers[];
|
|
6
|
+
constructor(args?: Partial<Model>);
|
|
7
|
+
static toInstance<T extends ModelBaseStructure>(this: new () => T, data?: Partial<NonFunctionProperties<T>>): T;
|
|
8
|
+
static isModel<T extends ModelBaseStructure>(this: new () => T, value: any): value is T;
|
|
9
|
+
toPlain(): any;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { NonFunctionAndIdentifierPropertiesWithNoPartial } from './non-function-properties.type';
|
|
2
|
+
import { NonFunctionAndIdentifierPropertyNames } from './non-function-property-name.type';
|
|
3
|
+
export interface BaseModelBuilder<T, Identifiers = NonFunctionAndIdentifierPropertyNames<T>, P extends T & {
|
|
4
|
+
prototype: unknown;
|
|
5
|
+
} = T & {
|
|
6
|
+
prototype: unknown;
|
|
7
|
+
}> {
|
|
8
|
+
new (...args: any[]): T;
|
|
9
|
+
identifiersFields: Identifiers[];
|
|
10
|
+
prototype: {
|
|
11
|
+
[key in keyof P['prototype']]: P['prototype'][key];
|
|
12
|
+
};
|
|
13
|
+
toInstance(this: new () => T, data?: Partial<NonFunctionAndIdentifierPropertiesWithNoPartial<T>>): T;
|
|
14
|
+
isModel(model: any): model is T;
|
|
15
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ArrayElement, PropType } from '../../../../utils';
|
|
2
|
+
import { ModelBaseStructure } from './model-base-structure.type';
|
|
3
|
+
import { NonFunctionAndIdentifierPropertiesWithNoPartial } from './non-function-properties.type';
|
|
4
|
+
import { NonFunctionAndIdentifierPropertyNames } from './non-function-property-name.type';
|
|
5
|
+
export declare type IdentifierModel<Model extends ModelBaseStructure> = ArrayElement<PropType<Model, 'identifiersFields'>>;
|
|
6
|
+
export declare type IdentifiersModel<Model extends ModelBaseStructure> = Pick<NonFunctionAndIdentifierPropertiesWithNoPartial<Model>, Extract<NonFunctionAndIdentifierPropertyNames<Model>, IdentifierModel<Model>>>;
|
|
7
|
+
export declare type PartialIdentifiersModel<Model extends ModelBaseStructure> = Partial<Pick<NonFunctionAndIdentifierPropertiesWithNoPartial<Model>, Extract<NonFunctionAndIdentifierPropertyNames<Model>, IdentifierModel<Model>>>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PropType } from '../../../../utils';
|
|
2
|
+
import { IdentifierModel, PartialIdentifiersModel } from './identifier-model.type';
|
|
3
|
+
import { ModelBaseStructure } from './model-base-structure.type';
|
|
4
|
+
import { NonFunctionAndIdentifierPropertyNames, NonFunctionPropertyNames } from './non-function-property-name.type';
|
|
5
|
+
export declare type NonFunctionProperties<T> = Pick<Partial<T>, NonFunctionPropertyNames<T>>;
|
|
6
|
+
export declare type NonFunctionAndIdentifierProperties<T> = Pick<Partial<T>, NonFunctionAndIdentifierPropertyNames<T>>;
|
|
7
|
+
export declare type NonFunctionAndIdentifierPropertiesWithNoPartial<T> = Pick<T, NonFunctionAndIdentifierPropertyNames<T>>;
|
|
8
|
+
export declare type NonFunctionAndIdentifierPropertiesWithNoModels<T> = {
|
|
9
|
+
[key in keyof NonFunctionAndIdentifierPropertiesWithNoPartial<T>]: PropType<T, key> extends ModelBaseStructure ? NonFunctionAndIdentifierPropertiesWithNoIdentifiers<PropType<T, key>> & PartialIdentifiersModel<PropType<T, key>> : PropType<T, key> extends ModelBaseStructure[] ? PropType<T, key>[] : PropType<T, key>;
|
|
10
|
+
};
|
|
11
|
+
export declare type NonFunctionAndIdentifierPropertiesWithNoIdentifiers<T> = Omit<NonFunctionAndIdentifierPropertiesWithNoModels<T>, T extends ModelBaseStructure ? IdentifierModel<T> : never>;
|
|
12
|
+
export declare type NonFunctionAndIdentifierPropertiesWithPartialIdentifiers<T> = NonFunctionAndIdentifierPropertiesWithNoIdentifiers<T> & (T extends ModelBaseStructure ? PartialIdentifiersModel<T> : never);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare type NonFunctionPropertyNames<T, E extends keyof T = keyof T> = {
|
|
2
|
+
[K in E]: T[K] extends Function ? never : K;
|
|
3
|
+
}[E];
|
|
4
|
+
export declare type NonFunctionAndIdentifierPropertyNames<T> = NonFunctionPropertyNames<T, Exclude<keyof T, 'identifier' | 'identifiersFields'>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PropType } from '../../../utils';
|
|
2
|
+
import { ModelBaseStructure, NonFunctionAndIdentifierPropertiesWithNoIdentifiers, PartialIdentifiersModel } from '../model/types';
|
|
3
|
+
export declare type CreateRepositoryParams<Model extends ModelBaseStructure> = {
|
|
4
|
+
[key in keyof NonFunctionAndIdentifierPropertiesWithNoIdentifiers<Model>]: PropType<Model, key> extends ModelBaseStructure ? CreateRepositoryParams<PropType<Model, key>> : PropType<Model, key>;
|
|
5
|
+
} & PartialIdentifiersModel<Model>;
|
|
6
|
+
export interface CreateRepository<Model extends ModelBaseStructure, Params = CreateRepositoryParams<Model>> {
|
|
7
|
+
create(data: Params): Promise<Model>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ModelBaseStructure } from '../model/types/model-base-structure.type';
|
|
2
|
+
import { CreateRepository, CreateRepositoryParams } from './create.repository';
|
|
3
|
+
import { DeleteRepository, DeleteRepositoryParams } from './delete.repository';
|
|
4
|
+
import { ReadRepository, ReadRepositoryParams } from './read.repository';
|
|
5
|
+
import { UpdateRepository, UpdateRepositoryParams } from './update.repository';
|
|
6
|
+
export declare type CrudGenericParams = {
|
|
7
|
+
Create?: any;
|
|
8
|
+
Delete?: any;
|
|
9
|
+
Read?: ReadRepositoryParams<any>;
|
|
10
|
+
Update?: any;
|
|
11
|
+
};
|
|
12
|
+
export declare type CrudParams<Model extends ModelBaseStructure> = {
|
|
13
|
+
Create?: CreateRepositoryParams<Model>;
|
|
14
|
+
Delete?: DeleteRepositoryParams<Model>;
|
|
15
|
+
Read?: ReadRepositoryParams<Model>;
|
|
16
|
+
Update?: UpdateRepositoryParams<Model>;
|
|
17
|
+
};
|
|
18
|
+
export interface CrudRepository<Model extends ModelBaseStructure, Params extends CrudGenericParams = CrudParams<Model>> extends CreateRepository<Model, CreateRepositoryParams<Model> & Params['Create']>, DeleteRepository<Model, DeleteRepositoryParams<Model> & Params['Delete']>, ReadRepository<Model, ReadRepositoryParams<Model> & Params['Read']>, UpdateRepository<Model, UpdateRepositoryParams<Model> & Params['Update']> {
|
|
19
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IdentifiersModel, ModelBaseStructure } from '../model/types';
|
|
2
|
+
export declare type DeleteRepositoryParams<Model extends ModelBaseStructure> = {
|
|
3
|
+
[K in keyof IdentifiersModel<Model>]: Model[K] | null;
|
|
4
|
+
};
|
|
5
|
+
export interface DeleteRepository<Model extends ModelBaseStructure, Params = DeleteRepositoryParams<Model>> {
|
|
6
|
+
delete(identifiers: Params): Promise<void>;
|
|
7
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare enum Where {
|
|
2
2
|
EQUALS = "==",
|
|
3
|
-
NOTEQUALS = "!=",
|
|
4
3
|
GT = ">",
|
|
5
4
|
GTE = ">=",
|
|
6
5
|
IN = "in",
|
|
6
|
+
NOTIN = "not in",
|
|
7
7
|
LT = "<",
|
|
8
8
|
LTE = "<=",
|
|
9
|
-
LIKE = "like"
|
|
9
|
+
LIKE = "like",
|
|
10
|
+
NOTLIKE = "not like",
|
|
11
|
+
ISNULL = "is null",
|
|
12
|
+
ISNOTNULL = "is not null"
|
|
10
13
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModelBaseStructure, NonFunctionPropertyNames } from '../model/types';
|
|
2
|
+
import { RepositoryFindFielters, RepositoryFindResult, RepositoryLimitOptions, RepositoryOrderBy } from './types';
|
|
3
|
+
export declare type FindRepositoryParams<Model extends ModelBaseStructure> = {
|
|
4
|
+
filters?: RepositoryFindFielters<Model>;
|
|
5
|
+
fields?: NonFunctionPropertyNames<Model>[];
|
|
6
|
+
limits?: RepositoryLimitOptions<Model>;
|
|
7
|
+
orderBy?: RepositoryOrderBy<Model>;
|
|
8
|
+
};
|
|
9
|
+
export interface FindRepository<Model extends ModelBaseStructure, Params = FindRepositoryParams<Model>> {
|
|
10
|
+
find(options?: Params): Promise<RepositoryFindResult<Model>>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModelBaseStructure, NonFunctionAndIdentifierProperties } from '../model/types';
|
|
2
|
+
export declare type GetRepositoryParams<Model extends ModelBaseStructure> = NonFunctionAndIdentifierProperties<Model>;
|
|
3
|
+
export interface GetRepository<Model extends ModelBaseStructure, Params = GetRepositoryParams<Model>> {
|
|
4
|
+
get(identifiers: Params): Promise<Model>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelBaseStructure } from '../model/types';
|
|
2
|
+
import { FindRepository, FindRepositoryParams } from './find.repository';
|
|
3
|
+
import { GetRepository, GetRepositoryParams } from './get.repository';
|
|
4
|
+
declare type ReadGenericRepository = {
|
|
5
|
+
Find?: any;
|
|
6
|
+
Get?: any;
|
|
7
|
+
};
|
|
8
|
+
export declare type ReadRepositoryParams<Model extends ModelBaseStructure> = {
|
|
9
|
+
Find?: FindRepositoryParams<Model>;
|
|
10
|
+
Get?: GetRepositoryParams<Model>;
|
|
11
|
+
};
|
|
12
|
+
export interface ReadRepository<Model extends ModelBaseStructure, Params extends ReadGenericRepository = ReadRepositoryParams<Model>> extends FindRepository<Model, FindRepositoryParams<Model> & Params['Find']>, GetRepository<Model, GetRepositoryParams<Model> & Params['Get']> {
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PropType } from '../../../../utils';
|
|
2
|
+
import { ModelBaseStructure } from '../../model';
|
|
3
|
+
import { NonFunctionPropertyNames } from '../../model/types/non-function-property-name.type';
|
|
4
|
+
import { Where } from '../enums/where.enum';
|
|
5
|
+
export declare type RepositoryFindFieltersOptions<Model, FieldName extends keyof Model> = {
|
|
6
|
+
operator: Where;
|
|
7
|
+
value?: PropType<Model, FieldName> | PropType<Model, FieldName>[];
|
|
8
|
+
};
|
|
9
|
+
export declare type RepositoryFindField<Model, FieldName extends keyof Model> = RepositoryFindFieltersOptions<Model, FieldName> | RepositoryFindFieltersOptions<Model, FieldName>[] | Partial<PropType<Model, FieldName>>;
|
|
10
|
+
export declare type NestedRepositoryFindFieltersOptions<Model> = {
|
|
11
|
+
[key in NonFunctionPropertyNames<Model>]?: PropType<Model, key> extends ModelBaseStructure<PropType<Model, key>> ? NestedRepositoryFindFieltersOptions<PropType<Model, key>> : PropType<Required<Model>, key> extends any[] ? PropType<Required<Model>, key>[number] extends ModelBaseStructure ? NestedRepositoryFindFieltersOptions<PropType<Required<Model>, key>[number]> : PropType<Required<Model>, key>[number] extends Record<string, any> ? NestedRepositoryFindFieltersOptions<PropType<Required<Model>, key>[number]> : RepositoryFindField<Model, key> : PropType<Model, key> extends Record<string, any> ? NestedRepositoryFindFieltersOptions<Required<PropType<Model, key>>> : RepositoryFindField<Model, key>;
|
|
12
|
+
};
|
|
13
|
+
export declare type RepositoryFindFielters<Model extends ModelBaseStructure<Model>> = NestedRepositoryFindFieltersOptions<Model>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { NonFunctionPropertyNames } from '../../model/types/non-function-property-name.type';
|
|
1
|
+
import { ModelBaseStructure } from '../..';
|
|
3
2
|
import { PropType } from '../../../../utils';
|
|
3
|
+
import { NonFunctionPropertyNames } from '../../model/types/non-function-property-name.type';
|
|
4
4
|
export declare type UpdateOptionAction = 'removeField' | 'update' | 'merge' | 'remove' | 'null';
|
|
5
5
|
export declare type UpdateOptions<T> = {
|
|
6
6
|
action: UpdateOptionAction;
|
|
7
7
|
value?: T;
|
|
8
8
|
};
|
|
9
|
-
export declare type RepositoryUpdateParams<Model> = {
|
|
9
|
+
export declare type RepositoryUpdateParams<Model extends ModelBaseStructure> = {
|
|
10
10
|
[key in NonFunctionPropertyNames<Model>]?: UpdateOptions<PropType<Model, key>> | PropType<Model, key>;
|
|
11
|
-
}
|
|
11
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModelBaseStructure } from '../model/types/model-base-structure.type';
|
|
2
|
+
import { RepositoryUpdateParams } from './types';
|
|
3
|
+
export declare type UpdateRepositoryParams<Model extends ModelBaseStructure> = RepositoryUpdateParams<Model>;
|
|
4
|
+
export interface UpdateRepository<Model extends ModelBaseStructure, Params = RepositoryUpdateParams<Model>> {
|
|
5
|
+
update(data: Params): Promise<Model>;
|
|
6
|
+
}
|
package/domain/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseModel } from '../../
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
|
|
2
2
|
import { LocationGeometry } from './types/location-geometry.type';
|
|
3
|
-
export declare abstract class Address extends BaseModel<Address> {
|
|
3
|
+
export declare abstract class Address<Identifiers = GenericIdentifier> extends BaseModel<Address, Identifiers> {
|
|
4
4
|
default?: boolean;
|
|
5
5
|
recipient?: string;
|
|
6
6
|
zip?: string;
|
|
@@ -18,4 +18,5 @@ export declare abstract class Address extends BaseModel<Address> {
|
|
|
18
18
|
formattedAddress?: string;
|
|
19
19
|
placeId?: string;
|
|
20
20
|
geometry?: LocationGeometry;
|
|
21
|
+
static get identifiersFields(): string[];
|
|
21
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseModel,
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model';
|
|
2
2
|
import { Banner, Benefit, HomeDataStructure } from './types';
|
|
3
|
-
export declare class Home extends BaseModel<Home>
|
|
3
|
+
export declare class Home extends BaseModel<Home> {
|
|
4
4
|
benefitsSection: Benefit[];
|
|
5
5
|
blockBanners: Banner[];
|
|
6
6
|
blogBanner: Banner;
|
|
@@ -13,5 +13,5 @@ export declare class Home extends BaseModel<Home> implements IdentifierFields<Ho
|
|
|
13
13
|
verticalCarousels: string[];
|
|
14
14
|
id: string;
|
|
15
15
|
data: HomeDataStructure;
|
|
16
|
-
|
|
16
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
17
17
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseModel,
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model';
|
|
2
2
|
import { MenuNav } from './types/menu-nav.type';
|
|
3
|
-
export declare class ShopMenu extends BaseModel<ShopMenu>
|
|
3
|
+
export declare class ShopMenu extends BaseModel<ShopMenu> {
|
|
4
4
|
menuNav: MenuNav[];
|
|
5
5
|
id: string;
|
|
6
|
-
|
|
6
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CrudRepository } from '../../
|
|
1
|
+
import { CrudRepository } from '../../generic/repository/crud.repository';
|
|
2
2
|
import { ShopMenu } from '../models/shop-menu';
|
|
3
3
|
export interface ShopMenuRepository extends CrudRepository<ShopMenu> {
|
|
4
4
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { BaseModel } from '../../
|
|
2
|
-
import { IdentifierFields } from '../../general/model/identifier-fields';
|
|
3
|
-
import { NonFunctionPropertyNames } from '../../general/model/types';
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
|
|
4
2
|
import { Shops, Category } from '../../catalog/models';
|
|
5
|
-
export declare class Buy2Win extends BaseModel<Buy2Win>
|
|
3
|
+
export declare class Buy2Win extends BaseModel<Buy2Win> {
|
|
6
4
|
active: boolean;
|
|
7
5
|
cartValue: number;
|
|
8
6
|
createdAt: Date;
|
|
@@ -14,5 +12,5 @@ export declare class Buy2Win extends BaseModel<Buy2Win> implements IdentifierFie
|
|
|
14
12
|
startDate: Date;
|
|
15
13
|
updatedAt?: Date;
|
|
16
14
|
categories: Category[];
|
|
17
|
-
|
|
15
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
18
16
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { Address } from '../../location/models/address';
|
|
2
|
-
import { BaseModel } from '../../
|
|
3
|
-
import { IdentifierFields } from '../../general/model/identifier-fields';
|
|
4
|
-
import { NonFunctionPropertyNames } from '../../general/model/types';
|
|
2
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
|
|
5
3
|
import { User } from '../../users/models/user';
|
|
6
|
-
import {
|
|
4
|
+
import { Coupon } from './coupons/coupon';
|
|
7
5
|
import { LineItem } from './line-item';
|
|
8
6
|
import { ShippingMethod } from './shipping-method';
|
|
9
7
|
import { Shops } from '../../catalog/models/enums/shops.enum';
|
|
10
|
-
export declare class Checkout extends BaseModel<Checkout>
|
|
8
|
+
export declare class Checkout extends BaseModel<Checkout> {
|
|
11
9
|
id?: string;
|
|
12
10
|
paymentId?: string;
|
|
13
11
|
status?: string;
|
|
@@ -15,6 +13,8 @@ export declare class Checkout extends BaseModel<Checkout> implements IdentifierF
|
|
|
15
13
|
updatedAt?: Date;
|
|
16
14
|
completedAt?: Date;
|
|
17
15
|
discount?: number;
|
|
16
|
+
subTotalPrice?: number;
|
|
17
|
+
totalPrice?: number;
|
|
18
18
|
shop: Shops;
|
|
19
19
|
glampoints?: number;
|
|
20
20
|
lineItems?: LineItem[];
|
|
@@ -22,8 +22,6 @@ export declare class Checkout extends BaseModel<Checkout> implements IdentifierF
|
|
|
22
22
|
shippingAddress?: Address;
|
|
23
23
|
billingAddress?: Address;
|
|
24
24
|
shipping?: ShippingMethod;
|
|
25
|
-
coupon?:
|
|
26
|
-
get
|
|
27
|
-
get totalPrice(): number;
|
|
28
|
-
identifierFields(): NonFunctionPropertyNames<Checkout>[];
|
|
25
|
+
coupon?: Coupon;
|
|
26
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
29
27
|
}
|
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
import { BaseModel } from '../../../
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../../generic/model/base.model';
|
|
2
2
|
import { CheckoutTypes } from '../enums/checkout-types.enum';
|
|
3
|
-
import { IdentifierFields } from '../../../general/model/identifier-fields';
|
|
4
|
-
import { NonFunctionPropertyNames } from '../../../general/model/types';
|
|
5
3
|
import { Shops } from '../../../catalog/models/enums/shops.enum';
|
|
6
|
-
import {
|
|
7
|
-
export declare class Coupon
|
|
4
|
+
import { CouponTypes, Exclusivities } from './enums';
|
|
5
|
+
export declare class Coupon extends BaseModel<Coupon> {
|
|
8
6
|
id: string;
|
|
7
|
+
type: CouponTypes;
|
|
8
|
+
discount?: number;
|
|
9
|
+
user?: string;
|
|
10
|
+
recipient?: string;
|
|
11
|
+
store?: Shops;
|
|
12
|
+
campaign?: string;
|
|
9
13
|
name: string;
|
|
10
14
|
nickname: string;
|
|
11
|
-
|
|
12
|
-
beginAt: Date;
|
|
13
|
-
discountType: DiscountType;
|
|
14
|
-
discount?: number;
|
|
15
|
+
expiresIn?: Date;
|
|
15
16
|
useLimit?: number;
|
|
16
|
-
|
|
17
|
+
createdAt: Date;
|
|
18
|
+
updatedAt?: Date;
|
|
17
19
|
shopAvailability: Shops;
|
|
18
20
|
personId?: number;
|
|
19
21
|
influencerEmail?: string;
|
|
20
|
-
recipient?: string;
|
|
21
|
-
createdAt: Date;
|
|
22
|
-
updatedAt?: Date;
|
|
23
22
|
checkoutType: CheckoutTypes;
|
|
24
23
|
exclusivityType?: Exclusivities;
|
|
25
24
|
get isInfluencer(): boolean;
|
|
26
|
-
|
|
27
|
-
calculeDiscount(amount: number): number;
|
|
25
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
28
26
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Coupon } from './coupon';
|
|
2
|
+
import { CouponTypes, CouponSubtypes } from './enums';
|
|
3
|
+
export declare class FinancialCoupon extends Coupon {
|
|
4
|
+
type: CouponTypes;
|
|
5
|
+
subtype: CouponSubtypes;
|
|
6
|
+
plan?: string;
|
|
7
|
+
static isFinancialCoupon(coupon: Partial<FinancialCoupon>): coupon is FinancialCoupon;
|
|
8
|
+
static createCoupon(userId: string): FinancialCoupon;
|
|
9
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { BaseModel } from '../../
|
|
2
|
-
import { IdentifierFields } from '../../general/model/identifier-fields';
|
|
3
|
-
import { NonFunctionPropertyNames } from '../../general/model/types';
|
|
1
|
+
import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
|
|
4
2
|
import { PaymentBilling, PaymentCard, PaymentCustomer, PaymentItem, PaymentShipping } from './types';
|
|
5
|
-
export declare class Payment extends BaseModel<Payment>
|
|
3
|
+
export declare class Payment extends BaseModel<Payment> {
|
|
6
4
|
id: number;
|
|
7
5
|
object: string;
|
|
8
6
|
status: string;
|
|
@@ -65,5 +63,5 @@ export declare class Payment extends BaseModel<Payment> implements IdentifierFie
|
|
|
65
63
|
privateLabel: string;
|
|
66
64
|
pixQrCode: string;
|
|
67
65
|
pixExpirationDate: string;
|
|
68
|
-
|
|
66
|
+
static get identifiersFields(): GenericIdentifier[];
|
|
69
67
|
}
|