@infrab4a/connect-angular 3.4.0-beta.2 → 3.4.0-beta.4
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/bundles/infrab4a-connect-angular.umd.js +77 -38
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
- package/esm2015/services/shipping.service.js +54 -19
- package/fesm2015/infrab4a-connect-angular.js +49 -18
- package/fesm2015/infrab4a-connect-angular.js.map +1 -1
- package/package.json +1 -1
- package/services/shipping.service.d.ts +10 -2
|
@@ -1,38 +1,45 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
import { HttpClient } from '@angular/common/http';
|
|
2
3
|
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
import { Shops } from '@infrab4a/connect/src';
|
|
5
|
+
import { combineLatest } from 'rxjs';
|
|
3
6
|
import { map } from 'rxjs/operators';
|
|
4
7
|
import { API_URL } from '../consts';
|
|
8
|
+
import { HomeShopService } from './home-shop.service';
|
|
5
9
|
import * as i0 from "@angular/core";
|
|
6
10
|
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "./home-shop.service";
|
|
7
12
|
export class ShippingService {
|
|
8
|
-
constructor(http, apiUrl) {
|
|
13
|
+
constructor(http, homeService, apiUrl) {
|
|
9
14
|
this.http = http;
|
|
15
|
+
this.homeService = homeService;
|
|
10
16
|
this.apiUrl = apiUrl;
|
|
11
17
|
}
|
|
12
|
-
getMensShippingMethods(zip, weightGrams, totalPrice, personId, subscriptionPlan) {
|
|
18
|
+
getMensShippingMethods(zip, weightGrams, totalPrice, personId, shop, subscriptionPlan) {
|
|
19
|
+
combineLatest([
|
|
20
|
+
this.homeService.getHomeData(),
|
|
21
|
+
this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)
|
|
22
|
+
]).pipe(map((datas, shippings) => console.log('combineLatest', datas, shippings)));
|
|
13
23
|
return this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)
|
|
14
|
-
.pipe(map((data) => data.result), map((shippingMethods) => {
|
|
15
|
-
|
|
24
|
+
.pipe(map((data) => data.result), map((shippingMethods) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
let shippingMethodsResponse = shippingMethods;
|
|
26
|
+
console.log('shippingMethods', shippingMethods);
|
|
16
27
|
if (!shippingMethods.length)
|
|
17
28
|
return [];
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return Object.assign(Object.assign({}, s), { totalPrice: 0 });
|
|
22
|
-
else
|
|
23
|
-
return s;
|
|
24
|
-
});
|
|
29
|
+
const datas = yield this.homeService.getHomeData().toPromise().then((data) => data.sameDayNotAvaliable);
|
|
30
|
+
if (this.isHolidays(datas)) {
|
|
31
|
+
shippingMethodsResponse = shippingMethods.filter((method) => method.ShippingCompanyName !== 'Same Day');
|
|
25
32
|
}
|
|
26
|
-
if (
|
|
27
|
-
return
|
|
33
|
+
if (totalPrice >= 200 || this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
|
|
34
|
+
return shippingMethodsResponse.map(s => {
|
|
28
35
|
if (s.serviceName !== 'Same Day')
|
|
29
36
|
return Object.assign(Object.assign({}, s), { totalPrice: 0 });
|
|
30
37
|
else
|
|
31
38
|
return s;
|
|
32
39
|
});
|
|
33
40
|
}
|
|
34
|
-
if (
|
|
35
|
-
return
|
|
41
|
+
if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
|
|
42
|
+
return shippingMethodsResponse.map(s => {
|
|
36
43
|
if (s.serviceName !== 'Same Day')
|
|
37
44
|
return Object.assign(Object.assign({}, s), { totalPrice: s.totalPrice / 2 });
|
|
38
45
|
else
|
|
@@ -40,15 +47,43 @@ export class ShippingService {
|
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
49
|
return shippingMethodsResponse;
|
|
43
|
-
}));
|
|
50
|
+
})));
|
|
51
|
+
}
|
|
52
|
+
isFreeShippingBySubscription(shop, subscriptionPlan) {
|
|
53
|
+
if (!subscriptionPlan)
|
|
54
|
+
return false;
|
|
55
|
+
if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
isHalfShippingBySubscription(shop, subscriptionPlan) {
|
|
61
|
+
if (!subscriptionPlan)
|
|
62
|
+
return false;
|
|
63
|
+
if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
isHolidays(datas) {
|
|
69
|
+
const today = new Date();
|
|
70
|
+
for (const key in datas) {
|
|
71
|
+
let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`);
|
|
72
|
+
let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`);
|
|
73
|
+
if (start > end)
|
|
74
|
+
end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`);
|
|
75
|
+
if (today >= start && today <= end)
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
44
79
|
}
|
|
45
80
|
}
|
|
46
|
-
ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, deps: [{ token: i1.HttpClient }, { token: i2.HomeShopService }, { token: API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
82
|
ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService });
|
|
48
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, decorators: [{
|
|
49
84
|
type: Injectable
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HomeShopService }, { type: undefined, decorators: [{
|
|
51
86
|
type: Inject,
|
|
52
87
|
args: [API_URL]
|
|
53
88
|
}] }]; } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUl0RCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNTLElBQWdCLEVBQ2hCLFdBQTRCLEVBQ1gsTUFBYztRQUYvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUNYLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckMsQ0FBQztJQUVHLHNCQUFzQixDQUMzQixHQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsSUFBWSxFQUNaLGdCQUF5QjtRQUd6QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLHNDQUFzQyxRQUFRLGVBQWUsR0FBRyxnQkFBZ0IsV0FBVyxFQUFFLENBQUM7U0FDM0gsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxLQUFL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QUN2QixJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUN0RSxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUVsRSxJQUFJLEtBQUssR0FBRyxHQUFHO2dCQUNiLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFFcEUsSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxHQUFHO2dCQUNoQyxPQUFPLElBQUksQ0FBQTtTQUNkO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOzs2R0FqR1UsZUFBZSwyRUFLakIsT0FBTztpSEFMTCxlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQU1QLE1BQU07MkJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0L3NyYyc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBUElfVVJMIH0gZnJvbSAnLi4vY29uc3RzJztcclxuaW1wb3J0IHsgSG9tZVNob3BTZXJ2aWNlIH0gZnJvbSAnLi9ob21lLXNob3Auc2VydmljZSc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzL3NoaXBwaW5nLW1ldGhvZHMudHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaGlwcGluZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICBwcml2YXRlIGhvbWVTZXJ2aWNlOiBIb21lU2hvcFNlcnZpY2UsXHJcbiAgIEBJbmplY3QoQVBJX1VSTCkgcHJpdmF0ZSBhcGlVcmw6IHN0cmluZ1xyXG4gICkge31cclxuXHJcbiAgcHVibGljIGdldE1lbnNTaGlwcGluZ01ldGhvZHMoXHJcbiAgICB6aXA6IHN0cmluZyxcclxuICAgIHdlaWdodEdyYW1zOiBudW1iZXIsXHJcbiAgICB0b3RhbFByaWNlOiBudW1iZXIsXHJcbiAgICBwZXJzb25JZDogc3RyaW5nLFxyXG4gICAgc2hvcDogc3RyaW5nLFxyXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZ1xyXG4gICkge1xyXG5cclxuICAgIGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLmhvbWVTZXJ2aWNlLmdldEhvbWVEYXRhKCksXHJcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hcGlVcmx9b3Blbi9jaGVja3NoaXBwaW5nY29tcGFueT9wZXJzb25JZD0ke3BlcnNvbklkfSZwb3N0YWxDb2RlPSR7emlwfSZ3ZWlnaHRHcmFtcz0ke3dlaWdodEdyYW1zfWApXHJcbiAgICBdKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGFzLCBzaGlwcGluZ3MpID0+IGNvbnNvbGUubG9nKCdjb21iaW5lTGF0ZXN0JywgZGF0YXMsIHNoaXBwaW5ncykpXHJcbiAgICApXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpVXJsfW9wZW4vY2hlY2tzaGlwcGluZ2NvbXBhbnk/cGVyc29uSWQ9JHtwZXJzb25JZH0mcG9zdGFsQ29kZT0ke3ppcH0md2VpZ2h0R3JhbXM9JHt3ZWlnaHRHcmFtc31gXHJcbiAgICApXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IGRhdGEucmVzdWx0KSxcclxuICAgICAgbWFwKGFzeW5jIChzaGlwcGluZ01ldGhvZHM6IChTaGlwcGluZ01ldGhvZFJlc3BvbnNlICYgeyBTaGlwcGluZ0NvbXBhbnlOYW1lPzogc3RyaW5nIH0pW10pID0+IHtcclxuICAgICAgICBsZXQgc2hpcHBpbmdNZXRob2RzUmVzcG9uc2UgPSBzaGlwcGluZ01ldGhvZHNcclxuICAgICAgICBjb25zb2xlLmxvZygnc2hpcHBpbmdNZXRob2RzJywgc2hpcHBpbmdNZXRob2RzKVxyXG4gICAgICAgIGlmICghc2hpcHBpbmdNZXRob2RzLmxlbmd0aCkgcmV0dXJuIFtdXHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgZGF0YXMgPSBhd2FpdCB0aGlzLmhvbWVTZXJ2aWNlLmdldEhvbWVEYXRhKCkudG9Qcm9taXNlKCkudGhlbigoZGF0YTogYW55KSA9PiBkYXRhLnNhbWVEYXlOb3RBdmFsaWFibGUpXHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzSG9saWRheXMoZGF0YXMpKSB7XHJcbiAgICAgICAgICBzaGlwcGluZ01ldGhvZHNSZXNwb25zZSA9IHNoaXBwaW5nTWV0aG9kcy5maWx0ZXIoXHJcbiAgICAgICAgICAgIChtZXRob2QpID0+IG1ldGhvZC5TaGlwcGluZ0NvbXBhbnlOYW1lICE9PSAnU2FtZSBEYXknXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRvdGFsUHJpY2UgPj0gMjAwIHx8IHRoaXMuaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wLCBzdWJzY3JpcHRpb25QbGFuKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLm1hcChzID0+IHtcclxuICAgICAgICAgICAgaWYgKHMuc2VydmljZU5hbWUgIT09ICdTYW1lIERheScpIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IDAgfVxyXG4gICAgICAgICAgICBlbHNlIHJldHVybiBzXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNGcmVlU2hpcHBpbmdCeVN1YnNjcmlwdGlvbihzaG9wLCBzdWJzY3JpcHRpb25QbGFuKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlLm1hcChzID0+IHtcclxuICAgICAgICAgICAgaWYgKHMuc2VydmljZU5hbWUgIT09ICdTYW1lIERheScpIHJldHVybiB7IC4uLnMsIHRvdGFsUHJpY2U6IHMudG90YWxQcmljZS8yIH1cclxuICAgICAgICAgICAgZWxzZSByZXR1cm4gc1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZHNSZXNwb25zZVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0ZyZWVTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3A6IHN0cmluZywgc3Vic2NyaXB0aW9uUGxhbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZighc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXHJcblxyXG4gICAgaWYgKHNob3AgPT0gU2hvcHMuTUVOU01BUktFVCAmJiBzdWJzY3JpcHRpb25QbGFuID09ICdTRUxFQ1QnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0hhbGZTaGlwcGluZ0J5U3Vic2NyaXB0aW9uKHNob3A6IHN0cmluZywgc3Vic2NyaXB0aW9uUGxhbjogc3RyaW5nKSB7XHJcbiAgICBpZighc3Vic2NyaXB0aW9uUGxhbikgcmV0dXJuIGZhbHNlXHJcblxyXG4gICAgaWYgKHNob3AgPT0gU2hvcHMuTUVOU01BUktFVCAmJiBzdWJzY3JpcHRpb25QbGFuID09ICdQUklNRScpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICAgcHJpdmF0ZSBpc0hvbGlkYXlzKGRhdGFzOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKVxyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGFzKSB7XHJcbiAgICAgIGxldCBzdGFydCA9IG5ldyBEYXRlKGAke3RvZGF5LmdldEZ1bGxZZWFyKCl9LSR7ZGF0YXNba2V5XS5iZWdpbkRhdGV9YClcclxuICAgICAgbGV0IGVuZCA9IG5ldyBEYXRlKGAke3RvZGF5LmdldEZ1bGxZZWFyKCl9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXHJcblxyXG4gICAgICBpZiAoc3RhcnQgPiBlbmQpXHJcbiAgICAgICAgZW5kID0gbmV3IERhdGUoYCR7dG9kYXkuZ2V0RnVsbFllYXIoKSArIDF9LSR7ZGF0YXNba2V5XS5lbmREYXRlfWApXHJcblxyXG4gICAgICBpZiAodG9kYXkgPj0gc3RhcnQgJiYgdG9kYXkgPD0gZW5kKVxyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxufSJdfQ==
|
|
@@ -12,6 +12,7 @@ import { CustomError } from 'ts-custom-error';
|
|
|
12
12
|
import * as i1$2 from '@angular/fire/firestore';
|
|
13
13
|
import { AngularFirestore } from '@angular/fire/firestore';
|
|
14
14
|
import * as i1$3 from '@angular/common/http';
|
|
15
|
+
import { Shops as Shops$1 } from '@infrab4a/connect/src';
|
|
15
16
|
import { FIREBASE_OPTIONS, FIREBASE_APP_NAME, AngularFireModule } from '@angular/fire';
|
|
16
17
|
|
|
17
18
|
class AuthService {
|
|
@@ -705,34 +706,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
705
706
|
}] }]; } });
|
|
706
707
|
|
|
707
708
|
class ShippingService {
|
|
708
|
-
constructor(http, apiUrl) {
|
|
709
|
+
constructor(http, homeService, apiUrl) {
|
|
709
710
|
this.http = http;
|
|
711
|
+
this.homeService = homeService;
|
|
710
712
|
this.apiUrl = apiUrl;
|
|
711
713
|
}
|
|
712
|
-
getMensShippingMethods(zip, weightGrams, totalPrice, personId, subscriptionPlan) {
|
|
714
|
+
getMensShippingMethods(zip, weightGrams, totalPrice, personId, shop, subscriptionPlan) {
|
|
715
|
+
combineLatest([
|
|
716
|
+
this.homeService.getHomeData(),
|
|
717
|
+
this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)
|
|
718
|
+
]).pipe(map((datas, shippings) => console.log('combineLatest', datas, shippings)));
|
|
713
719
|
return this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)
|
|
714
|
-
.pipe(map((data) => data.result), map((shippingMethods) => {
|
|
715
|
-
|
|
720
|
+
.pipe(map((data) => data.result), map((shippingMethods) => __awaiter(this, void 0, void 0, function* () {
|
|
721
|
+
let shippingMethodsResponse = shippingMethods;
|
|
722
|
+
console.log('shippingMethods', shippingMethods);
|
|
716
723
|
if (!shippingMethods.length)
|
|
717
724
|
return [];
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
return Object.assign(Object.assign({}, s), { totalPrice: 0 });
|
|
722
|
-
else
|
|
723
|
-
return s;
|
|
724
|
-
});
|
|
725
|
+
const datas = yield this.homeService.getHomeData().toPromise().then((data) => data.sameDayNotAvaliable);
|
|
726
|
+
if (this.isHolidays(datas)) {
|
|
727
|
+
shippingMethodsResponse = shippingMethods.filter((method) => method.ShippingCompanyName !== 'Same Day');
|
|
725
728
|
}
|
|
726
|
-
if (
|
|
727
|
-
return
|
|
729
|
+
if (totalPrice >= 200 || this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
|
|
730
|
+
return shippingMethodsResponse.map(s => {
|
|
728
731
|
if (s.serviceName !== 'Same Day')
|
|
729
732
|
return Object.assign(Object.assign({}, s), { totalPrice: 0 });
|
|
730
733
|
else
|
|
731
734
|
return s;
|
|
732
735
|
});
|
|
733
736
|
}
|
|
734
|
-
if (
|
|
735
|
-
return
|
|
737
|
+
if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
|
|
738
|
+
return shippingMethodsResponse.map(s => {
|
|
736
739
|
if (s.serviceName !== 'Same Day')
|
|
737
740
|
return Object.assign(Object.assign({}, s), { totalPrice: s.totalPrice / 2 });
|
|
738
741
|
else
|
|
@@ -740,14 +743,42 @@ class ShippingService {
|
|
|
740
743
|
});
|
|
741
744
|
}
|
|
742
745
|
return shippingMethodsResponse;
|
|
743
|
-
}));
|
|
746
|
+
})));
|
|
747
|
+
}
|
|
748
|
+
isFreeShippingBySubscription(shop, subscriptionPlan) {
|
|
749
|
+
if (!subscriptionPlan)
|
|
750
|
+
return false;
|
|
751
|
+
if (shop == Shops$1.MENSMARKET && subscriptionPlan == 'SELECT') {
|
|
752
|
+
return true;
|
|
753
|
+
}
|
|
754
|
+
return false;
|
|
755
|
+
}
|
|
756
|
+
isHalfShippingBySubscription(shop, subscriptionPlan) {
|
|
757
|
+
if (!subscriptionPlan)
|
|
758
|
+
return false;
|
|
759
|
+
if (shop == Shops$1.MENSMARKET && subscriptionPlan == 'PRIME') {
|
|
760
|
+
return true;
|
|
761
|
+
}
|
|
762
|
+
return false;
|
|
763
|
+
}
|
|
764
|
+
isHolidays(datas) {
|
|
765
|
+
const today = new Date();
|
|
766
|
+
for (const key in datas) {
|
|
767
|
+
let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`);
|
|
768
|
+
let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`);
|
|
769
|
+
if (start > end)
|
|
770
|
+
end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`);
|
|
771
|
+
if (today >= start && today <= end)
|
|
772
|
+
return true;
|
|
773
|
+
}
|
|
774
|
+
return false;
|
|
744
775
|
}
|
|
745
776
|
}
|
|
746
|
-
ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, deps: [{ token: i1$3.HttpClient }, { token: API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
777
|
+
ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, deps: [{ token: i1$3.HttpClient }, { token: HomeShopService }, { token: API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
747
778
|
ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService });
|
|
748
779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ShippingService, decorators: [{
|
|
749
780
|
type: Injectable
|
|
750
|
-
}], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
|
|
781
|
+
}], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: HomeShopService }, { type: undefined, decorators: [{
|
|
751
782
|
type: Inject,
|
|
752
783
|
args: [API_URL]
|
|
753
784
|
}] }]; } });
|