@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.
- package/angular-connect.module.d.ts +17 -9
- package/angular-firestore.module.d.ts +1 -2
- package/angular-hasura-graphql.module.d.ts +1 -1
- package/angular-vertex-search.module.d.ts +9 -0
- package/consts/firebase-const.d.ts +1 -0
- package/consts/index.d.ts +2 -0
- package/consts/persistence.const.d.ts +1 -0
- package/consts/vertex-config.const.d.ts +1 -0
- package/esm2022/angular-connect.module.mjs +87 -13
- package/esm2022/angular-elastic-search.module.mjs +1 -1
- package/esm2022/angular-firebase-auth.module.mjs +30 -4
- package/esm2022/angular-firestore.module.mjs +53 -28
- package/esm2022/angular-hasura-graphql.module.mjs +74 -8
- package/esm2022/angular-vertex-search.module.mjs +34 -0
- package/esm2022/consts/category-structure.mjs +1 -1
- package/esm2022/consts/default-shop.const.mjs +1 -1
- package/esm2022/consts/es-config.const.mjs +1 -1
- package/esm2022/consts/firebase-const.mjs +2 -1
- package/esm2022/consts/hasura-options.const.mjs +1 -1
- package/esm2022/consts/index.mjs +3 -1
- package/esm2022/consts/persistence.const.mjs +2 -0
- package/esm2022/consts/storage-base-url.const.mjs +1 -1
- package/esm2022/consts/vertex-config.const.mjs +2 -0
- package/esm2022/helpers/index.mjs +1 -1
- package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +1 -1
- package/esm2022/index.mjs +2 -1
- package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
- package/esm2022/persistence/data-persistence.mjs +2 -0
- package/esm2022/persistence/index.mjs +3 -0
- package/esm2022/services/auth.service.mjs +1 -1
- package/esm2022/services/cart.service.mjs +42 -237
- package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +1 -1
- package/esm2022/services/catalog/adapters/index.mjs +1 -1
- package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +6 -4
- package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
- package/esm2022/services/catalog/catalog.service.mjs +158 -48
- package/esm2022/services/catalog/category.service.mjs +4 -4
- package/esm2022/services/catalog/enums/index.mjs +1 -1
- package/esm2022/services/catalog/enums/product-sorts.enum.mjs +1 -1
- package/esm2022/services/catalog/index.mjs +1 -1
- package/esm2022/services/catalog/models/category-with-tree.model.mjs +1 -1
- package/esm2022/services/catalog/models/index.mjs +1 -1
- package/esm2022/services/catalog/types/index.mjs +1 -1
- package/esm2022/services/catalog/types/product-sort.type.mjs +1 -1
- package/esm2022/services/catalog/wishlist.service.mjs +142 -22
- package/esm2022/services/checkout-subscription.service.mjs +18 -21
- package/esm2022/services/checkout.service.mjs +78 -27
- package/esm2022/services/coupon.service.mjs +38 -45
- package/esm2022/services/helpers/index.mjs +1 -1
- package/esm2022/services/helpers/util.helper.mjs +1 -1
- package/esm2022/services/home-shop.service.mjs +4 -4
- package/esm2022/services/index.mjs +1 -2
- package/esm2022/services/order.service.mjs +1 -1
- package/esm2022/services/types/index.mjs +1 -1
- package/esm2022/services/types/required-checkout-data.type.mjs +1 -1
- package/esm2022/services/types/required-checkout-subscription-data.type.mjs +1 -1
- package/esm2022/types/firebase-app-config.type.mjs +1 -1
- package/esm2022/types/index.mjs +1 -1
- package/fesm2022/infrab4a-connect-angular.mjs +953 -719
- package/fesm2022/infrab4a-connect-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +6 -6
- package/persistence/cookie-data-persistence.d.ts +10 -0
- package/persistence/data-persistence.d.ts +6 -0
- package/persistence/index.d.ts +2 -0
- package/services/cart.service.d.ts +8 -19
- package/services/catalog/catalog.service.d.ts +11 -4
- package/services/catalog/category.service.d.ts +6 -1
- package/services/catalog/wishlist.service.d.ts +16 -4
- package/services/checkout-subscription.service.d.ts +5 -4
- package/services/checkout.service.d.ts +18 -7
- package/services/coupon.service.d.ts +0 -2
- package/services/index.d.ts +0 -1
- package/esm2022/services/shipping.service.mjs +0 -96
- package/esm2022/services/types/shipping-methods.type.mjs +0 -2
- package/services/shipping.service.d.ts +0 -19
- package/services/types/shipping-methods.type.d.ts +0 -12
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infrab4a/connect-angular",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
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": "
|
|
13
|
-
"@angular/core": "
|
|
14
|
-
"@angular/fire": "
|
|
15
|
-
"@infrab4a/connect": "4.
|
|
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
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
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
|
|
15
|
-
private
|
|
16
|
-
private readonly variantRepository;
|
|
17
|
-
private readonly buy2WinRepository;
|
|
16
|
+
private readonly firebaseOptions;
|
|
17
|
+
private http;
|
|
18
18
|
private cartSubject;
|
|
19
|
-
|
|
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,
|
|
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
|
|
70
|
+
private readonly productSearch;
|
|
70
71
|
private productsByTerm;
|
|
71
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
9
|
+
private readonly dataPersistence;
|
|
9
10
|
private readonly couponService;
|
|
10
|
-
constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository,
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
19
|
-
|
|
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;
|
package/services/index.d.ts
CHANGED
|
@@ -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
|
-
}
|