@infrab4a/connect-angular 5.0.0-beta.8 → 5.0.0-beta.90

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 (77) hide show
  1. package/angular-connect.module.d.ts +17 -9
  2. package/angular-firestore.module.d.ts +1 -2
  3. package/angular-hasura-graphql.module.d.ts +1 -1
  4. package/angular-vertex-search.module.d.ts +9 -0
  5. package/consts/firebase-const.d.ts +1 -0
  6. package/consts/index.d.ts +2 -0
  7. package/consts/persistence.const.d.ts +1 -0
  8. package/consts/vertex-config.const.d.ts +1 -0
  9. package/esm2022/angular-connect.module.mjs +87 -13
  10. package/esm2022/angular-elastic-search.module.mjs +1 -1
  11. package/esm2022/angular-firebase-auth.module.mjs +30 -4
  12. package/esm2022/angular-firestore.module.mjs +53 -28
  13. package/esm2022/angular-hasura-graphql.module.mjs +74 -8
  14. package/esm2022/angular-vertex-search.module.mjs +34 -0
  15. package/esm2022/consts/category-structure.mjs +1 -1
  16. package/esm2022/consts/default-shop.const.mjs +1 -1
  17. package/esm2022/consts/es-config.const.mjs +1 -1
  18. package/esm2022/consts/firebase-const.mjs +2 -1
  19. package/esm2022/consts/hasura-options.const.mjs +1 -1
  20. package/esm2022/consts/index.mjs +3 -1
  21. package/esm2022/consts/persistence.const.mjs +2 -0
  22. package/esm2022/consts/storage-base-url.const.mjs +1 -1
  23. package/esm2022/consts/vertex-config.const.mjs +2 -0
  24. package/esm2022/helpers/index.mjs +1 -1
  25. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +1 -1
  26. package/esm2022/index.mjs +2 -1
  27. package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
  28. package/esm2022/persistence/data-persistence.mjs +2 -0
  29. package/esm2022/persistence/index.mjs +3 -0
  30. package/esm2022/services/auth.service.mjs +1 -1
  31. package/esm2022/services/cart.service.mjs +42 -237
  32. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +1 -1
  33. package/esm2022/services/catalog/adapters/index.mjs +1 -1
  34. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +6 -4
  35. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
  36. package/esm2022/services/catalog/catalog.service.mjs +158 -48
  37. package/esm2022/services/catalog/category.service.mjs +4 -4
  38. package/esm2022/services/catalog/enums/index.mjs +1 -1
  39. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +1 -1
  40. package/esm2022/services/catalog/index.mjs +1 -1
  41. package/esm2022/services/catalog/models/category-with-tree.model.mjs +1 -1
  42. package/esm2022/services/catalog/models/index.mjs +1 -1
  43. package/esm2022/services/catalog/types/index.mjs +1 -1
  44. package/esm2022/services/catalog/types/product-sort.type.mjs +1 -1
  45. package/esm2022/services/catalog/wishlist.service.mjs +142 -22
  46. package/esm2022/services/checkout-subscription.service.mjs +18 -21
  47. package/esm2022/services/checkout.service.mjs +78 -27
  48. package/esm2022/services/coupon.service.mjs +38 -45
  49. package/esm2022/services/helpers/index.mjs +1 -1
  50. package/esm2022/services/helpers/util.helper.mjs +1 -1
  51. package/esm2022/services/home-shop.service.mjs +4 -4
  52. package/esm2022/services/index.mjs +1 -2
  53. package/esm2022/services/order.service.mjs +1 -1
  54. package/esm2022/services/types/index.mjs +1 -1
  55. package/esm2022/services/types/required-checkout-data.type.mjs +1 -1
  56. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +1 -1
  57. package/esm2022/types/firebase-app-config.type.mjs +1 -1
  58. package/esm2022/types/index.mjs +1 -1
  59. package/fesm2022/infrab4a-connect-angular.mjs +953 -719
  60. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -1
  61. package/index.d.ts +1 -0
  62. package/package.json +6 -6
  63. package/persistence/cookie-data-persistence.d.ts +10 -0
  64. package/persistence/data-persistence.d.ts +6 -0
  65. package/persistence/index.d.ts +2 -0
  66. package/services/cart.service.d.ts +8 -19
  67. package/services/catalog/catalog.service.d.ts +11 -4
  68. package/services/catalog/category.service.d.ts +6 -1
  69. package/services/catalog/wishlist.service.d.ts +16 -4
  70. package/services/checkout-subscription.service.d.ts +5 -4
  71. package/services/checkout.service.d.ts +18 -7
  72. package/services/coupon.service.d.ts +0 -2
  73. package/services/index.d.ts +0 -1
  74. package/esm2022/services/shipping.service.mjs +0 -96
  75. package/esm2022/services/types/shipping-methods.type.mjs +0 -2
  76. package/services/shipping.service.d.ts +0 -19
  77. package/services/types/shipping-methods.type.d.ts +0 -12
