@infrab4a/connect 3.6.0-beta.0 → 3.6.0-beta.1

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.
Files changed (44) hide show
  1. package/bundles/infrab4a-connect.umd.js +519 -18
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category-filter.d.ts +9 -0
  4. package/domain/catalog/models/category.d.ts +3 -2
  5. package/domain/catalog/models/filter-option.d.ts +10 -0
  6. package/domain/catalog/models/filter.d.ts +13 -0
  7. package/domain/catalog/models/index.d.ts +3 -0
  8. package/domain/catalog/models/product.d.ts +1 -0
  9. package/domain/catalog/models/types/index.d.ts +0 -1
  10. package/domain/catalog/repositories/category-filter.repository.d.ts +5 -0
  11. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -0
  12. package/domain/catalog/repositories/filter.repository.d.ts +4 -0
  13. package/domain/catalog/repositories/index.d.ts +3 -0
  14. package/esm2015/domain/catalog/models/category-filter.js +10 -0
  15. package/esm2015/domain/catalog/models/category.js +8 -1
  16. package/esm2015/domain/catalog/models/filter-option.js +10 -0
  17. package/esm2015/domain/catalog/models/filter.js +10 -0
  18. package/esm2015/domain/catalog/models/index.js +4 -1
  19. package/esm2015/domain/catalog/models/product.js +1 -1
  20. package/esm2015/domain/catalog/models/types/index.js +1 -2
  21. package/esm2015/domain/catalog/repositories/category-filter.repository.js +2 -0
  22. package/esm2015/domain/catalog/repositories/filter-option.repository.js +2 -0
  23. package/esm2015/domain/catalog/repositories/filter.repository.js +2 -0
  24. package/esm2015/domain/catalog/repositories/index.js +4 -1
  25. package/esm2015/infra/elasticsearch/indexes/products-index.js +3 -2
  26. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
  27. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +24 -0
  28. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +84 -4
  29. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +123 -0
  30. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +21 -0
  31. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -1
  32. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +2 -1
  33. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
  34. package/fesm2015/infrab4a-connect.js +277 -6
  35. package/fesm2015/infrab4a-connect.js.map +1 -1
  36. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -0
  37. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +4 -1
  38. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -0
  39. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -0
  40. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
  41. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
  44. package/esm2015/domain/catalog/models/types/category-filter.type.js +0 -2
@@ -750,6 +750,15 @@ class RecoveryPassword {
750
750
  }
751
751
  }
752
752
 
753
+ class Filter extends BaseModel {
754
+ identifierFields() {
755
+ return ['id'];
756
+ }
757
+ static get identifiersFields() {
758
+ return ['id'];
759
+ }
760
+ }
761
+
753
762
  class Category extends BaseModel {
754
763
  identifierFields() {
755
764
  return ['id'];
@@ -757,6 +766,19 @@ class Category extends BaseModel {
757
766
  static get identifiersFields() {
758
767
  return ['id'];
759
768
  }
769
+ }
770
+ __decorate([
771
+ Type(() => Filter),
772
+ __metadata("design:type", Array)
773
+ ], Category.prototype, "filters", void 0);
774
+
775
+ class CategoryFilter extends BaseModel {
776
+ // identifierFields(): NonFunctionPropertyNames<CategoryFilter>[] {
777
+ // return ['id']
778
+ // }
779
+ static get identifiersFields() {
780
+ return ['id', 'filterId', 'categoryId'];
781
+ }
760
782
  }
761
783
 
762
784
  var GenderDestination;
@@ -774,6 +796,15 @@ var Shops;
774
796
  Shops["ALL"] = "ALL";
775
797
  })(Shops || (Shops = {}));
776
798
 
