@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.
@@ -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
- const shippingMethodsResponse = [];
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
- if (totalPrice >= 200) {
19
- return shippingMethods.map(s => {
20
- if (s.serviceName !== 'Same Day')
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 (subscriptionPlan && subscriptionPlan == 'SELECT') {
27
- return shippingMethods.map(s => {
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 (subscriptionPlan && subscriptionPlan == 'PRIME') {
35
- return shippingMethods.map(s => {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvc2hpcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUlwQyxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNTLElBQWdCLEVBQ0MsTUFBYztRQUQvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQyxDQUFDO0lBRUcsc0JBQXNCLENBQzNCLEdBQVcsRUFDWCxXQUFtQixFQUNuQixVQUFrQixFQUNsQixRQUFpQixFQUNqQixnQkFBeUI7UUFFekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsTUFBTSxzQ0FBc0MsUUFBUSxlQUFlLEdBQUcsZ0JBQWdCLFdBQVcsRUFBRSxDQUM1RzthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDL0IsR0FBRyxDQUFDLENBQUMsZUFBeUMsRUFBRSxFQUFFO1lBQ2hELE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFBO1lBRWxDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTTtnQkFBRSxPQUFPLEVBQUUsQ0FBQTtZQUV0QyxJQUFJLFVBQVUsSUFBSSxHQUFHLEVBQUU7Z0JBQ3JCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFVBQVU7d0JBQUUsdUNBQVksQ0FBQyxLQUFFLFVBQVUsRUFBRSxDQUFDLElBQUU7O3dCQUMzRCxPQUFPLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTthQUNIO1lBRUQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsSUFBSSxRQUFRLEVBQUU7Z0JBQ3BELE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFVBQVU7d0JBQUUsdUNBQVksQ0FBQyxLQUFFLFVBQVUsRUFBRSxDQUFDLElBQUU7O3dCQUMzRCxPQUFPLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTthQUNIO1lBRUQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsSUFBSSxPQUFPLEVBQUU7Z0JBQ25ELE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFVBQVU7d0JBQUUsdUNBQVksQ0FBQyxLQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFDLENBQUMsSUFBRTs7d0JBQ3hFLE9BQU8sQ0FBQyxDQUFBO2dCQUNmLENBQUMsQ0FBQyxDQUFBO2FBQ0g7WUFFRCxPQUFPLHVCQUF1QixDQUFBO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFFSCxDQUFDOzs2R0FqRFUsZUFBZSw0Q0FJakIsT0FBTztpSEFKTCxlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQUtQLE1BQU07MkJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFQSV9VUkwgfSBmcm9tICcuLi9jb25zdHMnO1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcy9zaGlwcGluZy1tZXRob2RzLnR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2hpcHBpbmdTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgQEluamVjdChBUElfVVJMKSBwcml2YXRlIGFwaVVybDogc3RyaW5nXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0TWVuc1NoaXBwaW5nTWV0aG9kcyhcclxuICAgIHppcDogc3RyaW5nLFxyXG4gICAgd2VpZ2h0R3JhbXM6IG51bWJlcixcclxuICAgIHRvdGFsUHJpY2U6IG51bWJlcixcclxuICAgIHBlcnNvbklkPzogc3RyaW5nLFxyXG4gICAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZ1xyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpVXJsfW9wZW4vY2hlY2tzaGlwcGluZ2NvbXBhbnk/cGVyc29uSWQ9JHtwZXJzb25JZH0mcG9zdGFsQ29kZT0ke3ppcH0md2VpZ2h0R3JhbXM9JHt3ZWlnaHRHcmFtc31gXHJcbiAgICApXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IGRhdGEucmVzdWx0KSxcclxuICAgICAgbWFwKChzaGlwcGluZ01ldGhvZHM6IFNoaXBwaW5nTWV0aG9kUmVzcG9uc2VbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlID0gW11cclxuXHJcbiAgICAgICAgaWYgKCFzaGlwcGluZ01ldGhvZHMubGVuZ3RoKSByZXR1cm4gW11cclxuICAgIFxyXG4gICAgICAgIGlmICh0b3RhbFByaWNlID49IDIwMCkge1xyXG4gICAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kcy5tYXAocyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzLnNlcnZpY2VOYW1lICE9PSAnU2FtZSBEYXknKSByZXR1cm4geyAuLi5zLCB0b3RhbFByaWNlOiAwIH1cclxuICAgICAgICAgICAgZWxzZSByZXR1cm4gc1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzdWJzY3JpcHRpb25QbGFuICYmIHN1YnNjcmlwdGlvblBsYW4gPT0gJ1NFTEVDVCcpIHtcclxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZHMubWFwKHMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocy5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogMCB9XHJcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHNcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc3Vic2NyaXB0aW9uUGxhbiAmJiBzdWJzY3JpcHRpb25QbGFuID09ICdQUklNRScpIHtcclxuICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZHMubWFwKHMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocy5zZXJ2aWNlTmFtZSAhPT0gJ1NhbWUgRGF5JykgcmV0dXJuIHsgLi4ucywgdG90YWxQcmljZTogcy50b3RhbFByaWNlLzIgfVxyXG4gICAgICAgICAgICBlbHNlIHJldHVybiBzXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kc1Jlc3BvbnNlXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgXHJcbiAgfVxyXG5cclxufSJdfQ==
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
- const shippingMethodsResponse = [];
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
- if (totalPrice >= 200) {
719
- return shippingMethods.map(s => {
720
- if (s.serviceName !== 'Same Day')
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 (subscriptionPlan && subscriptionPlan == 'SELECT') {
727
- return shippingMethods.map(s => {
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 (subscriptionPlan && subscriptionPlan == 'PRIME') {
735
- return shippingMethods.map(s => {
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
  }] }]; } });