package/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from './angular-connect.module';
2
2
  export * from './angular-firebase-auth.module';
3
3
  export * from './angular-firestore.module';
4
4
  export * from './angular-hasura-graphql.module';
5
+ export * from './persistence';
5
6
  export * from './services';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect-angular",
3
- "version": "5.0.0-beta.8",
3
+ "version": "5.0.0-beta.90",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,10 +9,10 @@
9
9
  "url": "https://github.com/B4AGroup/b4a-firebase-libs"
10
10
  },
11
11
  "peerDependencies": {
12
- "@angular/common": "^17.0.0",
13
- "@angular/core": "^17.0.0",
14
- "@angular/fire": "^17.0.0-next.0",
15
- "@infrab4a/connect": "4.3.6-beta.1",
12
+ "@angular/common": "17.2.3",
13
+ "@angular/core": "17.2.3",
14
+ "@angular/fire": "17.0.1",
15
+ "@infrab4a/connect": "4.23.1-beta.6",
16
16
  "js-cookie": "^3.0.1",
17
17
  "rxjs": "^7.8.1"
18
18
  },
@@ -34,4 +34,4 @@
34
34
  }
35
35
  },
36
36
  "sideEffects": false
37
- }
37
+ }
@@ -0,0 +1,10 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DataPersistence } from './data-persistence';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CookieDataPersistence implements DataPersistence {
5
+ get(key: string): Observable<string>;
6
+ remove(key: string): Observable<void>;
7
+ set(key: string, value: string): Observable<void>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CookieDataPersistence, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CookieDataPersistence>;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface DataPersistence {
3
+ get(key: string): Observable<string>;
4
+ remove(key: string): Observable<void>;
5
+ set(key: string, value: string): Observable<void>;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './cookie-data-persistence';
2
+ export * from './data-persistence';
@@ -1,4 +1,6 @@
1
- import { Buy2WinFirestoreRepository, CategoryRepository, LineItem, ProductRepository, Shops, User, VariantRepository } from '@infrab4a/connect';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { FirebaseOptions } from '@angular/fire/app';
3
+ import { LineItem, Shops, User } from '@infrab4a/connect';
2
4
  import { Observable } from 'rxjs';
3
5
  import { AuthService } from './auth.service';
4
6
  import { CheckoutService } from './checkout.service';
@@ -11,32 +13,19 @@ export declare class CartService {
11
13
  private readonly authService;
12
14
  private readonly checkoutService;
13
15
  private readonly defaultShop;
14
- private readonly productRepository;
15
- private readonly categoryRepository;
16
- private readonly variantRepository;
17
- private readonly buy2WinRepository;
16
+ private readonly firebaseOptions;
17
+ private http;
18
18
  private cartSubject;
19
- constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, productRepository: ProductRepository, categoryRepository: CategoryRepository, variantRepository: VariantRepository, buy2WinRepository: Buy2WinFirestoreRepository);
19
+ private checkoutUrl;
20
+ constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, firebaseOptions: FirebaseOptions, http: HttpClient);
20
21
  addItem(item: LineItem, quantity?: number): Observable<Cart>;
21
22
  decreaseItem(item: LineItem): Observable<Cart>;
22
- getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
23
- /**
24
- * @deprecated The method should not be used
25
- */
26
- getVariantPriceDiscount(item: LineItem): Observable<number>;
27
23
  removeItem(item: LineItem): Observable<Cart>;
28
24
  updateUserCart(user: User): Observable<Cart>;
25
+ getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
29
26
  clearCart(): Observable<Cart>;
30
27
  private buildCartFromCheckout;
31
- private updateLineItemInCart;
32
28
  private generateCartObject;
33
- private buildLineItem;
34
- private roundPrice;
35
- private getProductData;
36
- private getProductPrice;
37
- private checkMaxStock;
38
- getGifts(): Observable<Cart>;
39
- private giftToLineItems;
40
29
  static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
41
30
  static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
42
31
  }