799
+ class FilterOption extends BaseModel {
800
+ identifierFields() {
801
+ return ['id'];
802
+ }
803
+ static get identifiersFields() {
804
+ return ['id'];
805
+ }
806
+ }
807
+
777
808
  class Product extends BaseModel {
778
809
  identifierFields() {
779
810
  return ['id'];
@@ -1115,8 +1146,9 @@ class ProductsIndex {
1115
1146
  'stock',
1116
1147
  'weight',
1117
1148
  'tags',
1149
+ 'filters',
1118
1150
  'hasVariants',
1119
- 'type'
1151
+ 'type',
1120
1152
  ];
1121
1153
  const { hits } = yield this.adapter.query('products/_search', Object.assign({ _source: fields, query: {
1122
1154
  bool: {
@@ -2005,7 +2037,7 @@ class AttributeOptionHelper {
2005
2037
  }
2006
2038
  AttributeOptionHelper.FindByAttribute = (attributeName, fields) => {
2007
2039
  if (fields.includes(attributeName))
2008
- return { columnName: attributeName.toString(), attributeName };
2040
+ return { columnName: attributeName.toString(), attributeName, to: (value) => value, from: (value) => value };
2009
2041
  const field = fields.find((columnOption) => isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()));
2010
2042
  const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
2011
2043
  if (isNil(fieldOption))
@@ -2531,8 +2563,29 @@ class VariantHasuraGraphQL extends Variant {
2531
2563
  }
2532
2564
  }
2533
2565
 
2566
+ class CategoryFilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
2567
+ constructor(endpoint, authOptions) {
2568
+ super({
2569
+ tableName: 'category_filter',
2570
+ model: CategoryFilter,
2571
+ endpoint,
2572
+ authOptions,
2573
+ fields: ['id', { filterId: { columnName: 'filter_id' } }, { categoryId: { columnName: 'category_id' } }],
2574
+ });
2575
+ }
2576
+ deleteByCategoryAndFilter(categoryId, filterId) {
2577
+ return this.mutation('delete_category_filter', ['affected_rows'], {
2578
+ where: {
2579
+ type: 'category_filter_bool_exp',
2580
+ required: true,
2581
+ value: { category_id: { _eq: categoryId }, filter_id: { _eq: filterId } },
2582
+ },
2583
+ });
2584
+ }
2585
+ }
2586
+
2534
2587
  class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
2535
- constructor(endpoint, authOptions, productRepository) {
2588
+ constructor(endpoint, authOptions, productRepository, categoryFilterRepository) {
2536
2589
  super({
2537
2590
  tableName: 'category',
2538
2591
  model: Category,
@@ -2568,7 +2621,17 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
2568
2621
  },
2569
2622
  },
2570
2623
  },
2571
- 'filters',
2624
+ {
2625
+ filters: {
2626
+ columnName: 'filters',
2627
+ foreignKeyColumn: { filter_id: 'id' },
2628
+ fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
2629
+ bindPersistData: (value) => ({
2630
+ filters: { data: value.map((filter) => ({ filter_id: filter.id })) },
2631
+ }),
2632
+ from: (filters) => (filters === null || filters === void 0 ? void 0 : filters.map((filter) => filter === null || filter === void 0 ? void 0 : filter.filter)) || [],
2633
+ },
2634
+ },
2572
2635
  { createdAt: { columnName: 'created_at' } },
2573
2636
  { updatedAt: { columnName: 'updated_at' } },
2574
2637
  {
@@ -2593,6 +2656,7 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
2593
2656
  ],
2594
2657
  });
2595
2658
  this.productRepository = productRepository;
2659
+ this.categoryFilterRepository = categoryFilterRepository;
2596
2660
  }
2597
2661
  create(params) {
2598
2662
  const _super = Object.create(null, {
@@ -2619,12 +2683,13 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
2619
2683
  update: { get: () => super.update }
2620
2684
  });
2621
2685
  return __awaiter(this, void 0, void 0, function* () {
2622
- const { products, id: checkId, metadata } = params, data = __rest(params, ["products", "id", "metadata"]);
2686
+ const { products, id: checkId, metadata, filters } = params, data = __rest(params, ["products", "id", "metadata", "filters"]);
2623
2687
  const plainData = this.paramsToPlain({ id: checkId });
2624
2688
  const id = yield this.getId(plainData.id);
2625
2689
  const category = yield _super.update.call(this, Object.assign({ id }, data));
2626
2690
  category.products = products && (yield this.updateProducts(+id, { products }));
2627
2691
  category.metadata = metadata && (yield this.updateMetadata(+id, { metadata }));
2692
+ category.filters = filters && (yield this.updateFilters(+id, { filters }));
2628
2693
  return category;
2629
2694
  });
2630
2695
  }
@@ -2764,6 +2829,211 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
2764
2829
  return plainData.metadata;
2765
2830
  });
2766
2831
  }
