@infrab4a/connect 4.4.0-beta.8 → 4.4.0-beta.9

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/index.cjs.js CHANGED
@@ -2602,21 +2602,37 @@ class ProductsIndex {
2602
2602
  _source: fields,
2603
2603
  query: {
2604
2604
  bool: {
2605
- must: {
2606
- multi_match: {
2607
- query: `${searchTerm}`,
2608
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
2609
- fuzziness: 2,
2605
+ should: [
2606
+ {
2607
+ multi_match: {
2608
+ query: `${searchTerm}`,
2609
+ fields: ['name', 'name.folded', 'name.search'],
2610
+ operator: 'AND',
2611
+ },
2610
2612
  },
2611
- },
2612
- should: {
2613
- match_phrase_prefix: {
2614
- 'name.search': {
2613
+ {
2614
+ match_phrase: {
2615
+ name: {
2616
+ query: `${searchTerm}`,
2617
+ boost: 2,
2618
+ },
2619
+ },
2620
+ },
2621
+ {
2622
+ match: {
2623
+ brand: {
2624
+ query: `${searchTerm}`,
2625
+ },
2626
+ },
2627
+ },
2628
+ {
2629
+ multi_match: {
2615
2630
  query: `${searchTerm}`,
2616
- slop: 10,
2631
+ fields: ['name', 'name.folded', 'name.search'],
2632
+ operator: 'OR',
2617
2633
  },
2618
2634
  },
2619
- },
2635
+ ],
2620
2636
  filter,
2621
2637
  },
2622
2638
  },
@@ -3621,6 +3637,22 @@ class ShopSettingsFirestoreRepository extends withCrudFirestore(withHelpers(with
3621
3637
  }
3622
3638
  }
3623
3639
 
3640
+ class ConnectBaseDocumentSnapshot {
3641
+ constructor(connectDocumentSnapshot) {
3642
+ this.connectDocumentSnapshot = connectDocumentSnapshot;
3643
+ this.id = connectDocumentSnapshot.id;
3644
+ }
3645
+ isNotEmpty() {
3646
+ return this.connectDocumentSnapshot.exists();
3647
+ }
3648
+ data(options) {
3649
+ return this.connectDocumentSnapshot.data(options);
3650
+ }
3651
+ get(fieldPath) {
3652
+ return this.connectDocumentSnapshot.get(fieldPath);
3653
+ }
3654
+ }
3655
+
3624
3656
  class ConnectDocumentService {
3625
3657
  constructor(path, firestore$1) {
3626
3658
  this.path = path;
@@ -3633,7 +3665,7 @@ class ConnectDocumentService {
3633
3665
  });
3634
3666
  }
3635
3667
  async get() {
3636
- return await firestore.getDoc(this.reference);
3668
+ return new ConnectBaseDocumentSnapshot(await firestore.getDoc(this.reference));
3637
3669
  }
3638
3670
  getId() {
3639
3671
  return this.reference.id;
@@ -3652,7 +3684,7 @@ class ConnectDocumentService {
3652
3684
  withConverter(params) {
3653
3685
  this.reference = this.reference.withConverter({
3654
3686
  toFirestore: (data) => params.toFirestore(data),
3655
- fromFirestore: (snapshot, options) => params.fromFirestore(snapshot, options),
3687
+ fromFirestore: (snapshot, options) => params.fromFirestore(new ConnectBaseDocumentSnapshot(snapshot), options),
3656
3688
  });
3657
3689
  return this;
3658
3690
  }
@@ -3683,7 +3715,11 @@ class ConnectCollectionService {
3683
3715
  ...(this.statingAt ? [this.statingAt] : []),
3684
3716
  ...(this.startingAfter ? [this.startingAfter] : []),
3685
3717
  ];
3686
- return firestore.getDocs(firestore.query(this.reference, ...constraints));
3718
+ return firestore.getDocs(firestore.query(this.reference, ...constraints)).then((docs) => ({
3719
+ empty: docs.empty,
3720
+ size: docs.size,
3721
+ docs: docs.docs.map((doc) => new ConnectBaseDocumentSnapshot(doc)),
3722
+ }));
3687
3723
  }
3688
3724
  getDoc(id) {
3689
3725
  return new ConnectDocumentService(`${this.reference.path}/${id}`, this.firestore).withConverter(this.converter);
@@ -3713,11 +3749,11 @@ class ConnectCollectionService {
3713
3749
  return this;
3714
3750
  }
3715
3751
  withConverter(params) {
3716
- this.converter = {
3752
+ this.converter = params;
3753
+ this.reference = this.reference.withConverter({
3717
3754
  toFirestore: (data) => params.toFirestore(data),
3718
- fromFirestore: (snapshot, options) => params.fromFirestore(snapshot, options),
3719
- };
3720
- this.reference = this.reference.withConverter(this.converter);
3755
+ fromFirestore: (snapshot, options) => params.fromFirestore(new ConnectBaseDocumentSnapshot(snapshot), options),
3756
+ });
3721
3757
  return this;
3722
3758
  }
3723
3759
  async save(data, id) {
@@ -6007,6 +6043,7 @@ exports.CheckoutFirestoreRepository = CheckoutFirestoreRepository;
6007
6043
  exports.CheckoutSubscription = CheckoutSubscription;
6008
6044
  exports.CheckoutSubscriptionFirestoreRepository = CheckoutSubscriptionFirestoreRepository;
6009
6045
  exports.ClassNameHelper = ClassNameHelper;
6046
+ exports.ConnectBaseDocumentSnapshot = ConnectBaseDocumentSnapshot;
6010
6047
  exports.ConnectCollectionService = ConnectCollectionService;
6011
6048
  exports.ConnectDocumentService = ConnectDocumentService;
6012
6049
  exports.ConnectFirestoreService = ConnectFirestoreService;
package/index.esm.js CHANGED
@@ -2578,21 +2578,37 @@ class ProductsIndex {
2578
2578
  _source: fields,
2579
2579
  query: {
2580
2580
  bool: {
2581
- must: {
2582
- multi_match: {
2583
- query: `${searchTerm}`,
2584
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
2585
- fuzziness: 2,
2581
+ should: [
2582
+ {
2583
+ multi_match: {
2584
+ query: `${searchTerm}`,
2585
+ fields: ['name', 'name.folded', 'name.search'],
2586
+ operator: 'AND',
2587
+ },
2586
2588
  },
2587
- },
2588
- should: {
2589
- match_phrase_prefix: {
2590
- 'name.search': {
2589
+ {
2590
+ match_phrase: {
2591
+ name: {
2592
+ query: `${searchTerm}`,
2593
+ boost: 2,
2594
+ },
2595
+ },
2596
+ },
2597
+ {
2598
+ match: {
2599
+ brand: {
2600
+ query: `${searchTerm}`,
2601
+ },
2602
+ },
2603
+ },
2604
+ {
2605
+ multi_match: {
2591
2606
  query: `${searchTerm}`,
2592
- slop: 10,
2607
+ fields: ['name', 'name.folded', 'name.search'],
2608
+ operator: 'OR',
2593
2609
  },
2594
2610
  },
2595
- },
2611
+ ],
2596
2612
  filter,
2597
2613
  },
2598
2614
  },
@@ -3597,6 +3613,22 @@ class ShopSettingsFirestoreRepository extends withCrudFirestore(withHelpers(with
3597
3613
  }
3598
3614
  }
3599
3615
 
3616
+ class ConnectBaseDocumentSnapshot {
3617
+ constructor(connectDocumentSnapshot) {
3618
+ this.connectDocumentSnapshot = connectDocumentSnapshot;
3619
+ this.id = connectDocumentSnapshot.id;
3620
+ }
3621
+ isNotEmpty() {
3622
+ return this.connectDocumentSnapshot.exists();
3623
+ }
3624
+ data(options) {
3625
+ return this.connectDocumentSnapshot.data(options);
3626
+ }
3627
+ get(fieldPath) {
3628
+ return this.connectDocumentSnapshot.get(fieldPath);
3629
+ }
3630
+ }
3631
+
3600
3632
  class ConnectDocumentService {
3601
3633
  constructor(path, firestore) {
3602
3634
  this.path = path;
@@ -3609,7 +3641,7 @@ class ConnectDocumentService {
3609
3641
  });
3610
3642
  }
3611
3643
  async get() {
3612
- return await getDoc(this.reference);
3644
+ return new ConnectBaseDocumentSnapshot(await getDoc(this.reference));
3613
3645
  }
3614
3646
  getId() {
3615
3647
  return this.reference.id;
@@ -3628,7 +3660,7 @@ class ConnectDocumentService {
3628
3660
  withConverter(params) {
3629
3661
  this.reference = this.reference.withConverter({
3630
3662
  toFirestore: (data) => params.toFirestore(data),
3631
- fromFirestore: (snapshot, options) => params.fromFirestore(snapshot, options),
3663
+ fromFirestore: (snapshot, options) => params.fromFirestore(new ConnectBaseDocumentSnapshot(snapshot), options),
3632
3664
  });
3633
3665
  return this;
3634
3666
  }
@@ -3659,7 +3691,11 @@ class ConnectCollectionService {
3659
3691
  ...(this.statingAt ? [this.statingAt] : []),
3660
3692
  ...(this.startingAfter ? [this.startingAfter] : []),
3661
3693
  ];
3662
- return getDocs(query(this.reference, ...constraints));
3694
+ return getDocs(query(this.reference, ...constraints)).then((docs) => ({
3695
+ empty: docs.empty,
3696
+ size: docs.size,
3697
+ docs: docs.docs.map((doc) => new ConnectBaseDocumentSnapshot(doc)),
3698
+ }));
3663
3699
  }
3664
3700
  getDoc(id) {
3665
3701
  return new ConnectDocumentService(`${this.reference.path}/${id}`, this.firestore).withConverter(this.converter);
@@ -3689,11 +3725,11 @@ class ConnectCollectionService {
3689
3725
  return this;
3690
3726
  }
3691
3727
  withConverter(params) {
3692
- this.converter = {
3728
+ this.converter = params;
3729
+ this.reference = this.reference.withConverter({
3693
3730
  toFirestore: (data) => params.toFirestore(data),
3694
- fromFirestore: (snapshot, options) => params.fromFirestore(snapshot, options),
3695
- };
3696
- this.reference = this.reference.withConverter(this.converter);
3731
+ fromFirestore: (snapshot, options) => params.fromFirestore(new ConnectBaseDocumentSnapshot(snapshot), options),
3732
+ });
3697
3733
  return this;
3698
3734
  }
3699
3735
  async save(data, id) {
@@ -5838,4 +5874,4 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
5838
5874
  }
5839
5875
  }
5840
5876
 
5841
- export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, Campaign, CampaignBanner, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryCollectionChildren, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, ClassNameHelper, ConnectCollectionService, ConnectDocumentService, ConnectFirestoreService, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, Debug, DebugDecoratorHelper, DebugHelper, DebugNamespaces, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FirebaseFileUploaderService, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, Log, Logger, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Plans, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductReviews, ProductReviewsHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, ReflectHelper, Register, RegisterFirebaseAuthService, RequiredArgumentError, RoundProductPricesHelper, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopPageName, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionMaterialization, SubscriptionMaterializationFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionSummary, SubscriptionSummaryFirestoreRepository, Trace, UnauthorizedError, UpdateOptionActions, UpdateUserImage, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, Wishlist, WishlistHasuraGraphQLRepository, is, isDebuggable, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
5877
+ export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, Campaign, CampaignBanner, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryCollectionChildren, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, ClassNameHelper, ConnectBaseDocumentSnapshot, ConnectCollectionService, ConnectDocumentService, ConnectFirestoreService, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, Debug, DebugDecoratorHelper, DebugHelper, DebugNamespaces, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FirebaseFileUploaderService, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, Log, Logger, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Plans, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductReviews, ProductReviewsHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, ReflectHelper, Register, RegisterFirebaseAuthService, RequiredArgumentError, RoundProductPricesHelper, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopPageName, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionMaterialization, SubscriptionMaterializationFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionSummary, SubscriptionSummaryFirestoreRepository, Trace, UnauthorizedError, UpdateOptionActions, UpdateUserImage, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, Wishlist, WishlistHasuraGraphQLRepository, is, isDebuggable, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "4.4.0-beta.8",
3
+ "version": "4.4.0-beta.9",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,5 +9,6 @@ export declare class ShopSettings extends BaseModel<ShopSettings> {
9
9
  descriptionMeta?: string;
10
10
  titleMeta?: string;
11
11
  imageMeta?: string;
12
+ hasMultiples?: boolean;
12
13
  static get identifiersFields(): GenericIdentifier[];
13
14
  }
@@ -11,6 +11,7 @@ export declare class CheckoutSubscription extends BaseModel<CheckoutSubscription
11
11
  userId?: string;
12
12
  discount?: number;
13
13
  subTotalPrice?: number;
14
+ shippingPrice?: number;
14
15
  totalPrice?: number;
15
16
  shippingAddress: UserAddress;
16
17
  billingAddress?: UserAddress;
@@ -2,3 +2,4 @@ export * from './mixins';
2
2
  export * from './repositories';
3
3
  export * from './services';
4
4
  export * from './types';
5
+ export * from './vo';
@@ -26,7 +26,7 @@ export declare class ConnectCollectionService<T extends ConnectDocumentData> imp
26
26
  fromStartAfter(startingAt: ConnectDocumentReference<T>): ConnectCollectionReference<T>;
27
27
  withConverter(params: {
28
28
  toFirestore: (data: T) => ConnectDocumentData<T>;
29
- fromFirestore: (snapshot: ConnectDocumentSnapshot, options?: ConnectSnapshotOptions) => T;
29
+ fromFirestore: (snapshot: ConnectDocumentSnapshot<T>, options?: ConnectSnapshotOptions) => T;
30
30
  }): ConnectCollectionReference<T>;
31
31
  private save;
32
32
  }
@@ -3,7 +3,7 @@ export type ConnectSnapshotOptions = {
3
3
  serverTimestamps?: 'estimate' | 'previous' | 'none';
4
4
  };
5
5
  export type ConnectDocumentSnapshot<T extends ConnectDocumentData = ConnectDocumentData> = {
6
- exists(): boolean;
6
+ isNotEmpty(): boolean;
7
7
  data(options?: ConnectSnapshotOptions): T;
8
8
  get(fieldPath: string): any;
9
9
  id: string;
@@ -0,0 +1,10 @@
1
+ import { DocumentSnapshot } from 'firebase/firestore';
2
+ import { ConnectDocumentData, ConnectDocumentSnapshot, ConnectSnapshotOptions } from '../types';
3
+ export declare class ConnectBaseDocumentSnapshot<T extends ConnectDocumentData = ConnectDocumentData> implements ConnectDocumentSnapshot<T> {
4
+ private readonly connectDocumentSnapshot;
5
+ id: string;
6
+ constructor(connectDocumentSnapshot: DocumentSnapshot<T>);
7
+ isNotEmpty(): boolean;
8
+ data(options?: ConnectSnapshotOptions): T;
9
+ get(fieldPath: string): any;
10
+ }
@@ -0,0 +1 @@
1
+ export * from './connectBaseDocumentSnapshot.vo';
package/teste2.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};