@@ -1,4 +1,4 @@
1
- import { Category, CategoryRepository, Product, ProductGender, ProductRepository, ProductsIndex, Shops } from '@infrab4a/connect';
1
+ import { Category, CategoryRepository, Product, ProductGender, ProductRepository, ProductSearchIndex, ProductStockNotificationRepository, Shops } from '@infrab4a/connect';
2
2
  import { CategoryStructureAdapter } from './adapters';
3
3
  import { ProductSort } from './types/product-sort.type';
4
4
  import * as i0 from "@angular/core";
@@ -63,23 +63,30 @@ type FetchProductsResponse = {
63
63
  };
64
64
  export declare class CatalogService<T extends Category = Category> {
65
65
  private readonly productRepository;
66
+ private readonly productStockNotificationRepository;
66
67
  private readonly categoryRepository;
67
68
  private readonly categoryStructureAdapter;
68
69
  private readonly shop;
69
- private readonly productIndex;
70
+ private readonly productSearch;
70
71
  private productsByTerm;
71
- constructor(productRepository: ProductRepository, categoryRepository: CategoryRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops, productIndex: ProductsIndex);
72
+ private brandsList;
73
+ constructor(productRepository: ProductRepository, productStockNotificationRepository: ProductStockNotificationRepository, categoryRepository: CategoryRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops, productSearch: ProductSearchIndex);
72
74
  fetchProducts(options: FetchProductsParams<T>): Promise<FetchProductsResponse>;
75
+ addCustomerToStockNotification(shop: Shops, productId: string, name: string, email: string): Promise<void>;
73
76
  private findCatalog;
74
77
  private buildMainFilter;
75
78
  private findCatalogAndSortByMostRevelant;
76
- private findCatalogIdsByElasticSearch;
79
+ private findCatalogAndSortByMostRevelantByTerm;
80
+ private findCatalogIdsBySearch;
81
+ private fetchBrandsOnly;
82
+ private setBrandsList;
77
83
  private buildFilterQuery;
78
84
  private buildSortQuery;
79
85
  private buildLimitQuery;
80
86
  private hasProfile;
81
87
  private hasTerm;
82
88
  private hasCategory;
89
+ private buildIndexBrands;
83
90
  static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService<any>, never>;
84
91
  static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService<any>>;
85
92
  }
@@ -1,6 +1,10 @@
1
1
  import { Category, CategoryFilterRepository, CategoryRepository, Filter, ProductGender, ProductRepository, Shops } from '@infrab4a/connect';
2
2
  import { CategoryStructureAdapter } from './adapters';
3
3
  import * as i0 from "@angular/core";