2832
+ updateFilters(categoryId, { filters }) {
2833
+ return __awaiter(this, void 0, void 0, function* () {
2834
+ if ('action' in filters && filters.action === 'remove' && filters.value.length) {
2835
+ for (let i = 0; i < filters.value.length; i++) {
2836
+ yield this.categoryFilterRepository.deleteByCategoryAndFilter(categoryId, filters.value[i].id);
2837
+ }
2838
+ return [];
2839
+ }
2840
+ if ('action' in filters && filters.action === 'merge' && filters.value.length) {
2841
+ let filtersList = [];
2842
+ for (let i = 0; i < filters.value.length; i++) {
2843
+ try {
2844
+ const hasFilter = yield this.categoryFilterRepository
2845
+ .find({
2846
+ filters: {
2847
+ categoryId,
2848
+ filterId: filters.value[i].id,
2849
+ },
2850
+ })
2851
+ .then((data) => data.data.shift());
2852
+ if (hasFilter) {
2853
+ filtersList.push(hasFilter);
2854
+ }
2855
+ else {
2856
+ const newCategoryFilter = yield this.categoryFilterRepository.create({
2857
+ filterId: filters.value[i].id,
2858
+ categoryId,
2859
+ });
2860
+ filtersList.push(newCategoryFilter);
2861
+ }
2862
+ }
2863
+ catch (error) {
2864
+ console.log('catch error: ', error);
2865
+ }
2866
+ }
2867
+ return filtersList;
2868
+ }
2869
+ if (Array.isArray(filters) && filters.length) {
2870
+ let filtersList = [];
2871
+ for (let i = 0; i < filters.length; i++) {
2872
+ try {
2873
+ const hasFilter = yield this.categoryFilterRepository
2874
+ .find({
2875
+ filters: {
2876
+ categoryId,
2877
+ filterId: filters[i].id,
2878
+ },
2879
+ })
2880
+ .then((data) => data.data.shift());
2881
+ if (hasFilter) {
2882
+ filtersList.push(hasFilter);
2883
+ }
2884
+ else {
2885
+ const newCategoryFilter = yield this.categoryFilterRepository.create({
2886
+ filterId: filters[i].id,
2887
+ categoryId,
2888
+ });
2889
+ filtersList.push(newCategoryFilter);
2890
+ }
2891
+ }
2892
+ catch (error) {
2893
+ console.log('catch error: ', error);
2894
+ }
2895
+ }
2896
+ return filtersList;
2897
+ }
2898
+ });
2899
+ }
2900
+ }
2901
+
2902
+ class FilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
2903
+ constructor(endpoint, authOptions, filterOptionRepository, categoryFilterRepository) {
2904
+ super({
2905
+ tableName: 'filter',
2906
+ model: Filter,
2907
+ endpoint,
2908
+ authOptions,
2909
+ fields: [
2910
+ 'id',
2911
+ 'description',
2912
+ 'slug',
2913
+ 'enabled',
2914
+ { createdAt: { columnName: 'created_at' } },
2915
+ { updatedAt: { columnName: 'updated_at' } },
2916
+ {
2917
+ options: {
2918
+ columnName: 'options',
2919
+ foreignKeyColumn: { filterId: 'id' },
2920
+ fields: [
2921
+ 'id',
2922
+ { filterId: { columnName: 'filter_id' } },
2923
+ 'description',
2924
+ { createdAt: { columnName: 'created_at' } },
2925
+ { updatedAt: { columnName: 'updated_at' } },
2926
+ ],
2927
+ },
2928
+ },
2929
+ ],
2930
+ });
2931
+ this.filterOptionRepository = filterOptionRepository;
2932
+ this.categoryFilterRepository = categoryFilterRepository;
2933
+ }
2934
+ update(params) {
2935
+ const _super = Object.create(null, {
2936
+ update: { get: () => super.update }
2937
+ });
2938
+ return __awaiter(this, void 0, void 0, function* () {
2939
+ const { options } = params, data = __rest(params, ["options"]);
2940
+ const filter = yield _super.update.call(this, data);
2941
+ filter.options = yield this.updateOptions(+data.id, { options });
2942
+ return filter;
2943
+ });
2944
+ }
2945
+ updateOptions(filterId, { options }) {
2946
+ return __awaiter(this, void 0, void 0, function* () {
2947
+ if (!options)
2948
+ return [];
2949
+ if ('action' in options && options.action === 'remove' && options.value.length) {
2950
+ for (let i = 0; i < options.value.length; i++) {
2951
+ yield this.filterOptionRepository.delete({ id: options.value[i].id });
2952
+ }
2953
+ return [];
2954
+ }
2955
+ if ('action' in options && options.action === 'merge' && options.value.length) {
2956
+ let filterOptions = [];
2957
+ for (let i = 0; i < options.value.length; i++) {
2958
+ try {
2959
+ const hasFilter = yield this.filterOptionRepository.get({ id: options.value[i].id });
2960
+ if (hasFilter)
2961
+ filterOptions.push(hasFilter);
2962
+ }
2963
+ catch (error) {
2964
+ const newOption = yield this.filterOptionRepository.create(Object.assign(Object.assign({}, options.value[i]), { filterId }));
2965
+ filterOptions.push(newOption);
2966
+ }
2967
+ }
2968
+ return filterOptions;
2969
+ }
2970
+ if (Array.isArray(options) && options.length) {
2971
+ let filterOptions = [];
2972
+ for (let i = 0; i < options.length; i++) {
2973
+ try {
2974
+ const hasFilter = yield this.filterOptionRepository.get({ id: options[i].id });
2975
+ if (hasFilter)
2976
+ filterOptions.push(hasFilter);
2977
+ }
2978
+ catch (error) {
2979
+ const newOption = yield this.filterOptionRepository.create(Object.assign(Object.assign({}, options[i]), { filterId }));
2980
+ filterOptions.push(newOption);
2981
+ }
2982
+ }
2983
+ }
2984
+ return [];
2985
+ });
2986
+ }
2987
+ delete(params) {
2988
+ const _super = Object.create(null, {
2989
+ delete: { get: () => super.delete }
2990
+ });
2991
+ return __awaiter(this, void 0, void 0, function* () {
2992
+ const { options } = params, data = __rest(params, ["options"]);
2993
+ const categoryFilters = yield this.categoryFilterRepository
2994
+ .find({
2995
+ filters: {
2996
+ filterId: +data.id,
2997
+ },
2998
+ })
2999
+ .then((result) => result.data);
3000
+ if (categoryFilters.length)
3001
+ throw new Error('Erro: o filtro está associado a uma ou mais categoria(s)');
3002
+ yield this.deleteOptions(options);
3003
+ yield _super.delete.call(this, { id: +data.id });
3004
+ return;
3005
+ });
3006
+ }
3007
+ deleteOptions(options) {
3008
+ return __awaiter(this, void 0, void 0, function* () {
3009
+ for (let i = 0; i < options.length; i++) {
3010
+ try {
3011
+ yield this.filterOptionRepository.delete({ id: options[i].id });
3012
+ }
3013
+ catch (error) {
3014
+ console.log(error);
3015
+ }
3016
+ }
3017
+ });
3018
+ }
3019
+ }
3020
+
3021
+ class FilterOptionHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
3022
+ constructor(endpoint, authOptions) {
3023
+ super({
3024
+ tableName: 'filter_option',
3025
+ model: FilterOption,
3026
+ endpoint,
3027
+ authOptions,
3028
+ fields: [
3029
+ 'id',
3030
+ 'description',
3031
+ { filterId: { columnName: 'filter_id' } },
3032
+ { createdAt: { columnName: 'created_at' } },
3033
+ { updatedAt: { columnName: 'updated_at' } },
3034
+ ],
3035
+ });
3036
+ }
2767
3037
  }
2768
3038
 
2769
3039
  class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
@@ -2869,6 +3139,7 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
2869
3139
  'weight',
2870
3140
  'gender',
2871
3141
  { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
3142
+ { filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
2872
3143
  { isKit: { columnName: 'is_kit' } },
2873
3144
  { createdAt: { columnName: 'created_at' } },
2874
3145
  { updatedAt: { columnName: 'updated_at' } },
@@ -3337,5 +3608,5 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
3337
3608
  * Generated bundle index. Do not edit.
3338
3609
  */
3339
3610
 
3340
- export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, Category, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
3611
+ export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, Category, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
3341
3612
  //# sourceMappingURL=infrab4a-connect.js.map