@infrab4a/connect-angular 0.14.2-beta.11 → 0.14.2-beta.2
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 +15 -15
- package/angular-elastic-search.module.d.ts +9 -9
- package/angular-firebase-auth.module.d.ts +10 -10
- package/angular-firestore.module.d.ts +15 -15
- package/bundles/infrab4a-connect-angular.umd.js +1415 -1420
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
- package/consts/default-shop.const.d.ts +1 -1
- package/consts/es-config.const.d.ts +1 -1
- package/consts/index.d.ts +2 -2
- package/esm2015/angular-connect.module.js +47 -47
- package/esm2015/angular-elastic-search.module.js +38 -38
- package/esm2015/angular-firebase-auth.module.js +113 -113
- package/esm2015/angular-firestore.module.js +340 -340
- package/esm2015/consts/default-shop.const.js +2 -2
- package/esm2015/consts/es-config.const.js +2 -2
- package/esm2015/consts/index.js +3 -3
- package/esm2015/index.js +5 -5
- package/esm2015/infrab4a-connect-angular.js +4 -4
- package/esm2015/services/auth.service.js +42 -42
- package/esm2015/services/cart.service.js +150 -169
- package/esm2015/services/checkout-subscription.service.js +44 -68
- package/esm2015/services/checkout.service.js +87 -79
- package/esm2015/services/coupon.service.js +98 -70
- package/esm2015/services/errors/group-invalid-coupon.error.js +7 -7
- package/esm2015/services/errors/index.js +3 -3
- package/esm2015/services/errors/invalid-coupon.error.js +7 -7
- package/esm2015/services/home-shop.service.js +108 -108
- package/esm2015/services/index.js +8 -8
- package/esm2015/services/order.service.js +32 -32
- package/esm2015/services/types/index.js +3 -3
- package/esm2015/services/types/required-checkout-data.type.js +2 -2
- package/esm2015/services/types/required-checkout-subscription-data.type.js +2 -2
- package/fesm2015/infrab4a-connect-angular.js +1007 -1013
- package/fesm2015/infrab4a-connect-angular.js.map +1 -1
- package/index.d.ts +4 -4
- package/infrab4a-connect-angular.d.ts +5 -5
- package/package.json +3 -3
- package/services/auth.service.d.ts +19 -19
- package/services/cart.service.d.ts +35 -41
- package/services/checkout-subscription.service.d.ts +16 -18
- package/services/checkout.service.d.ts +22 -22
- package/services/coupon.service.d.ts +17 -14
- package/services/errors/group-invalid-coupon.error.d.ts +5 -5
- package/services/errors/index.d.ts +2 -2
- package/services/errors/invalid-coupon.error.d.ts +4 -4
- package/services/home-shop.service.d.ts +24 -24
- package/services/index.d.ts +7 -7
- package/services/order.service.d.ts +13 -13
- package/services/types/index.d.ts +2 -2
- package/services/types/required-checkout-data.type.d.ts +2 -2
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
|
@@ -1,68 +1,44 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { CheckoutSubscription,
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return from(this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
checkCoupon(nickname, userEmail) {
|
|
46
|
-
return this.getCheckoutSubscription().pipe(concatMap((checkout) => this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION).pipe(concatMap((coupons) => {
|
|
47
|
-
const couponsWithSamePlan = coupons.filter((coupon) => checkout.subscriptionPlan.name === coupon.plan);
|
|
48
|
-
const couponsWithNoPlan = coupons.filter((coupon) => !coupon.plan);
|
|
49
|
-
if (couponsWithSamePlan.length > 0)
|
|
50
|
-
return of(couponsWithSamePlan);
|
|
51
|
-
if (couponsWithNoPlan.length > 0)
|
|
52
|
-
return of(couponsWithNoPlan);
|
|
53
|
-
throw new Error(`Coupon subscription plan is invalid.`);
|
|
54
|
-
}), concatMap((coupons) => { var _a; return !!((_a = checkout.user) === null || _a === void 0 ? void 0 : _a.email) ? this.checkCouponsWithCheckout(coupons, checkout) : of(coupons); }), map((validatedCoupons) => validatedCoupons.shift()))));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
CheckoutSubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: 'SubscriptionRepository' }, { token: i1.CouponService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
-
CheckoutSubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
|
|
60
|
-
type: Injectable
|
|
61
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
62
|
-
type: Inject,
|
|
63
|
-
args: ['CheckoutSubscriptionRepository']
|
|
64
|
-
}] }, { type: undefined, decorators: [{
|
|
65
|
-
type: Inject,
|
|
66
|
-
args: ['SubscriptionRepository']
|
|
67
|
-
}] }, { type: i1.CouponService }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtc3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NoZWNrb3V0LXN1YnNjcmlwdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBRXBCLGFBQWEsRUFDYixlQUFlLEVBQ2YsS0FBSyxFQUNMLElBQUksR0FFTCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUvQyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUE7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBR3RFLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFFbUIsOEJBQThELEVBQzVCLHNCQUE4QyxFQUNoRixhQUE0QjtRQUY1QixtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBQzVCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDaEYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFvRHZDLDZCQUF3QixHQUFHLENBQ2pDLE9BQTBCLEVBQzFCLFFBQThCLEVBQ0MsRUFBRSxDQUNqQyxRQUFRLENBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFOztZQUNyQixPQUFBLElBQUksQ0FDRixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxD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NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxnQ0FBZ0M7OzBCQUV2QyxNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb24sXHJcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxyXG4gIENoZWNrb3V0VHlwZXMsXHJcbiAgRmluYW5jaWFsQ291cG9uLFxyXG4gIGlzTmlsLFxyXG4gIHBpY2ssXHJcbiAgU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgUmVxdWlyZWRDaGVja291dFN1YnNjcmlwdGlvbkRhdGEgfSBmcm9tICcuL3R5cGVzJ1xyXG5pbXBvcnQgY29va2llIGZyb20gJ2pzLWNvb2tpZSdcclxuXHJcbmltcG9ydCB7IENvdXBvblNlcnZpY2UgfSBmcm9tICcuL2NvdXBvbi5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBHcm91cEludmFsaWRDb3Vwb25FcnJvciwgSW52YWxpZENvdXBvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5JylcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KCdTdWJzY3JpcHRpb25SZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3Vwb25TZXJ2aWNlOiBDb3Vwb25TZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgZ2V0Q2hlY2tvdXRTdWJzY3JpcHRpb24oY2hlY2tvdXREYXRhPzogUmVxdWlyZWRDaGVja291dFN1YnNjcmlwdGlvbkRhdGEpOiBPYnNlcnZhYmxlPENoZWNrb3V0U3Vic2NyaXB0aW9uPiB7XHJcbiAgICBjb25zdCBjaGVja291dElkID0gY29va2llLmdldCgnY2hlY2tvdXRTdWJzY3JpcHRpb25JZCcpXHJcblxyXG4gICAgaWYgKCFpc05pbChjaGVja291dElkKSkgcmV0dXJuIGZyb20odGhpcy5jaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnkuZ2V0KHsgaWQ6IGNoZWNrb3V0SWQgfSkpXHJcblxyXG4gICAgcmV0dXJuIGZyb20odGhpcy5jcmVhdGVDaGVja291dFN1YnNjcmlwdGlvbihjaGVja291dERhdGEpKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVDaGVja291dFN1YnNjcmlwdGlvbihcclxuICAgIGNoZWNrb3V0RGF0YT86IFJlcXVpcmVkQ2hlY2tvdXRTdWJzY3JpcHRpb25EYXRhLFxyXG4gICk6IFByb21pc2U8Q2hlY2tvdXRTdWJzY3JpcHRpb24+IHtcclxuICAgIGNvbnN0IGNoZWNrb3V0ID0gYXdhaXQgdGhpcy5jaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnkuY3JlYXRlKHtcclxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxyXG4gICAgICAuLi5DaGVja291dFN1YnNjcmlwdGlvbi50b0luc3RhbmNlKHBpY2soY2hlY2tvdXREYXRhLCBbJ3VzZXInLCAnc2hvcCddKSkudG9QbGFpbigpLFxyXG4gICAgfSlcclxuXHJcbiAgICBjb29raWUuc2V0KCdjaGVja291dFN1YnNjcmlwdGlvbklkJywgY2hlY2tvdXQuaWQpXHJcblxyXG4gICAgcmV0dXJuIGNoZWNrb3V0XHJcbiAgfVxyXG5cclxuICBjbGVhckNoZWNrb3V0U3Vic2NyaXB0aW9uRnJvbVNlc3Npb24oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb29raWUucmVtb3ZlKCdjaGVja291dFN1YnNjcmlwdGlvbklkJylcclxuXHJcbiAgICByZXR1cm4gb2YoKVxyXG4gIH1cclxuXHJcbiAgY2hlY2tDb3Vwb24obmlja25hbWU6IHN0cmluZywgdXNlckVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbmFuY2lhbENvdXBvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hlY2tvdXRTdWJzY3JpcHRpb24oKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxyXG4gICAgICAgIHRoaXMuY291cG9uU2VydmljZS5jaGVja0NvdXBvbihuaWNrbmFtZSwgdXNlckVtYWlsLCBDaGVja291dFR5cGVzLlNVQlNDUklQVElPTikucGlwZShcclxuICAgICAgICAgIGNvbmNhdE1hcCgoY291cG9ucykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb3Vwb25zV2l0aFNhbWVQbGFuID0gY291cG9ucy5maWx0ZXIoKGNvdXBvbikgPT4gY2hlY2tvdXQuc3Vic2NyaXB0aW9uUGxhbi5uYW1lID09PSBjb3Vwb24ucGxhbilcclxuICAgICAgICAgICAgY29uc3QgY291cG9uc1dpdGhOb1BsYW4gPSBjb3Vwb25zLmZpbHRlcigoY291cG9uKSA9PiAhY291cG9uLnBsYW4pXHJcblxyXG4gICAgICAgICAgICBpZiAoY291cG9uc1dpdGhTYW1lUGxhbi5sZW5ndGggPiAwKSByZXR1cm4gb2YoY291cG9uc1dpdGhTYW1lUGxhbilcclxuICAgICAgICAgICAgaWYgKGNvdXBvbnNXaXRoTm9QbGFuLmxlbmd0aCA+IDApIHJldHVybiBvZihjb3Vwb25zV2l0aE5vUGxhbilcclxuXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291cG9uIHN1YnNjcmlwdGlvbiBwbGFuIGlzIGludmFsaWQuYClcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgY29uY2F0TWFwKChjb3Vwb25zKSA9PlxyXG4gICAgICAgICAgICAhIWNoZWNrb3V0LnVzZXI/LmVtYWlsID8gdGhpcy5jaGVja0NvdXBvbnNXaXRoQ2hlY2tvdXQoY291cG9ucywgY2hlY2tvdXQpIDogb2YoY291cG9ucyksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgbWFwKCh2YWxpZGF0ZWRDb3Vwb25zKSA9PiB2YWxpZGF0ZWRDb3Vwb25zLnNoaWZ0KCkpLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrQ291cG9uc1dpdGhDaGVja291dCA9IChcclxuICAgIGNvdXBvbnM6IEZpbmFuY2lhbENvdXBvbltdLFxyXG4gICAgY2hlY2tvdXQ6IENoZWNrb3V0U3Vic2NyaXB0aW9uLFxyXG4gICk6IE9ic2VydmFibGU8RmluYW5jaWFsQ291cG9uW10+ID0+XHJcbiAgICBmb3JrSm9pbihcclxuICAgICAgY291cG9ucy5tYXAoKGNvdXBvbikgPT5cclxuICAgICAgICBmcm9tKFxyXG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25SZXBvc2l0b3J5LmZpbmQoW3sgdXNlcjogeyBlbWFpbDogY2hlY2tvdXQudXNlcj8uZW1haWwgfSwgY291cG9uOiB7IGlkOiBjb3Vwb24uaWQgfSB9XSksXHJcbiAgICAgICAgKS5waXBlKG1hcCgoc3Vic2NyaXB0aW9ucykgPT4gKHsgY291cG9uLCBzdWJzY3JpcHRpb25zIH0pKSksXHJcbiAgICAgICksXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzdWx0cykgPT5cclxuICAgICAgICByZXN1bHRzLm1hcCgoeyBjb3Vwb24sIHN1YnNjcmlwdGlvbnMgfSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMuZGF0YS5sZW5ndGggPj0gKGNvdXBvbi51c2VMaW1pdCB8fCBJbmZpbml0eSkpXHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgSW52YWxpZENvdXBvbkVycm9yKCdDb3Vwb24gaXMgYWxyZWFkeSBhcHBsaWVkJylcclxuXHJcbiAgICAgICAgICByZXR1cm4gY291cG9uXHJcbiAgICAgICAgfSksXHJcbiAgICAgICksXHJcbiAgICAgIG1hcCgodmFsaWRhdGVkQ291cG9ucykgPT4gKHtcclxuICAgICAgICB2YWxpZHM6IHZhbGlkYXRlZENvdXBvbnMuZmlsdGVyKChjb3Vwb24pID0+IEZpbmFuY2lhbENvdXBvbi5pc0ZpbmFuY2lhbENvdXBvbihjb3Vwb24pKSBhcyBGaW5hbmNpYWxDb3Vwb25bXSxcclxuICAgICAgICBpbnZhbGlkczogdmFsaWRhdGVkQ291cG9ucy5maWx0ZXIoKGNvdXBvbikgPT4gY291cG9uIGluc3RhbmNlb2YgSW52YWxpZENvdXBvbkVycm9yKSBhcyBJbnZhbGlkQ291cG9uRXJyb3JbXSxcclxuICAgICAgfSkpLFxyXG4gICAgICBjb25jYXRNYXAoKHsgdmFsaWRzLCBpbnZhbGlkcyB9KSA9PlxyXG4gICAgICAgIHZhbGlkcy5sZW5ndGggPyBvZih2YWxpZHMpIDogdGhyb3dFcnJvcihuZXcgR3JvdXBJbnZhbGlkQ291cG9uRXJyb3IoaW52YWxpZHMpKSxcclxuICAgICAgKSxcclxuICAgIClcclxufVxyXG4iXX0=
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { CheckoutSubscription, isNil, pick, } from '@infrab4a/connect';
|
|
4
|
+
import { from, of } from 'rxjs';
|
|
5
|
+
import cookie from 'js-cookie';
|
|
6
|
+
import { CouponService } from './coupon.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./coupon.service";
|
|
9
|
+
export class CheckoutSubscriptionService {
|
|
10
|
+
constructor(checkoutSubscriptionRepository, subscriptionRepository, couponService) {
|
|
11
|
+
this.checkoutSubscriptionRepository = checkoutSubscriptionRepository;
|
|
12
|
+
this.subscriptionRepository = subscriptionRepository;
|
|
13
|
+
this.couponService = couponService;
|
|
14
|
+
}
|
|
15
|
+
getCheckoutSubscription(checkoutData) {
|
|
16
|
+
const checkoutId = cookie.get('checkoutSubscriptionId');
|
|
17
|
+
if (!isNil(checkoutId))
|
|
18
|
+
return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }));
|
|
19
|
+
return from(this.createCheckoutSubscription(checkoutData));
|
|
20
|
+
}
|
|
21
|
+
createCheckoutSubscription(checkoutData) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const checkout = yield this.checkoutSubscriptionRepository.create(Object.assign({ createdAt: new Date() }, CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain()));
|
|
24
|
+
cookie.set('checkoutSubscriptionId', checkout.id);
|
|
25
|
+
return checkout;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
clearCheckoutSubscriptionFromSession() {
|
|
29
|
+
cookie.remove('checkoutSubscriptionId');
|
|
30
|
+
return of();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
CheckoutSubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: 'SubscriptionRepository' }, { token: i1.CouponService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
CheckoutSubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
|
|
36
|
+
type: Injectable
|
|
37
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: ['CheckoutSubscriptionRepository']
|
|
40
|
+
}] }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: ['SubscriptionRepository']
|
|
43
|
+
}] }, { type: i1.CouponService }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtc3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NoZWNrb3V0LXN1YnNjcmlwdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBSXBCLEtBQUssRUFDTCxJQUFJLEdBRUwsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQVksSUFBSSxFQUFjLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUdqRSxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUE7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBOzs7QUFJaEQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUVtQiw4QkFBOEQsRUFDNUIsc0JBQThDLEVBQ2hGLGFBQTRCO1FBRjVCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDNUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUNoRixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUM1QyxDQUFDO0lBRUosdUJBQXVCLENBQUMsWUFBK0M7UUFDckUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRXZELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFFaEcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVhLDBCQUEwQixDQUN0QyxZQUErQzs7WUFFL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsTUFBTSxpQkFDL0QsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLElBQ2xCLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFDbEYsQ0FBQTtZQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBRWpELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FBQTtJQUVELG9DQUFvQztRQUNsQyxNQUFNLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFdkMsT0FBTyxFQUFFLEVBQUUsQ0FBQTtJQUNiLENBQUM7O3lIQWpDVSwyQkFBMkIsa0JBRTVCLGdDQUFnQyxhQUVoQyx3QkFBd0I7NkhBSnZCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLGdDQUFnQzs7MEJBRXZDLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uLFxuICBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXG4gIENoZWNrb3V0VHlwZXMsXG4gIENvdXBvbixcbiAgaXNOaWwsXG4gIHBpY2ssXG4gIFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBSZXF1aXJlZENoZWNrb3V0U3Vic2NyaXB0aW9uRGF0YSB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgY29va2llIGZyb20gJ2pzLWNvb2tpZSdcblxuaW1wb3J0IHsgQ291cG9uU2VydmljZSB9IGZyb20gJy4vY291cG9uLnNlcnZpY2UnXG5pbXBvcnQgeyBHcm91cEludmFsaWRDb3Vwb25FcnJvciwgSW52YWxpZENvdXBvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnknKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeTogU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdXBvblNlcnZpY2U6IENvdXBvblNlcnZpY2UsXG4gICkge31cblxuICBnZXRDaGVja291dFN1YnNjcmlwdGlvbihjaGVja291dERhdGE/OiBSZXF1aXJlZENoZWNrb3V0U3Vic2NyaXB0aW9uRGF0YSk6IE9ic2VydmFibGU8Q2hlY2tvdXRTdWJzY3JpcHRpb24+IHtcbiAgICBjb25zdCBjaGVja291dElkID0gY29va2llLmdldCgnY2hlY2tvdXRTdWJzY3JpcHRpb25JZCcpXG5cbiAgICBpZiAoIWlzTmlsKGNoZWNrb3V0SWQpKSByZXR1cm4gZnJvbSh0aGlzLmNoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeS5nZXQoeyBpZDogY2hlY2tvdXRJZCB9KSlcblxuICAgIHJldHVybiBmcm9tKHRoaXMuY3JlYXRlQ2hlY2tvdXRTdWJzY3JpcHRpb24oY2hlY2tvdXREYXRhKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ2hlY2tvdXRTdWJzY3JpcHRpb24oXG4gICAgY2hlY2tvdXREYXRhPzogUmVxdWlyZWRDaGVja291dFN1YnNjcmlwdGlvbkRhdGEsXG4gICk6IFByb21pc2U8Q2hlY2tvdXRTdWJzY3JpcHRpb24+IHtcbiAgICBjb25zdCBjaGVja291dCA9IGF3YWl0IHRoaXMuY2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LmNyZWF0ZSh7XG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAuLi5DaGVja291dFN1YnNjcmlwdGlvbi50b0luc3RhbmNlKHBpY2soY2hlY2tvdXREYXRhLCBbJ3VzZXInLCAnc2hvcCddKSkudG9QbGFpbigpLFxuICAgIH0pXG5cbiAgICBjb29raWUuc2V0KCdjaGVja291dFN1YnNjcmlwdGlvbklkJywgY2hlY2tvdXQuaWQpXG5cbiAgICByZXR1cm4gY2hlY2tvdXRcbiAgfVxuXG4gIGNsZWFyQ2hlY2tvdXRTdWJzY3JpcHRpb25Gcm9tU2Vzc2lvbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb29raWUucmVtb3ZlKCdjaGVja291dFN1YnNjcmlwdGlvbklkJylcblxuICAgIHJldHVybiBvZigpXG4gIH1cblxuICAvLyBjaGVja0NvdXBvbihuaWNrbmFtZTogc3RyaW5nLCB1c2VyRW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8Q291cG9uPiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuZ2V0Q2hlY2tvdXRTdWJzY3JpcHRpb24oKS5waXBlKFxuICAvLyAgICAgY29uY2F0TWFwKChjaGVja291dCkgPT5cbiAgLy8gICAgICAgdGhpcy5jb3Vwb25TZXJ2aWNlLmNoZWNrQ291cG9uKG5pY2tuYW1lLCB1c2VyRW1haWwsIENoZWNrb3V0VHlwZXMuU1VCU0NSSVBUSU9OKS5waXBlKFxuICAvLyAgICAgICAgIGNvbmNhdE1hcCgoY291cG9uczogQ291cG9uW10pID0+IHtcbiAgLy8gICAgICAgICAgIGNvbnN0IGNvdXBvbnNXaXRoU2FtZVBsYW4gPSBjb3Vwb25zLmZpbHRlcigoY291cG9uKSA9PiBjaGVja291dC5zdWJzY3JpcHRpb25QbGFuLm5hbWUgPT09IGNvdXBvbi5wbGFuKVxuICAvLyAgICAgICAgICAgY29uc3QgY291cG9uc1dpdGhOb1BsYW4gPSBjb3Vwb25zLmZpbHRlcigoY291cG9uKSA9PiAhY291cG9uLnBsYW4pXG5cbiAgLy8gICAgICAgICAgIGlmIChjb3Vwb25zV2l0aFNhbWVQbGFuLmxlbmd0aCA+IDApIHJldHVybiBvZihjb3Vwb25zV2l0aFNhbWVQbGFuKVxuICAvLyAgICAgICAgICAgaWYgKGNvdXBvbnNXaXRoTm9QbGFuLmxlbmd0aCA+IDApIHJldHVybiBvZihjb3Vwb25zV2l0aE5vUGxhbilcblxuICAvLyAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3Vwb24gc3Vic2NyaXB0aW9uIHBsYW4gaXMgaW52YWxpZC5gKVxuICAvLyAgICAgICAgIH0pLFxuICAvLyAgICAgICAgIGNvbmNhdE1hcCgoY291cG9ucykgPT5cbiAgLy8gICAgICAgICAgICEhY2hlY2tvdXQudXNlcj8uZW1haWwgPyB0aGlzLmNoZWNrQ291cG9uc1dpdGhDaGVja291dChjb3Vwb25zLCBjaGVja291dCkgOiBvZihjb3Vwb25zKSxcbiAgLy8gICAgICAgICApLFxuICAvLyAgICAgICAgIG1hcCgodmFsaWRhdGVkQ291cG9ucykgPT4gdmFsaWRhdGVkQ291cG9ucy5zaGlmdCgpKSxcbiAgLy8gICAgICAgKSxcbiAgLy8gICAgICksXG4gIC8vICAgKVxuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBjaGVja0NvdXBvbnNXaXRoQ2hlY2tvdXQgPSAoXG4gIC8vICAgY291cG9uczogQ291cG9uW10sXG4gIC8vICAgY2hlY2tvdXQ6IENoZWNrb3V0U3Vic2NyaXB0aW9uLFxuICAvLyApOiBPYnNlcnZhYmxlPENvdXBvbltdPiA9PlxuICAvLyAgIGZvcmtKb2luKFxuICAvLyAgICAgY291cG9ucy5tYXAoKGNvdXBvbikgPT5cbiAgLy8gICAgICAgZnJvbShcbiAgLy8gICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblJlcG9zaXRvcnkuZmluZChbeyB1c2VyOiB7IGVtYWlsOiBjaGVja291dC51c2VyPy5lbWFpbCB9LCBjb3Vwb246IHsgaWQ6IGNvdXBvbi5pZCB9IH1dKSxcbiAgLy8gICAgICAgKS5waXBlKG1hcCgoc3Vic2NyaXB0aW9ucykgPT4gKHsgY291cG9uLCBzdWJzY3JpcHRpb25zIH0pKSksXG4gIC8vICAgICApLFxuICAvLyAgICkucGlwZShcbiAgLy8gICAgIG1hcCgocmVzdWx0cykgPT5cbiAgLy8gICAgICAgcmVzdWx0cy5tYXAoKHsgY291cG9uLCBzdWJzY3JpcHRpb25zIH0pID0+IHtcbiAgLy8gICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5kYXRhLmxlbmd0aCA+PSAoY291cG9uLnVzZUxpbWl0IHx8IEluZmluaXR5KSlcbiAgLy8gICAgICAgICAgIHJldHVybiBuZXcgSW52YWxpZENvdXBvbkVycm9yKCdDb3Vwb24gaXMgYWxyZWFkeSBhcHBsaWVkJylcblxuICAvLyAgICAgICAgIHJldHVybiBjb3Vwb25cbiAgLy8gICAgICAgfSksXG4gIC8vICAgICApLFxuICAvLyAgICAgbWFwKCh2YWxpZGF0ZWRDb3Vwb25zKSA9PiAoe1xuICAvLyAgICAgICB2YWxpZHM6IHZhbGlkYXRlZENvdXBvbnMuZmlsdGVyKChjb3Vwb24pID0+IGNvdXBvbiBpbnN0YW5jZW9mIENvdXBvbiksXG4gIC8vICAgICAgIGludmFsaWRzOiB2YWxpZGF0ZWRDb3Vwb25zLmZpbHRlcigoY291cG9uKSA9PiBjb3Vwb24gaW5zdGFuY2VvZiBJbnZhbGlkQ291cG9uRXJyb3IpIGFzIEludmFsaWRDb3Vwb25FcnJvcltdLFxuICAvLyAgICAgfSkpLFxuICAvLyAgICAgY29uY2F0TWFwKCh7IHZhbGlkcywgaW52YWxpZHMgfSkgPT5cbiAgLy8gICAgICAgdmFsaWRzLmxlbmd0aCA/IG9mKHZhbGlkcykgOiB0aHJvd0Vycm9yKG5ldyBHcm91cEludmFsaWRDb3Vwb25FcnJvcihpbnZhbGlkcykpLFxuICAvLyAgICAgKSxcbiAgLy8gICApXG59XG4iXX0=
|
|
@@ -1,79 +1,87 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable, Inject } from '@angular/core';
|
|
3
|
-
import { Checkout,
|
|
4
|
-
import cookie from 'js-cookie';
|
|
5
|
-
import { from, throwError, of } from 'rxjs';
|
|
6
|
-
import { concatMap } from 'rxjs/operators';
|
|
7
|
-
import { DEFAULT_SHOP } from '../consts';
|
|
8
|
-
import { CouponService } from './coupon.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./coupon.service";
|
|
11
|
-
import * as i2 from "@infrab4a/connect";
|
|
12
|
-
export class CheckoutService {
|
|
13
|
-
constructor(couponService, checkoutRepository, orderRepository, userRepository, defaultShop) {
|
|
14
|
-
this.couponService = couponService;
|
|
15
|
-
this.checkoutRepository = checkoutRepository;
|
|
16
|
-
this.orderRepository = orderRepository;
|
|
17
|
-
this.userRepository = userRepository;
|
|
18
|
-
this.defaultShop = defaultShop;
|
|
19
|
-
}
|
|
20
|
-
getCheckout(checkoutData) {
|
|
21
|
-
const checkoutId = cookie.get('checkoutId');
|
|
22
|
-
if (!isNil(checkoutId))
|
|
23
|
-
return from(this.checkoutRepository.get({ id: checkoutId }));
|
|
24
|
-
return from(this.createCheckout(checkoutData));
|
|
25
|
-
}
|
|
26
|
-
getUserByCheckout(checkoutId) {
|
|
27
|
-
return from(this.checkoutRepository.get({ id: checkoutId })).pipe(concatMap((checkout) => { var _a; return ((_a = checkout === null || checkout === void 0 ? void 0 : checkout.user) === null || _a === void 0 ? void 0 : _a.id) ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })); }), concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))));
|
|
28
|
-
}
|
|
29
|
-
updateCheckoutLineItems(checkout) {
|
|
30
|
-
return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })));
|
|
31
|
-
}
|
|
32
|
-
updateCheckoutUser(checkout) {
|
|
33
|
-
return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })));
|
|
34
|
-
}
|
|
35
|
-
clearCheckoutFromSession() {
|
|
36
|
-
cookie.remove('checkoutId');
|
|
37
|
-
return of();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable, Inject } from '@angular/core';
|
|
3
|
+
import { Checkout, isNil, NotFoundError, pick, Shops, } from '@infrab4a/connect';
|
|
4
|
+
import cookie from 'js-cookie';
|
|
5
|
+
import { from, throwError, of } from 'rxjs';
|
|
6
|
+
import { concatMap } from 'rxjs/operators';
|
|
7
|
+
import { DEFAULT_SHOP } from '../consts';
|
|
8
|
+
import { CouponService } from './coupon.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./coupon.service";
|
|
11
|
+
import * as i2 from "@infrab4a/connect";
|
|
12
|
+
export class CheckoutService {
|
|
13
|
+
constructor(couponService, checkoutRepository, orderRepository, userRepository, defaultShop) {
|
|
14
|
+
this.couponService = couponService;
|
|
15
|
+
this.checkoutRepository = checkoutRepository;
|
|
16
|
+
this.orderRepository = orderRepository;
|
|
17
|
+
this.userRepository = userRepository;
|
|
18
|
+
this.defaultShop = defaultShop;
|
|
19
|
+
}
|
|
20
|
+
getCheckout(checkoutData) {
|
|
21
|
+
const checkoutId = cookie.get('checkoutId');
|
|
22
|
+
if (!isNil(checkoutId))
|
|
23
|
+
return from(this.checkoutRepository.get({ id: checkoutId }));
|
|
24
|
+
return from(this.createCheckout(checkoutData));
|
|
25
|
+
}
|
|
26
|
+
getUserByCheckout(checkoutId) {
|
|
27
|
+
return from(this.checkoutRepository.get({ id: checkoutId })).pipe(concatMap((checkout) => { var _a; return ((_a = checkout === null || checkout === void 0 ? void 0 : checkout.user) === null || _a === void 0 ? void 0 : _a.id) ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })); }), concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))));
|
|
28
|
+
}
|
|
29
|
+
updateCheckoutLineItems(checkout) {
|
|
30
|
+
return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })));
|
|
31
|
+
}
|
|
32
|
+
updateCheckoutUser(checkout) {
|
|
33
|
+
return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })));
|
|
34
|
+
}
|
|
35
|
+
clearCheckoutFromSession() {
|
|
36
|
+
cookie.remove('checkoutId');
|
|
37
|
+
return of();
|
|
38
|
+
}
|
|
39
|
+
applyCupon(coupon) { }
|
|
40
|
+
// checkCoupon(nickname: string): Observable<FinancialCoupon> {
|
|
41
|
+
// return this.getCheckout().pipe(
|
|
42
|
+
// concatMap((checkout) =>
|
|
43
|
+
// this.couponService.checkCoupon(nickname, checkout.user?.email, CheckoutTypes.ECOMMERCE).pipe(
|
|
44
|
+
// concatMap((coupons) => of(coupons.shift())),
|
|
45
|
+
// concatMap((coupon) =>
|
|
46
|
+
// !!checkout.user?.email
|
|
47
|
+
// ? from(
|
|
48
|
+
// this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),
|
|
49
|
+
// ).pipe(
|
|
50
|
+
// concatMap((orders) => {
|
|
51
|
+
// if (orders.data.length >= (coupon.useLimit || Infinity))
|
|
52
|
+
// return throwError(() => new Error('Coupon is already applied'))
|
|
53
|
+
// return of(coupon)
|
|
54
|
+
// }),
|
|
55
|
+
// )
|
|
56
|
+
// : of(coupon),
|
|
57
|
+
// ),
|
|
58
|
+
// ),
|
|
59
|
+
// ),
|
|
60
|
+
// )
|
|
61
|
+
// }
|
|
62
|
+
createCheckout(checkoutData) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const checkout = yield this.checkoutRepository.create(Object.assign(Object.assign({ createdAt: new Date() }, Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain()), { shop: (checkoutData === null || checkoutData === void 0 ? void 0 : checkoutData.shop) || this.defaultShop }));
|
|
65
|
+
cookie.set('checkoutId', checkout.id);
|
|
66
|
+
return checkout;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
CheckoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutService, deps: [{ token: i1.CouponService }, { token: 'CheckoutRepository' }, { token: 'OrderRepository' }, { token: 'UserRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
CheckoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutService });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CheckoutService, decorators: [{
|
|
73
|
+
type: Injectable
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i1.CouponService }, { type: undefined, decorators: [{
|
|
75
|
+
type: Inject,
|
|
76
|
+
args: ['CheckoutRepository']
|
|
77
|
+
}] }, { type: undefined, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: ['OrderRepository']
|
|
80
|
+
}] }, { type: undefined, decorators: [{
|
|
81
|
+
type: Inject,
|
|
82
|
+
args: ['UserRepository']
|
|
83
|
+
}] }, { type: i2.Shops, decorators: [{
|
|
84
|
+
type: Inject,
|
|
85
|
+
args: [DEFAULT_SHOP]
|
|
86
|
+
}] }]; } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2hlY2tvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUNMLFFBQVEsRUFJUixLQUFLLEVBQ0wsYUFBYSxFQUViLElBQUksRUFDSixLQUFLLEdBR04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTs7OztBQUloRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNtQixhQUE0QixFQUNFLGtCQUFzQyxFQUN6QyxlQUFnQyxFQUNqQyxjQUE4QixFQUNsQyxXQUFrQjtRQUp4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDekMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBTztJQUN4RCxDQUFDO0lBRUosV0FBVyxDQUFDLFlBQW1DO1FBQzdDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENB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QyxDQUFBO1lBRXJDLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FBQTs7NkdBNUVVLGVBQWUsK0NBR2hCLG9CQUFvQixhQUNwQixpQkFBaUIsYUFDakIsZ0JBQWdCLGFBQ2hCLFlBQVk7aUhBTlgsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFJTixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2hlY2tvdXQsXG4gIENoZWNrb3V0UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRUeXBlcyxcbiAgQ291cG9uLFxuICBpc05pbCxcbiAgTm90Rm91bmRFcnJvcixcbiAgT3JkZXJSZXBvc2l0b3J5LFxuICBwaWNrLFxuICBTaG9wcyxcbiAgVXNlcixcbiAgVXNlclJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IGNvb2tpZSBmcm9tICdqcy1jb29raWUnXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi9jb25zdHMnXG5cbmltcG9ydCB7IENvdXBvblNlcnZpY2UgfSBmcm9tICcuL2NvdXBvbi5zZXJ2aWNlJ1xuaW1wb3J0IHsgUmVxdWlyZWRDaGVja291dERhdGEgfSBmcm9tICcuL3R5cGVzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3Vwb25TZXJ2aWNlOiBDb3Vwb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoJ0NoZWNrb3V0UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRSZXBvc2l0b3J5OiBDaGVja291dFJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnT3JkZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBvcmRlclJlcG9zaXRvcnk6IE9yZGVyUmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdVc2VyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgKSB7fVxuXG4gIGdldENoZWNrb3V0KGNoZWNrb3V0RGF0YT86IFJlcXVpcmVkQ2hlY2tvdXREYXRhKTogT2JzZXJ2YWJsZTxDaGVja291dD4ge1xuICAgIGNvbnN0IGNoZWNrb3V0SWQgPSBjb29raWUuZ2V0KCdjaGVja291dElkJylcblxuICAgIGlmICghaXNOaWwoY2hlY2tvdXRJZCkpIHJldHVybiBmcm9tKHRoaXMuY2hlY2tvdXRSZXBvc2l0b3J5LmdldCh7IGlkOiBjaGVja291dElkIH0pKVxuXG4gICAgcmV0dXJuIGZyb20odGhpcy5jcmVhdGVDaGVja291dChjaGVja291dERhdGEpKVxuICB9XG5cbiAgZ2V0VXNlckJ5Q2hlY2tvdXQoY2hlY2tvdXRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5jaGVja291dFJlcG9zaXRvcnkuZ2V0KHsgaWQ6IGNoZWNrb3V0SWQgfSkpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGNoZWNrb3V0KSA9PlxuICAgICAgICBjaGVja291dD8udXNlcj8uaWQgPyBvZihjaGVja291dC51c2VyKSA6IGZyb20odGhpcy51c2VyUmVwb3NpdG9yeS5nZXQoeyBpZDogY2hlY2tvdXQudXNlci5pZCB9KSksXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCh1c2VyKSA9PiBvZih1c2VyKSB8fCB0aHJvd0Vycm9yKCgpID0+IG5ldyBOb3RGb3VuZEVycm9yKCdVc2VyIGlzIG5vdCBmb3VuZCcpKSksXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlQ2hlY2tvdXRMaW5lSXRlbXMoY2hlY2tvdXQ6IFBhcnRpYWw8Q2hlY2tvdXQ+KTogT2JzZXJ2YWJsZTxDaGVja291dD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuY2hlY2tvdXRSZXBvc2l0b3J5LnVwZGF0ZShDaGVja291dC50b0luc3RhbmNlKHsgaWQ6IGNoZWNrb3V0LmlkLCBsaW5lSXRlbXM6IGNoZWNrb3V0LmxpbmVJdGVtcyB9KSkpXG4gIH1cblxuICB1cGRhdGVDaGVja291dFVzZXIoY2hlY2tvdXQ6IFBhcnRpYWw8Q2hlY2tvdXQ+KTogT2JzZXJ2YWJsZTxDaGVja291dD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuY2hlY2tvdXRSZXBvc2l0b3J5LnVwZGF0ZShDaGVja291dC50b0luc3RhbmNlKHsgaWQ6IGNoZWNrb3V0LmlkLCB1c2VyOiBjaGVja291dC51c2VyIH0pKSlcbiAgfVxuXG4gIGNsZWFyQ2hlY2tvdXRGcm9tU2Vzc2lvbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb29raWUucmVtb3ZlKCdjaGVja291dElkJylcblxuICAgIHJldHVybiBvZigpXG4gIH1cblxuICBhcHBseUN1cG9uKGNvdXBvbjogQ291cG9uKSB7fVxuXG4gIC8vIGNoZWNrQ291cG9uKG5pY2tuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbmFuY2lhbENvdXBvbj4ge1xuICAvLyAgIHJldHVybiB0aGlzLmdldENoZWNrb3V0KCkucGlwZShcbiAgLy8gICAgIGNvbmNhdE1hcCgoY2hlY2tvdXQpID0+XG4gIC8vICAgICAgIHRoaXMuY291cG9uU2VydmljZS5jaGVja0NvdXBvbihuaWNrbmFtZSwgY2hlY2tvdXQudXNlcj8uZW1haWwsIENoZWNrb3V0VHlwZXMuRUNPTU1FUkNFKS5waXBlKFxuICAvLyAgICAgICAgIGNvbmNhdE1hcCgoY291cG9ucykgPT4gb2YoY291cG9ucy5zaGlmdCgpKSksXG4gIC8vICAgICAgICAgY29uY2F0TWFwKChjb3Vwb24pID0+XG4gIC8vICAgICAgICAgICAhIWNoZWNrb3V0LnVzZXI/LmVtYWlsXG4gIC8vICAgICAgICAgICAgID8gZnJvbShcbiAgLy8gICAgICAgICAgICAgICAgIHRoaXMub3JkZXJSZXBvc2l0b3J5LmZpbmQoW3sgdXNlcjogeyBlbWFpbDogY2hlY2tvdXQudXNlcj8uZW1haWwgfSwgY291cG9uOiB7IGlkOiBjb3Vwb24uaWQgfSB9XSksXG4gIC8vICAgICAgICAgICAgICAgKS5waXBlKFxuICAvLyAgICAgICAgICAgICAgICAgY29uY2F0TWFwKChvcmRlcnMpID0+IHtcbiAgLy8gICAgICAgICAgICAgICAgICAgaWYgKG9yZGVycy5kYXRhLmxlbmd0aCA+PSAoY291cG9uLnVzZUxpbWl0IHx8IEluZmluaXR5KSlcbiAgLy8gICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ0NvdXBvbiBpcyBhbHJlYWR5IGFwcGxpZWQnKSlcblxuICAvLyAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoY291cG9uKVxuICAvLyAgICAgICAgICAgICAgICAgfSksXG4gIC8vICAgICAgICAgICAgICAgKVxuICAvLyAgICAgICAgICAgICA6IG9mKGNvdXBvbiksXG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgKSxcbiAgLy8gICAgICksXG4gIC8vICAgKVxuICAvLyB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVDaGVja291dChjaGVja291dERhdGE/OiBSZXF1aXJlZENoZWNrb3V0RGF0YSk6IFByb21pc2U8Q2hlY2tvdXQ+IHtcbiAgICBjb25zdCBjaGVja291dCA9IGF3YWl0IHRoaXMuY2hlY2tvdXRSZXBvc2l0b3J5LmNyZWF0ZSh7XG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAuLi5DaGVja291dC50b0luc3RhbmNlKHBpY2soY2hlY2tvdXREYXRhLCBbJ3VzZXInLCAnc2hvcCddKSkudG9QbGFpbigpLFxuICAgICAgc2hvcDogY2hlY2tvdXREYXRhPy5zaG9wIHx8IHRoaXMuZGVmYXVsdFNob3AsXG4gICAgfSlcblxuICAgIGNvb2tpZS5zZXQoJ2NoZWNrb3V0SWQnLCBjaGVja291dC5pZClcblxuICAgIHJldHVybiBjaGVja291dFxuICB9XG59XG4iXX0=
|
|
@@ -1,70 +1,98 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
valids: []
|
|
30
|
-
invalids: [],
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
throw new InvalidCouponError('
|
|
49
|
-
if (coupon
|
|
50
|
-
throw new InvalidCouponError('Coupon is
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { CheckoutTypes, Coupon, Exclusivities, NotFoundError, Shops, Where, } from '@infrab4a/connect';
|
|
4
|
+
import { from, throwError } from 'rxjs';
|
|
5
|
+
import { concatMap, map } from 'rxjs/operators';
|
|
6
|
+
import { DEFAULT_SHOP } from '../consts';
|
|
7
|
+
import { InvalidCouponError } from './errors';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@infrab4a/connect";
|
|
10
|
+
export class CouponService {
|
|
11
|
+
constructor(couponRepository, defaultShop, orderRepository) {
|
|
12
|
+
this.couponRepository = couponRepository;
|
|
13
|
+
this.defaultShop = defaultShop;
|
|
14
|
+
this.orderRepository = orderRepository;
|
|
15
|
+
this.emailIsFromCollaborator = (userEmail) => !!(userEmail === null || userEmail === void 0 ? void 0 : userEmail.match(/@b4a.com.br/g));
|
|
16
|
+
this.separateValidCoupons = (coupons, userEmail) => coupons
|
|
17
|
+
.map((coupon) => {
|
|
18
|
+
try {
|
|
19
|
+
if (!(coupon instanceof Coupon))
|
|
20
|
+
throw new InvalidCouponError('Coupon is not valid');
|
|
21
|
+
if (this.isValidCoupon(coupon, userEmail))
|
|
22
|
+
return coupon;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return error;
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
.reduce((current, coupon) => (Object.assign(Object.assign({}, current), (coupon instanceof Coupon
|
|
29
|
+
? { valids: [...current.valids, coupon] }
|
|
30
|
+
: { invalids: [...current.invalids, coupon] }))), {
|
|
31
|
+
valids: [],
|
|
32
|
+
invalids: [],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
checkCoupon(nickname, userEmail, checkoutType, plan) {
|
|
36
|
+
return from(this.couponRepository.find([
|
|
37
|
+
{
|
|
38
|
+
nickname: { operator: Where.EQUALS, value: nickname },
|
|
39
|
+
// shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },
|
|
40
|
+
// checkoutType: { operator: Where.EQUALS, value: checkoutType },
|
|
41
|
+
},
|
|
42
|
+
])).pipe(concatMap((coupons) => this.checkCouponRules(coupons, checkoutType)), concatMap((coupons) => this.checkCouponUseLimit(coupons, userEmail)), map((coupon) => this.isValidCoupon(coupon, userEmail)));
|
|
43
|
+
}
|
|
44
|
+
isValidCoupon(coupon, userEmail) {
|
|
45
|
+
if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)
|
|
46
|
+
throw new InvalidCouponError('User is not a collaborator');
|
|
47
|
+
if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)
|
|
48
|
+
throw new InvalidCouponError('Coupon is not valid for user');
|
|
49
|
+
if ((coupon === null || coupon === void 0 ? void 0 : coupon.expiresIn) < new Date())
|
|
50
|
+
throw new InvalidCouponError('Coupon is expired');
|
|
51
|
+
return coupon;
|
|
52
|
+
}
|
|
53
|
+
checkCouponRules(coupons, checkoutType, plan) {
|
|
54
|
+
// coupons.count < 1 ? return throwError(() => new NotFoundError('Coupon not found')) : return of(coupons.data);
|
|
55
|
+
if (coupons.count < 1)
|
|
56
|
+
return throwError(() => new NotFoundError('Coupon not found'));
|
|
57
|
+
const isInShop = coupons.data.find((c) => c.shopAvailability == Shops.ALL || c.shopAvailability == this.defaultShop);
|
|
58
|
+
if (!isInShop)
|
|
59
|
+
return throwError(() => new NotFoundError('Coupon not found'));
|
|
60
|
+
const isCheckoutType = coupons.data.find((c) => c.checkoutType == CheckoutTypes.ALL || c.checkoutType == checkoutType);
|
|
61
|
+
if (!isCheckoutType)
|
|
62
|
+
return throwError(() => new NotFoundError('Coupon not found'));
|
|
63
|
+
if (checkoutType === CheckoutTypes.ALL || checkoutType === CheckoutTypes.SUBSCRIPTION) {
|
|
64
|
+
//regra
|
|
65
|
+
}
|
|
66
|
+
return coupons.data;
|
|
67
|
+
}
|
|
68
|
+
checkCouponUseLimit(coupons, userEmail) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const coupon = coupons.shift();
|
|
71
|
+
const orders = yield this.orderRepository.find([{ coupon: { id: coupon.id } }]);
|
|
72
|
+
const ordersUserCoupon = orders.data.filter((o) => o.user.email == userEmail);
|
|
73
|
+
if (orders.data.length >= (coupon.useLimit || Infinity))
|
|
74
|
+
return throwError(() => new Error('Coupon já usou tudo'));
|
|
75
|
+
if (ordersUserCoupon.length >= coupon.useLimitPerUser)
|
|
76
|
+
return throwError(() => new Error('Usuário Coupon já usou tudo'));
|
|
77
|
+
return coupon;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
CouponService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CouponService, deps: [{ token: 'CouponRepository' }, { token: DEFAULT_SHOP }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
82
|
+
CouponService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CouponService, providedIn: 'root' });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: CouponService, decorators: [{
|
|
84
|
+
type: Injectable,
|
|
85
|
+
args: [{
|
|
86
|
+
providedIn: 'root',
|
|
87
|
+
}]
|
|
88
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
89
|
+
type: Inject,
|
|
90
|
+
args: ['CouponRepository']
|
|
91
|
+
}] }, { type: i1.Shops, decorators: [{
|
|
92
|
+
type: Inject,
|
|
93
|
+
args: [DEFAULT_SHOP]
|
|
94
|
+
}] }, { type: undefined, decorators: [{
|
|
95
|
+
type: Inject,
|
|
96
|
+
args: ['OrderRepository']
|
|
97
|
+
}] }]; } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NvdXBvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFFTixhQUFhLEVBQ2IsYUFBYSxFQUViLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsSUFBSSxFQUFjLFVBQVUsRUFBdUIsTUFBTSxNQUFNLENBQUE7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhDLE9BQU8sRUFBMkIsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7OztBQUt0RSxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUMrQyxnQkFBa0MsRUFDeEMsV0FBa0IsRUFDYixlQUFnQztRQUYvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3hDLGdCQUFXLEdBQVgsV0FBVyxDQUFPO1FBQ2Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBcUN0RSw0QkFBdUIsR0FBRyxDQUFDLFNBQWlCLEVBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUEsQ0FBQTtRQUU1Rix5QkFBb0IsR0FBRyxDQUM3QixPQUFpQixFQUNqQixTQUFpQixFQUNxQyxFQUFFLENBQ3hELE9BQU87YUFDSixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNkLElBQUk7Z0JBQ0YsSUFBSSxDQUFDLENBQUMsTUFB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QU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtZQUVsSCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsZUFBZTtnQkFDbkQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFBO1lBRW5FLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztLQUFBOzsyR0F2R1UsYUFBYSxrQkFFZCxrQkFBa0IsYUFDbEIsWUFBWSxhQUNaLGlCQUFpQjsrR0FKaEIsYUFBYSxjQUZaLE1BQU07NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2hlY2tvdXRUeXBlcyxcbiAgQ291cG9uLFxuICBDb3Vwb25SZXBvc2l0b3J5LFxuICBFeGNsdXNpdml0aWVzLFxuICBOb3RGb3VuZEVycm9yLFxuICBPcmRlclJlcG9zaXRvcnksXG4gIFNob3BzLFxuICBXaGVyZSxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBvZiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi9jb25zdHMnXG5cbmltcG9ydCB7IEdyb3VwSW52YWxpZENvdXBvbkVycm9yLCBJbnZhbGlkQ291cG9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvdXBvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdDb3Vwb25SZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBjb3Vwb25SZXBvc2l0b3J5OiBDb3Vwb25SZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJSZXBvc2l0b3J5LFxuICApIHt9XG5cbiAgY2hlY2tDb3Vwb24obmlja25hbWU6IHN0cmluZywgdXNlckVtYWlsOiBzdHJpbmcsIGNoZWNrb3V0VHlwZTogQ2hlY2tvdXRUeXBlcywgcGxhbj86IHN0cmluZyk6IE9ic2VydmFibGU8Q291cG9uPiB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmNvdXBvblJlcG9zaXRvcnkuZmluZChbXG4gICAgICAgIHtcbiAgICAgICAgICBuaWNrbmFtZTogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogbmlja25hbWUgfSxcbiAgICAgICAgICAvLyBzaG9wQXZhaWxhYmlsaXR5OiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiB0aGlzLmRlZmF1bHRTaG9wIH0sXG4gICAgICAgICAgLy8gY2hlY2tvdXRUeXBlOiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiBjaGVja291dFR5cGUgfSxcbiAgICAgICAgfSxcbiAgICAgIF0pLFxuICAgICkucGlwZShcbiAgICAgIGNvbmNhdE1hcCgoY291cG9ucykgPT4gdGhpcy5jaGVja0NvdXBvblJ1bGVzKGNvdXBvbnMsIGNoZWNrb3V0VHlwZSkpLFxuICAgICAgY29uY2F0TWFwKChjb3Vwb25zOiBDb3Vwb25bXSkgPT4gdGhpcy5jaGVja0NvdXBvblVzZUxpbWl0KGNvdXBvbnMsIHVzZXJFbWFpbCkpLFxuICAgICAgbWFwKChjb3Vwb246IENvdXBvbikgPT4gdGhpcy5pc1ZhbGlkQ291cG9uKGNvdXBvbiwgdXNlckVtYWlsKSksXG4gICAgICAvLyBtYXAoKGNvdXBvbjogQ291cG9uKSA9PiBjb3Vwb24pXG5cbiAgICAgIC8vIG1hcCgoY291cG9ucykgPT4gdGhpcy5zZXBhcmF0ZVZhbGlkQ291cG9ucyhjb3Vwb25zLCB1c2VyRW1haWwpKSxcbiAgICAgIC8vIG1hcCgoeyB2YWxpZHMsIGludmFsaWRzIH0pID0+IHtcbiAgICAgIC8vICAgaWYgKCF2YWxpZHMubGVuZ3RoKSB0aHJvdyBuZXcgR3JvdXBJbnZhbGlkQ291cG9uRXJyb3IoaW52YWxpZHMpXG5cbiAgICAgIC8vICAgcmV0dXJuIHZhbGlkc1xuICAgICAgLy8gfSksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkQ291cG9uKGNvdXBvbjogQ291cG9uLCB1c2VyRW1haWw6IHN0cmluZyk6IENvdXBvbiB7XG4gICAgaWYgKCF0aGlzLmVtYWlsSXNGcm9tQ29sbGFib3JhdG9yKHVzZXJFbWFpbCkgJiYgY291cG9uLmV4Y2x1c2l2aXR5VHlwZSA9PT0gRXhjbHVzaXZpdGllcy5DT0xMQUJPUkFUT1JTKVxuICAgICAgdGhyb3cgbmV3IEludmFsaWRDb3Vwb25FcnJvcignVXNlciBpcyBub3QgYSBjb2xsYWJvcmF0b3InKVxuICAgIGlmIChjb3Vwb24uZXhjbHVzaXZpdHlUeXBlID09PSBFeGNsdXNpdml0aWVzLlNQRUNJRklDX1VTRVIgJiYgY291cG9uLnJlY2lwaWVudCAhPT0gdXNlckVtYWlsKVxuICAgICAgdGhyb3cgbmV3IEludmFsaWRDb3Vwb25FcnJvcignQ291cG9uIGlzIG5vdCB2YWxpZCBmb3IgdXNlcicpXG4gICAgaWYgKGNvdXBvbj8uZXhwaXJlc0luIDwgbmV3IERhdGUoKSkgdGhyb3cgbmV3IEludmFsaWRDb3Vwb25FcnJvcignQ291cG9uIGlzIGV4cGlyZWQnKVxuXG4gICAgcmV0dXJuIGNvdXBvblxuICB9XG5cbiAgcHJpdmF0ZSBlbWFpbElzRnJvbUNvbGxhYm9yYXRvciA9ICh1c2VyRW1haWw6IHN0cmluZyk6IGJvb2xlYW4gPT4gISF1c2VyRW1haWw/Lm1hdGNoKC9AYjRhLmNvbS5ici9nKVxuXG4gIHByaXZhdGUgc2VwYXJhdGVWYWxpZENvdXBvbnMgPSAoXG4gICAgY291cG9uczogQ291cG9uW10sXG4gICAgdXNlckVtYWlsOiBzdHJpbmcsXG4gICk6IHsgdmFsaWRzOiBDb3Vwb25bXTsgaW52YWxpZHM6IEludmFsaWRDb3Vwb25FcnJvcltdIH0gPT5cbiAgICBjb3Vwb25zXG4gICAgICAubWFwKChjb3Vwb24pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoIShjb3Vwb24gaW5zdGFuY2VvZiBDb3Vwb24pKSB0aHJvdyBuZXcgSW52YWxpZENvdXBvbkVycm9yKCdDb3Vwb24gaXMgbm90IHZhbGlkJylcbiAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkQ291cG9uKGNvdXBvbiwgdXNlckVtYWlsKSkgcmV0dXJuIGNvdXBvblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiBlcnJvciBhcyBJbnZhbGlkQ291cG9uRXJyb3JcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChjdXJyZW50LCBjb3Vwb24pID0+ICh7XG4gICAgICAgICAgLi4uY3VycmVudCxcbiAgICAgICAgICAuLi4oY291cG9uIGluc3RhbmNlb2YgQ291cG9uXG4gICAgICAgICAgICA/IHsgdmFsaWRzOiBbLi4uY3VycmVudC52YWxpZHMsIGNvdXBvbl0gfVxuICAgICAgICAgICAgOiB7IGludmFsaWRzOiBbLi4uY3VycmVudC5pbnZhbGlkcywgY291cG9uXSB9KSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICB2YWxpZHM6IFtdIGFzIENvdXBvbltdLFxuICAgICAgICAgIGludmFsaWRzOiBbXSBhcyBJbnZhbGlkQ291cG9uRXJyb3JbXSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICBwcml2YXRlIGNoZWNrQ291cG9uUnVsZXMoY291cG9ucywgY2hlY2tvdXRUeXBlOiBDaGVja291dFR5cGVzLCBwbGFuPzogc3RyaW5nKSB7XG4gICAgLy8gY291cG9ucy5jb3VudCA8IDEgPyByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgTm90Rm91bmRFcnJvcignQ291cG9uIG5vdCBmb3VuZCcpKSA6IHJldHVybiBvZihjb3Vwb25zLmRhdGEpO1xuICAgIGlmIChjb3Vwb25zLmNvdW50IDwgMSkgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IE5vdEZvdW5kRXJyb3IoJ0NvdXBvbiBub3QgZm91bmQnKSlcblxuICAgIGNvbnN0IGlzSW5TaG9wID0gY291cG9ucy5kYXRhLmZpbmQoKGMpID0+IGMuc2hvcEF2YWlsYWJpbGl0eSA9PSBTaG9wcy5BTEwgfHwgYy5zaG9wQXZhaWxhYmlsaXR5ID09IHRoaXMuZGVmYXVsdFNob3ApXG5cbiAgICBpZiAoIWlzSW5TaG9wKSByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgTm90Rm91bmRFcnJvcignQ291cG9uIG5vdCBmb3VuZCcpKVxuXG4gICAgY29uc3QgaXNDaGVja291dFR5cGUgPSBjb3Vwb25zLmRhdGEuZmluZChcbiAgICAgIChjKSA9PiBjLmNoZWNrb3V0VHlwZSA9PSBDaGVja291dFR5cGVzLkFMTCB8fCBjLmNoZWNrb3V0VHlwZSA9PSBjaGVja291dFR5cGUsXG4gICAgKVxuXG4gICAgaWYgKCFpc0NoZWNrb3V0VHlwZSkgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IE5vdEZvdW5kRXJyb3IoJ0NvdXBvbiBub3QgZm91bmQnKSlcblxuICAgIGlmIChjaGVja291dFR5cGUgPT09IENoZWNrb3V0VHlwZXMuQUxMIHx8IGNoZWNrb3V0VHlwZSA9PT0gQ2hlY2tvdXRUeXBlcy5TVUJTQ1JJUFRJT04pIHtcbiAgICAgIC8vcmVncmFcbiAgICB9XG5cbiAgICByZXR1cm4gY291cG9ucy5kYXRhXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrQ291cG9uVXNlTGltaXQoY291cG9uczogQ291cG9uW10sIHVzZXJFbWFpbDogc3RyaW5nKSB7XG4gICAgY29uc3QgY291cG9uOiBDb3Vwb24gPSBjb3Vwb25zLnNoaWZ0KClcblxuICAgIGNvbnN0IG9yZGVycyA9IGF3YWl0IHRoaXMub3JkZXJSZXBvc2l0b3J5LmZpbmQoW3sgY291cG9uOiB7IGlkOiBjb3Vwb24uaWQgfSB9XSlcblxuICAgIGNvbnN0IG9yZGVyc1VzZXJDb3Vwb24gPSBvcmRlcnMuZGF0YS5maWx0ZXIoKG8pID0+IG8udXNlci5lbWFpbCA9PSB1c2VyRW1haWwpXG5cbiAgICBpZiAob3JkZXJzLmRhdGEubGVuZ3RoID49IChjb3Vwb24udXNlTGltaXQgfHwgSW5maW5pdHkpKSByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ0NvdXBvbiBqw6EgdXNvdSB0dWRvJykpXG5cbiAgICBpZiAob3JkZXJzVXNlckNvdXBvbi5sZW5ndGggPj0gY291cG9uLnVzZUxpbWl0UGVyVXNlcilcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignVXN1w6FyaW8gQ291cG9uIGrDoSB1c291IHR1ZG8nKSlcblxuICAgIHJldHVybiBjb3Vwb25cbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export class GroupInvalidCouponError extends Error {
|
|
2
|
-
constructor(errors) {
|
|
3
|
-
super('Many coupon errors throw');
|
|
4
|
-
this.errors = errors;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class GroupInvalidCouponError extends Error {
|
|
2
|
+
constructor(errors) {
|
|
3
|
+
super('Many coupon errors throw');
|
|
4
|
+
this.errors = errors;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtaW52YWxpZC1jb3Vwb24uZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9ncm91cC1pbnZhbGlkLWNvdXBvbi5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUNoRCxZQUFxQixNQUE0QjtRQUMvQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQURkLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBRWpELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRDb3Vwb25FcnJvciB9IGZyb20gJy4vaW52YWxpZC1jb3Vwb24uZXJyb3InXG5cbmV4cG9ydCBjbGFzcyBHcm91cEludmFsaWRDb3Vwb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZXJyb3JzOiBJbnZhbGlkQ291cG9uRXJyb3JbXSkge1xuICAgIHN1cGVyKCdNYW55IGNvdXBvbiBlcnJvcnMgdGhyb3cnKVxuICB9XG59XG4iXX0=
|