@infrab4a/connect-angular 4.3.0-beta.7 → 4.3.0-beta.8

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 (50) hide show
  1. package/esm2022/angular-connect.module.mjs +1 -1
  2. package/esm2022/angular-elastic-search.module.mjs +1 -1
  3. package/esm2022/angular-firebase-auth.module.mjs +1 -1
  4. package/esm2022/angular-firestore.module.mjs +1 -1
  5. package/esm2022/angular-hasura-graphql.module.mjs +1 -1
  6. package/esm2022/consts/category-structure.mjs +1 -1
  7. package/esm2022/consts/default-shop.const.mjs +1 -1
  8. package/esm2022/consts/es-config.const.mjs +1 -1
  9. package/esm2022/consts/firebase-const.mjs +1 -1
  10. package/esm2022/consts/hasura-options.const.mjs +1 -1
  11. package/esm2022/consts/index.mjs +1 -1
  12. package/esm2022/helpers/index.mjs +1 -1
  13. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +1 -1
  14. package/esm2022/index.mjs +1 -1
  15. package/esm2022/services/auth.service.mjs +1 -1
  16. package/esm2022/services/cart.service.mjs +1 -1
  17. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +1 -1
  18. package/esm2022/services/catalog/adapters/index.mjs +1 -1
  19. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +1 -1
  20. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
  21. package/esm2022/services/catalog/catalog.service.mjs +1 -1
  22. package/esm2022/services/catalog/category.service.mjs +1 -1
  23. package/esm2022/services/catalog/enums/index.mjs +1 -1
  24. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +1 -1
  25. package/esm2022/services/catalog/index.mjs +2 -1
  26. package/esm2022/services/catalog/models/category-with-tree.model.mjs +1 -1
  27. package/esm2022/services/catalog/models/index.mjs +1 -1
  28. package/esm2022/services/catalog/types/index.mjs +1 -1
  29. package/esm2022/services/catalog/types/product-sort.type.mjs +1 -1
  30. package/esm2022/services/catalog/wishlist.service.mjs +17 -8
  31. package/esm2022/services/checkout-subscription.service.mjs +1 -1
  32. package/esm2022/services/checkout.service.mjs +1 -1
  33. package/esm2022/services/coupon.service.mjs +1 -1
  34. package/esm2022/services/helpers/index.mjs +1 -1
  35. package/esm2022/services/helpers/util.helper.mjs +1 -1
  36. package/esm2022/services/home-shop.service.mjs +1 -1
  37. package/esm2022/services/index.mjs +1 -1
  38. package/esm2022/services/order.service.mjs +1 -1
  39. package/esm2022/services/shipping.service.mjs +1 -1
  40. package/esm2022/services/types/index.mjs +1 -1
  41. package/esm2022/services/types/required-checkout-data.type.mjs +1 -1
  42. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +1 -1
  43. package/esm2022/services/types/shipping-methods.type.mjs +1 -1
  44. package/esm2022/types/firebase-app-config.type.mjs +1 -1
  45. package/esm2022/types/index.mjs +1 -1
  46. package/fesm2022/infrab4a-connect-angular.mjs +75 -66
  47. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -1
  48. package/package.json +2 -2
  49. package/services/catalog/index.d.ts +1 -0
  50. package/services/catalog/wishlist.service.d.ts +21 -4
@@ -3,7 +3,7 @@ import { NgModule, InjectionToken, PLATFORM_ID, Injectable, Inject } from '@angu
3
3
  import * as i1$4 from '@angular/fire/app';
4
4
  import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
5
5
  import * as i1$2 from '@infrab4a/connect';
6
- import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
6
+ import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
7
7
  import * as i1 from '@angular/fire/auth';
8
8
  import { Auth, getAuth, provideAuth, getIdToken, authState } from '@angular/fire/auth';
9
9
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
@@ -1480,6 +1480,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1480
1480
  args: ['Buy2WinRepository']
1481
1481
  }] }] });
1482
1482
 