4
+ type FetchBrandsOptions = {
5
+ mainGender?: ProductGender;
6
+ shop?: Shops;
7
+ };
4
8
  export declare class CategoryService {
5
9
  private readonly productRepository;
6
10
  private readonly categoryRepository;
@@ -8,8 +12,9 @@ export declare class CategoryService {
8
12
  private readonly categoryStructureAdapter;
9
13
  private readonly shop;
10
14
  constructor(productRepository: ProductRepository, categoryRepository: CategoryRepository, categoryFilterRepository: CategoryFilterRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops);
11
- fetchBrands(category: Category, mainGender?: ProductGender): Promise<Category[]>;
15
+ fetchBrands(category: Category, options?: FetchBrandsOptions): Promise<Category[]>;
12
16
  fetchFilterOptions(category: Category): Promise<Filter[]>;
13
17
  static ɵfac: i0.ɵɵFactoryDeclaration<CategoryService, never>;
14
18
  static ɵprov: i0.ɵɵInjectableDeclaration<CategoryService>;
15
19
  }
20
+ export {};
@@ -1,38 +1,50 @@
1
- import { CategoryFilterRepository, CategoryRepository, ProductRepository, ProductsIndex, Shops, Wishlist, WishlistRepository } from '@infrab4a/connect';
1
+ import { CategoryFilterRepository, CategoryRepository, LogRepository, PersonType, ProductRepository, ProductSearchIndex, ProductStockNotificationRepository, Shops, Wishlist, WishlistRepository } from '@infrab4a/connect';
2
2
  import { CatalogService } from './catalog.service';
3
3
  import { CategoryService } from './category.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class WishlistService {
6
6
  private readonly wishlistRepository;
7
7
  private readonly shop;
8
+ productRepository: ProductRepository;
9
+ private readonly productSearch;
10
+ private readonly logRepository;
8
11
  private catalogService;
9
12
  private categoryService;
10
- constructor(wishlistRepository: WishlistRepository, shop: Shops, productRepository: ProductRepository, categoryFilterRepository: CategoryFilterRepository, categoryRepository: CategoryRepository, productIndex: ProductsIndex);
13
+ constructor(wishlistRepository: WishlistRepository, shop: Shops, productRepository: ProductRepository, categoryFilterRepository: CategoryFilterRepository, categoryRepository: CategoryRepository, productStockNotificationRepository: ProductStockNotificationRepository, productSearch: ProductSearchIndex, logRepository: LogRepository);
11
14
  getCatalogService(): CatalogService<import("@infrab4a/connect").Category>;
12
15
  getCategoryService(): CategoryService;
13
- create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }: {
16
+ create({ personId, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
14
17
  personId: string;
15
18
  title: string;
16
19
  description: string;
20
+ published: boolean;
17
21
  userFullName: string;
18
22
  userPhoto?: string;
19
23
  theme?: string;
20
24
  bannerUrl?: string;
25
+ personType?: PersonType;
26
+ personIsSubscriber?: boolean;
21
27
  }): Promise<Wishlist>;
22
- update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }: {
28
+ update({ id, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
23
29
  id: string;
24
30
  title: string;
25
31
  description: string;
32
+ published: boolean;
26
33
  userFullName: string;
27
34
  userPhoto?: string;
28
35
  theme?: string;
29
36
  bannerUrl?: string;
37
+ personType?: PersonType;
38
+ personIsSubscriber?: boolean;
30
39
  }): Promise<Wishlist>;
31
40
  delete(wishlistId: string): Promise<void>;
32
41
  getWishlistBySlug(slug: string): Promise<Wishlist>;
33
42
  getWishlistsByPerson(personId: string): Promise<Wishlist[]>;
34
43
  addProduct(wishlistId: string, productId: string): Promise<Wishlist>;
35
44
  removeProduct(wishlistId: string, productId: string): Promise<Wishlist>;
45
+ private findById;
46
+ private findProductById;
47
+ private createWishlistLog;
36
48
  static ɵfac: i0.ɵɵFactoryDeclaration<WishlistService, never>;
37
49
  static ɵprov: i0.ɵɵInjectableDeclaration<WishlistService>;
38
50
  }
@@ -1,18 +1,19 @@
1
- import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon, SubscriptionRepository } from '@infrab4a/connect';
1
+ import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon } from '@infrab4a/connect';
2
2
  import { Observable } from 'rxjs';
3
3
  import { RequiredCheckoutSubscriptionData } from './types';
4
+ import { DataPersistence } from '../persistence';
4
5
  import { CouponService } from './coupon.service';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class CheckoutSubscriptionService {
7
8
  private readonly checkoutSubscriptionRepository;
8
- private readonly subscriptionRepository;
9
+ private readonly dataPersistence;
9
10
  private readonly couponService;
10
- constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository, subscriptionRepository: SubscriptionRepository, couponService: CouponService);
11
+ constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository, dataPersistence: DataPersistence, couponService: CouponService);
11
12
  getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription>;
12
- private createCheckoutSubscription;
13
13
  clearCheckoutSubscriptionFromSession(): Observable<void>;
14
14
  checkCoupon(nickname: string, userEmail: string): Observable<Coupon>;
15
15
  calcDiscountSubscription(coupon: Coupon): Observable<number>;
16
+ private createCheckoutSubscription;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutSubscriptionService, never>;
17
18
  static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutSubscriptionService>;
18
19
  }
@@ -1,22 +1,33 @@
1
- import { Checkout, CheckoutRepository, CheckoutTypes, Coupon, OrderRepository, Shops, User, UserRepository } from '@infrab4a/connect';
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { FirebaseOptions } from '@angular/fire/app';
3
+ import { Checkout, CheckoutPayloadRequest, CheckoutRepository, CheckoutResponse, CheckoutStockValidation, CheckoutTypes, Coupon, ShippingMethodResponse, ShippingProductRequest, Shops, User, UserAddress, UserRepository } from '@infrab4a/connect';
2
4
  import { Observable } from 'rxjs';