1483
+ class NewCategoryStructureAdapter {
1484
+ constructor(categoryRepository) {
1485
+ this.categoryRepository = categoryRepository;
1486
+ }
1487
+ async buildProductFilterByCategory(category) {
1488
+ const loadedCategory = await this.getCategory(category);
1489
+ if (loadedCategory.isCollection)
1490
+ return { id: { operator: Where.IN, value: loadedCategory.products } };
1491
+ const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
1492
+ return {
1493
+ category: {
1494
+ id: {
1495
+ operator: Where.IN,
1496
+ value: categoryIds,
1497
+ },
1498
+ },
1499
+ };
1500
+ }
1501
+ async getAllCategoriesIdFromCategory(category) {
1502
+ return this.categoryRepository
1503
+ .getChildren(+category.id)
1504
+ .then((categories) => categories.map((category) => category.id.toString()));
1505
+ }
1506
+ async getCategory(category) {
1507
+ return isNil(category.isCollection) || (category.isCollection && !category.products?.length)
1508
+ ? this.categoryRepository.get({ id: category.id })
1509
+ : category;
1510
+ }
1511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1512
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
1513
+ }
1514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1515
+ type: Injectable
1516
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1517
+ type: Inject,
1518
+ args: ['CategoryRepository']
1519
+ }] }] });
1520
+
1521
+ class OldCategoryStructureAdapter {
1522
+ constructor(categoryRepository) {
1523
+ this.categoryRepository = categoryRepository;
1524
+ }
1525
+ async buildProductFilterByCategory(category) {
1526
+ const productsIds = category.products?.length
1527
+ ? category.products
1528
+ : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1529
+ return { id: { operator: Where.IN, value: productsIds } };
1530
+ }
1531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1532
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
1533
+ }
1534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1535
+ type: Injectable
1536
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1537
+ type: Inject,
1538
+ args: ['CategoryRepository']
1539
+ }] }] });
1540
+
1483
1541
  class CatalogService {
1484
1542
  constructor(productRepository, categoryStructureAdapter, shop, productIndex) {
1485
1543
  this.productRepository = productRepository;
@@ -1709,71 +1767,14 @@ __decorate([
1709
1767
  __metadata("design:type", Array)
1710
1768
  ], CategoryWithTree.prototype, "children", void 0);
1711
1769
 
1712
- class NewCategoryStructureAdapter {
1713
- constructor(categoryRepository) {
1714
- this.categoryRepository = categoryRepository;
1715
- }
1716
- async buildProductFilterByCategory(category) {
1717
- const loadedCategory = await this.getCategory(category);
1718
- if (loadedCategory.isCollection)
1719
- return { id: { operator: Where.IN, value: loadedCategory.products } };
1720
- const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
1721
- return {
1722
- category: {
1723
- id: {
1724
- operator: Where.IN,
1725
- value: categoryIds,
1726
- },
1727
- },
1728
- };
1729
- }
1730
- async getAllCategoriesIdFromCategory(category) {
1731
- return this.categoryRepository
1732
- .getChildren(+category.id)
1733
- .then((categories) => categories.map((category) => category.id.toString()));
1734
- }
1735
- async getCategory(category) {
1736
- return isNil(category.isCollection) || (category.isCollection && !category.products?.length)
1737
- ? this.categoryRepository.get({ id: category.id })
1738
- : category;
1739
- }
1740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1741
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
1742
- }
1743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1744
- type: Injectable
1745
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1746
- type: Inject,
1747
- args: ['CategoryRepository']
1748
- }] }] });
1749
-
1750
- class OldCategoryStructureAdapter {
1751
- constructor(categoryRepository) {
1752
- this.categoryRepository = categoryRepository;
1753
- }
1754
- async buildProductFilterByCategory(category) {
1755
- const productsIds = category.products?.length
1756
- ? category.products
1757
- : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1758
- return { id: { operator: Where.IN, value: productsIds } };
1759
- }
1760
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1761
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
1762
- }
1763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1764
- type: Injectable
1765
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1766
- type: Inject,
1767
- args: ['CategoryRepository']
1768
- }] }] });
1769
-
1770
1770
  class WishlistService {
1771
- constructor(wishlistRepository, shop, productRepository, categoryFilterRepository, productIndex) {
1771
+ constructor(wishlistRepository, categoryRepository, shop, productRepository, categoryFilterRepository, productIndex) {
1772
1772
  this.wishlistRepository = wishlistRepository;
1773
+ this.categoryRepository = categoryRepository;
1773
1774
  this.shop = shop;
1774
1775
  const categoryStructureAdapter = new NewCategoryStructureAdapter(wishlistRepository);
1775
1776
  this.catalogService = new CatalogService(productRepository, categoryStructureAdapter, shop, productIndex);
1776
- this.categoryService = new CategoryService(productRepository, wishlistRepository, categoryFilterRepository, categoryStructureAdapter, shop);
1777
+ this.categoryService = new CategoryService(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop);
1777
1778
  }
1778
1779
  getCatalogService() {
1779
1780
  return this.catalogService;
@@ -1781,7 +1782,7 @@ class WishlistService {
1781
1782
  getCategoryService() {
1782
1783
  return this.categoryService;
1783
1784
  }
1784
- async create(personId, title, description, userFullName, userPhoto) {
1785
+ async create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1785
1786
  const data = {
1786
1787
  slug: '',
1787
1788
  name: title,
@@ -1797,11 +1798,14 @@ class WishlistService {
1797
1798
  personPhoto: userPhoto,
1798
1799
  brandCategory: false,
1799
1800
  published: true,
1801
+ theme,
1802
+ bannerUrl,
1800
1803
  };
1801
1804
  const newWishlist = await this.wishlistRepository.create(data);
1802
- return this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1805
+ await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1806
+ return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });
1803
1807
  }
1804
- update(id, title, description, userFullName, userPhoto) {
1808
+ update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1805
1809
  const data = {
1806
1810
  id,
1807
1811
  name: title,
@@ -1812,6 +1816,8 @@ class WishlistService {
1812
1816
  },
1813
1817
  personName: userFullName,
1814
1818
  personPhoto: userPhoto,
1819
+ theme,
1820
+ bannerUrl,
1815
1821
  };
1816
1822
  return this.wishlistRepository.update(data);
1817
1823
  }
@@ -1847,7 +1853,7 @@ class WishlistService {
1847
1853
  }
1848
1854
  return wishlist;
1849
1855
  }
1850
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1856
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: 'CategoryRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1851
1857
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService }); }
1852
1858
  }
1853
1859
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, decorators: [{
@@ -1855,6 +1861,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1855
1861
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1856
1862
  type: Inject,
1857
1863
  args: ['WishlistRepository']
1864
+ }] }, { type: undefined, decorators: [{
1865
+ type: Inject,
1866
+ args: ['CategoryRepository']
1858
1867
  }] }, { type: i1$2.Shops, decorators: [{
1859
1868
  type: Inject,
1860
1869
  args: [DEFAULT_SHOP]
@@ -2233,5 +2242,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
2233
2242
  * Generated bundle index. Do not edit.
2234
2243
  */
2235
2244
 
2236
- export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ProductSorts, ShippingService, UtilHelper, WishlistService };
2245
+ export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, NewCategoryStructureAdapter, OldCategoryStructureAdapter, OrderService, ProductSorts, ShippingService, UtilHelper, WishlistService };
2237
2246
  //# sourceMappingURL=infrab4a-connect-angular.mjs.map