3
- import { CouponService } from './coupon.service';
5
+ import { DataPersistence } from '../persistence';
4
6
  import { RequiredCheckoutData } from './types';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class CheckoutService {
7
- private readonly couponService;
8
9
  private readonly checkoutRepository;
9
- private readonly orderRepository;
10
10
  private readonly userRepository;
11
11
  private readonly defaultShop;
12
- constructor(couponService: CouponService, checkoutRepository: CheckoutRepository, orderRepository: OrderRepository, userRepository: UserRepository, defaultShop: Shops);
12
+ private readonly dataPersistence;
13
+ private readonly firebaseOptions;
14
+ private http;
15
+ private checkoutUrl;
16
+ constructor(checkoutRepository: CheckoutRepository, userRepository: UserRepository, defaultShop: Shops, dataPersistence: DataPersistence, firebaseOptions: FirebaseOptions, http: HttpClient);
13
17
  getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
14
18
  getUserByCheckout(checkoutId: string): Observable<User>;
15
19
  updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
16
20
  updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
17
21
  clearCheckoutFromSession(): Observable<void>;
18
- calcDiscount(coupon: Coupon): Observable<number>;
19
- checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
22
+ resetCheckoutValues(): Observable<Checkout>;
23
+ applyCouponDiscount(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
24
+ removeCouponDiscount(): Observable<Checkout>;
25
+ validateStockProducts(): Observable<CheckoutStockValidation>;
26
+ selectShippingAddress(address: UserAddress): Observable<Checkout>;
27
+ getAvailableShippingForProduct(productShipping: ShippingProductRequest): Observable<ShippingMethodResponse[]>;
28
+ getAvailableShippingForCheckout(): Observable<ShippingMethodResponse[]>;
29
+ selectShipping(option: string): Observable<Checkout>;
30
+ createOrder(checkoutPayload: CheckoutPayloadRequest, paymentProvider: string, applicationVersion: string): Observable<CheckoutResponse>;
20
31
  private createCheckout;
21
32
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
22
33
  static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
@@ -11,8 +11,6 @@ export declare class CouponService {
11
11
  private couponValidation;
12
12
  private couponRulesValidation;
13
13
  calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
14
- calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number>;
15
- private calcDiscountByType;
16
14
  private hasMinSubTotal;
17
15
  private hasProductCategories;
18
16
  private coupomUserValidation;
@@ -7,4 +7,3 @@ export * from './coupon.service';
7
7
  export * from './helpers';
8
8
  export * from './home-shop.service';
9
9
  export * from './order.service';
10
- export * from './shipping.service';
@@ -1,96 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Shops } from '@infrab4a/connect';
4
- import { combineLatest } from 'rxjs';
5
- import { map } from 'rxjs/operators';
6
- import { BACKEND_URL } from '../consts';
7
- import { HomeShopService } from './home-shop.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- import * as i2 from "./home-shop.service";
11
- export class ShippingService {
12
- constructor(http, apiUrl, homeService) {
13
- this.http = http;
14
- this.apiUrl = apiUrl;
15
- this.homeService = homeService;
16
- }
17
- getShippingMethods(shop, zip, weightGrams, totalPrice, personId, subscriptionPlan) {
18
- return combineLatest([
19
- this.homeService.getHomeData(),
20
- this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`),
21
- ]).pipe(map(([datas, shippingMethodsResponse]) => {
22
- let shippingMethods = shippingMethodsResponse.result;
23
- if (!shippingMethods.length)
24
- return [];
25
- shippingMethods = shippingMethods.map((shippingMethod) => {
26
- if (shippingMethod.ShippingCompanyName == 'Same Day EG')
27
- shippingMethod.ShippingCompanyName = 'Same Day';
28
- return shippingMethod;
29
- });
30
- const datasSameDayNotAvaliable = datas.sameDayNotAvaliable;
31
- if (this.isHolidays(datasSameDayNotAvaliable)) {
32
- shippingMethods = shippingMethods.filter((method) => method.serviceName !== 'Same Day');
33
- }
34
- if (totalPrice >= 200) {
35
- shippingMethods = shippingMethods.map((s) => {
36
- if (s.serviceName !== 'Same Day')
37
- return { ...s, totalPrice: 0 };
38
- else
39
- return s;
40
- });
41
- }
42
- if (shop == Shops.GLAMSHOP)
43
- return shippingMethods;
44
- if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
45
- shippingMethods = shippingMethods.map((s) => {
46
- if (s.serviceName == 'Same Day')
47
- return { ...s, totalPrice: s.totalPrice / 2 };
48
- else
49
- return { ...s, totalPrice: 0 };
50
- });
51
- }
52
- if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {
53
- shippingMethods = shippingMethods.map((s) => {
54
- return { ...s, totalPrice: s.totalPrice / 2 };
55
- });
56
- }
57
- return shippingMethods;
58
- }));
59
- }
60
- isFreeShippingBySubscription(shop, subscriptionPlan) {
61
- if (!subscriptionPlan)
62
- return false;
63
- if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT')
64
- return true;
65
- return false;
66
- }
67
- isHalfShippingBySubscription(shop, subscriptionPlan) {
68
- if (!subscriptionPlan)
69
- return false;
70
- if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {
71
- return true;
72
- }
73
- return false;
74
- }
75
- isHolidays(datas) {
76
- const today = new Date();
77
- for (const key in datas) {
78
- let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`);
79
- let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`);
80
- if (start > end)
81
- end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`);
82
- if (today >= start && today <= end)
83
- return true;
84
- }
85
- return false;
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: BACKEND_URL }, { token: i2.HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable }); }
88
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService }); }
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, decorators: [{
91
- type: Injectable
92
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
93
- type: Inject,
94
- args: [BACKEND_URL]
95
- }] }, { type: i2.HomeShopService }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFRLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBSXJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsSUFBZ0IsRUFDSyxNQUFjLEVBQ25DLFdBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNuQyxDQUFDO0lBRUcsa0JBQWtCLENBQ3ZCLElBQVksRUFDWixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsZ0JBQXlCO1FBRXpCLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0NBQXNDLFFBQVEsZUFBZSxHQUFHLGdCQUFnQixXQUFXLEVBQUUsQ0FDNUc7U0FDRixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFD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QUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFFeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFbEUsSUFBSSxLQUFLLEdBQUcsR0FBRztnQkFBRSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBRW5GLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksQ0FBQTtTQUNoRDtRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs4R0FsR1UsZUFBZSw0Q0FHaEIsV0FBVztrSEFIVixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFJTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEhvbWUsIFNob3BzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmltcG9ydCB7IEJBQ0tFTkRfVVJMIH0gZnJvbSAnLi4vY29uc3RzJ1xyXG5pbXBvcnQgeyBIb21lU2hvcFNlcnZpY2UgfSBmcm9tICcuL2hvbWUtc2hvcC5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcy9zaGlwcGluZy1tZXRob2RzLnR5cGUnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaGlwcGluZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdChCQUNLRU5EX1VSTCkgcHJpdmF0ZSBhcGlVcmw6IHN0cmluZyxcclxuICAgIHByaXZhdGUgaG9tZVNlcnZpY2U6IEhvbWVTaG9wU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBnZXRTaGlwcGluZ01ldGhvZHMoXHJcbiAgICBzaG9wOiBzdHJpbmcsXHJcbiAgICB6aXA6IHN0cmluZyxcclxuICAgIHdlaWdodEdyYW1zOiBudW1iZXIsXHJcbiAgICB0b3RhbFByaWNlOiBudW1iZXIsXHJcbiAgICBwZXJzb25JZDogc3RyaW5nLFxyXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPEFycmF5PFNoaXBwaW5nTWV0aG9kUmVzcG9uc2UgJiB7IFNoaXBwaW5nQ29tcGFueU5hbWU/OiBzdHJpbmcgfT4+IHtcclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5ob21lU2VydmljZS5nZXRIb21lRGF0YSgpLFxyXG4gICAgICB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICAgIGAke3RoaXMuYXBpVXJsfW9wZW4vY2hlY2tzaGlwcGluZ2NvbXBhbnk/cGVyc29uSWQ9JHtwZXJzb25JZH0mcG9zdGFsQ29kZT0ke3ppcH0md2VpZ2h0R3JhbXM9JHt3ZWlnaHRHcmFtc31gLFxyXG4gICAgICApLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbZGF0YXMsIHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlXTogW0hvbWUgJiBQYXJ0aWFsPHsgc2FtZURheU5vdEF2YWxpYWJsZTogYW55IH0+LCBhbnldKSA9PiB7XHJcbiAgICAgICAgbGV0IHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLnJlc3VsdCBhcyAoU2hpcHBpbmdNZXRob2RSZXNwb25zZSAmIHtcclxuICAgICAgICAgIFNoaXBwaW5nQ29tcGFueU5hbWU/OiBzdHJpbmdcclxuICAgICAgICB9KVtdXHJcblxyXG4gICAgICAgIGlmICghc2hpcHBpbmdNZXRob2RzLmxlbmd0aCkgcmV0dXJuIFtdXHJcblxyXG4gICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHNoaXBwaW5nTWV0aG9kKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2hpcHBpbmdNZXRob2QuU2hpcHBpbmdDb21wYW55TmFtZSA9PSAnU2FtZSBEYXkgRUcnKSBzaGlwcGluZ01ldGhvZC5TaGlwcGluZ0NvbXBhbnlOYW1lID0gJ1NhbWUgRGF5J1xyXG5cclxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZFxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGFzU2FtZURheU5vdEF2YWxpYWJsZSA9IGRhdGFzLnNhbWVEYXlOb3RBdmFsaWFibGVcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNIb2xpZGF5cyhkYXRhc1NhbWVEYXlOb3RBdmFsaWFibGUpKSB7XHJcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMuZmlsdGVyKChtZXRob2QpID0+IG1ldGhvZC5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0b3RhbFByaWNlID49IDIwMCkge1xyXG4gICAgICAgICAgc2hpcHBpbmdNZXRob2RzID0gc2hpcHBpbmdNZXRob2RzLm1hcCgocykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocy5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogMCB9XHJcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHNcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCkgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0ZyZWVTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3AsIHN1YnNjcmlwdGlvblBsYW4pKSB7XHJcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHMgPSBzaGlwcGluZ01ldGhvZHMubWFwKChzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzLnNlcnZpY2VOYW1lID09ICdTYW1lIERheScpIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IHMudG90YWxQcmljZSAvIDIgfVxyXG4gICAgICAgICAgICBlbHNlIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IDAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzSGFsZlNoaXBwaW5nQnlTdWJzY3JpcHRpb24oc2hvcCwgc3Vic2NyaXB0aW9uUGxhbikpIHtcclxuICAgICAgICAgIHNoaXBwaW5nTWV0aG9kcyA9IHNoaXBwaW5nTWV0aG9kcy5tYXAoKHMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlIC8gMiB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1xyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wOiBzdHJpbmcsIHN1YnNjcmlwdGlvblBsYW46IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFzdWJzY3JpcHRpb25QbGFuKSByZXR1cm4gZmFsc2VcclxuXHJcbiAgICBpZiAoc2hvcCA9PSBTaG9wcy5NRU5TTUFSS0VUICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1NFTEVDVCcpIHJldHVybiB0cnVlXHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSGFsZlNoaXBwaW5nQnlTdWJzY3JpcHRpb24oc2hvcDogc3RyaW5nLCBzdWJzY3JpcHRpb25QbGFuOiBzdHJpbmcpIHtcclxuICAgIGlmICghc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXHJcblxyXG4gICAgaWYgKHNob3AgPT0gU2hvcHMuTUVOU01BUktFVCAmJiBzdWJzY3JpcHRpb25QbGFuID09ICdQUklNRScpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNIb2xpZGF5cyhkYXRhczogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKClcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhcykge1xyXG4gICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpfS0ke2RhdGFzW2tleV0uYmVnaW5EYXRlfWApXHJcbiAgICAgIGxldCBlbmQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpfS0ke2RhdGFzW2tleV0uZW5kRGF0ZX1gKVxyXG5cclxuICAgICAgaWYgKHN0YXJ0ID4gZW5kKSBlbmQgPSBuZXcgRGF0ZShgJHt0b2RheS5nZXRGdWxsWWVhcigpICsgMX0tJHtkYXRhc1trZXldLmVuZERhdGV9YClcclxuXHJcbiAgICAgIGlmICh0b2RheSA+PSBzdGFydCAmJiB0b2RheSA8PSBlbmQpIHJldHVybiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctbWV0aG9kcy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9zaGlwcGluZy1tZXRob2RzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdNZXRob2RSZXNwb25zZSB7XHJcbiAgZGF5c1RvRGVsaXZlcnk6IG51bWJlcjtcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgbWF4RGVsaXZlcnlEYXRlOiBzdHJpbmc7XHJcbiAgbWluRGVsaXZlcnlEYXRlOiBzdHJpbmc7XHJcbiAgc2VydmljZUNvZGU6IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xyXG4gIHRvdGFsUHJpY2U6IG51bWJlcjtcclxuICBhZGRpdGlvbmFsRGVzY3JpcHRpb246IHN0cmluZztcclxuICBjbnBqOiBzdHJpbmc7XHJcbn0iXX0=
@@ -1,19 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { HomeShopService } from './home-shop.service';
4
- import { ShippingMethodResponse } from './types/shipping-methods.type';
5
- import * as i0 from "@angular/core";
6
- export declare class ShippingService {
7
- private http;
8
- private apiUrl;
9
- private homeService;
10
- constructor(http: HttpClient, apiUrl: string, homeService: HomeShopService);
11
- getShippingMethods(shop: string, zip: string, weightGrams: number, totalPrice: number, personId: string, subscriptionPlan?: string): Observable<Array<ShippingMethodResponse & {
12
- ShippingCompanyName?: string;
13
- }>>;
14
- private isFreeShippingBySubscription;
15
- private isHalfShippingBySubscription;
16
- private isHolidays;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<ShippingService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<ShippingService>;
19
- }
@@ -1,12 +0,0 @@
1
- export interface ShippingMethodResponse {
2
- daysToDelivery: number;
3
- currency: string;
4
- description: string;
5
- maxDeliveryDate: string;
6
- minDeliveryDate: string;
7
- serviceCode: string;
8
- serviceName: string;
9
- totalPrice: number;
10
- additionalDescription: string;
11
- cnpj: string;
12
- }