@osovitny/anatoly 3.17.79 → 3.17.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2022/lib/billing/billing.module.mjs +9 -12
  2. package/esm2022/lib/billing/components/braintree/braintree.component.mjs +155 -0
  3. package/esm2022/lib/billing/components/exports.mjs +22 -0
  4. package/esm2022/lib/billing/components/index.mjs +25 -0
  5. package/esm2022/lib/billing/components/paypal/paypal-button.component.mjs +157 -0
  6. package/esm2022/lib/billing/components/paypal/paypal.component.mjs +316 -0
  7. package/esm2022/lib/billing/components/stripe/stripe.component.mjs +109 -0
  8. package/esm2022/lib/billing/exports.mjs +3 -4
  9. package/esm2022/lib/billing/services/payments.service.mjs +173 -0
  10. package/esm2022/lib/data/data.module.mjs +4 -1
  11. package/esm2022/lib/data/exports.mjs +3 -1
  12. package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +37 -0
  13. package/fesm2022/osovitny-anatoly.mjs +51 -21
  14. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  15. package/lib/billing/billing.module.d.ts +4 -4
  16. package/lib/billing/{payments/components → components}/braintree/braintree.component.d.ts +3 -3
  17. package/lib/billing/components/index.d.ts +2 -0
  18. package/lib/billing/{payments/components → components}/paypal/paypal-button.component.d.ts +3 -3
  19. package/lib/billing/{payments/components → components}/paypal/paypal.component.d.ts +3 -3
  20. package/lib/billing/{payments/components → components}/stripe/stripe.component.d.ts +2 -2
  21. package/lib/billing/exports.d.ts +2 -2
  22. package/lib/billing/{payments/services → services}/payments.service.d.ts +4 -4
  23. package/lib/data/exports.d.ts +2 -0
  24. package/lib/data/services/billing/discountcodes-api.service.d.ts +11 -0
  25. package/package.json +1 -1
  26. package/esm2022/lib/billing/payments/components/braintree/braintree.component.mjs +0 -155
  27. package/esm2022/lib/billing/payments/components/exports.mjs +0 -22
  28. package/esm2022/lib/billing/payments/components/index.mjs +0 -25
  29. package/esm2022/lib/billing/payments/components/paypal/paypal-button.component.mjs +0 -157
  30. package/esm2022/lib/billing/payments/components/paypal/paypal.component.mjs +0 -316
  31. package/esm2022/lib/billing/payments/components/stripe/stripe.component.mjs +0 -109
  32. package/esm2022/lib/billing/payments/services/payments.service.mjs +0 -173
  33. package/lib/billing/payments/components/index.d.ts +0 -2
  34. /package/lib/billing/{payments/components → components}/exports.d.ts +0 -0
@@ -0,0 +1,173 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Dhruv Agarwal dhruv.agarwal@osovitny.com
9
+
10
+ Created:
11
+ 11 Aug 2024
12
+
13
+ Details:
14
+ https://blog.thoughtram.io/angular/2017/02/21/using-zones-in-angular-for-better-performance.html
15
+
16
+ Copyright (c) 2016-2024 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ //Node
20
+ import { Injectable } from '@angular/core';
21
+ import { Subject } from 'rxjs';
22
+ //App
23
+ import { GABillingEvents } from '../../core/consts/ga';
24
+ import { PaymentMethod, PaymentStage } from '../../core/enums/billing';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "../../data/services/billing/payments-api.service";
27
+ import * as i2 from "../../core/notifications/services/notification-service";
28
+ import * as i3 from "../../core/services/google-analytics.service";
29
+ export class PaymentsService {
30
+ constructor(zone, api, ns, ga) {
31
+ this.zone = zone;
32
+ this.api = api;
33
+ this.ns = ns;
34
+ this.ga = ga;
35
+ this.paymentInProgress = false;
36
+ this.isPaymentFailed = false;
37
+ this.subtotal = 0;
38
+ this.discountCode = null;
39
+ this.discountPercentage = null;
40
+ this.discountAmount = null;
41
+ this.total = 0;
42
+ this.currency = 'USD';
43
+ //Private Streams
44
+ this._discountCodeApplied = new Subject();
45
+ this._paymentAdded = new Subject();
46
+ this._showStripeDialog = new Subject();
47
+ this._showBraintreeDialog = new Subject();
48
+ //Public Streams
49
+ this.discountCodeApplied$ = this._discountCodeApplied.asObservable();
50
+ this.paymentAdded$ = this._paymentAdded.asObservable();
51
+ this.showStripeDialog$ = this._showStripeDialog.asObservable();
52
+ this.showBraintreeDialog$ = this._showBraintreeDialog.asObservable();
53
+ }
54
+ setDefaults() {
55
+ }
56
+ setValues() {
57
+ }
58
+ //fires
59
+ fireDiscountCodeApplied() {
60
+ this._discountCodeApplied.next(this.discountCode);
61
+ }
62
+ firePaymentAdded(paymentId) {
63
+ this._paymentAdded.next(paymentId);
64
+ }
65
+ //Public
66
+ init() {
67
+ this.setDefaults();
68
+ this.setValues();
69
+ }
70
+ resetState() {
71
+ this.subtotal = 0;
72
+ this.total = 0;
73
+ }
74
+ getTotal() {
75
+ let subtotal = this.subtotal;
76
+ if (this.discountAmount != 0) {
77
+ subtotal = subtotal - this.discountAmount;
78
+ }
79
+ else if (this.discountPercentage != 0) {
80
+ subtotal = subtotal - (subtotal * (this.discountPercentage / 100));
81
+ subtotal = +subtotal.toFixed(2);
82
+ }
83
+ return subtotal > 0 ? subtotal : 0;
84
+ }
85
+ //DiscountCode
86
+ applyDiscountCode(discountCode, data) {
87
+ if (!data) {
88
+ return;
89
+ }
90
+ this.discountCode = discountCode;
91
+ if (data.amount) {
92
+ this.discountPercentage = 0;
93
+ this.discountAmount = parseInt(data.amount);
94
+ }
95
+ else if (data.percentage) {
96
+ this.discountPercentage = parseInt(data.percentage);
97
+ this.discountAmount = 0;
98
+ }
99
+ this.fireDiscountCodeApplied();
100
+ }
101
+ getDiscountCodeAsString() {
102
+ if (this.discountAmount > 0) {
103
+ return "$" + this.discountAmount;
104
+ }
105
+ else if (this.discountPercentage > 0) {
106
+ return this.discountPercentage + "%";
107
+ }
108
+ return '$0';
109
+ }
110
+ openStripePaymentDialog() {
111
+ this._showStripeDialog.next(true);
112
+ }
113
+ openBraintreePaymentDialog() {
114
+ this._showBraintreeDialog.next(true);
115
+ }
116
+ closeBraintreePaymentDialog() {
117
+ this._showBraintreeDialog.next(false);
118
+ }
119
+ createStripeSession(title, description, image) {
120
+ const amount = this.getTotal();
121
+ const currency = this.currency;
122
+ return this.api.createStripeSession(amount, currency, title, description, image);
123
+ }
124
+ createBraintreeToken() {
125
+ return this.api.createBraintreeToken();
126
+ }
127
+ pay(paidFor, payId, payStatus, payDetails) {
128
+ //GA
129
+ this.ga.event(GABillingEvents.payment);
130
+ let paidForAsString = JSON.stringify(paidFor);
131
+ let payType = this.selectedPaymentType;
132
+ let payMethod = this.selectedPaymentMethod;
133
+ //Amount
134
+ let subtotal = this.subtotal;
135
+ let promoCode = this.discountCode;
136
+ let total = this.getTotal();
137
+ let currency = this.currency;
138
+ if (total == 0) {
139
+ payMethod = PaymentMethod.None;
140
+ }
141
+ this.zone.run(() => {
142
+ this.api.pay(paidForAsString, payMethod,
143
+ //Amount
144
+ subtotal, promoCode, total, currency,
145
+ //Payment method details (PayPal/Stripe/Braintree)
146
+ payId, payStatus, payDetails, (data) => {
147
+ if (!data || !data?.isPaymentValid) {
148
+ this.paymentFailed(PaymentStage.External);
149
+ return;
150
+ }
151
+ if (payMethod == PaymentMethod.CreditCard) {
152
+ //this.closeBraintreePaymentDialog();
153
+ }
154
+ this.paymentInProgress = false;
155
+ this.firePaymentAdded(data.paymentId);
156
+ }, () => {
157
+ this.paymentFailed(PaymentStage.External);
158
+ });
159
+ });
160
+ }
161
+ paymentFailed(stage) {
162
+ this.paymentStage = stage;
163
+ this.paymentInProgress = false;
164
+ this.isPaymentFailed = true;
165
+ this.ns.error("Payment Failed");
166
+ }
167
+ static { this.ɵfac = function PaymentsService_Factory(t) { return new (t || PaymentsService)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.PaymentsApiService), i0.ɵɵinject(i2.NotificationService), i0.ɵɵinject(i3.GoogleAnalyticsService)); }; }
168
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PaymentsService, factory: PaymentsService.ɵfac }); }
169
+ }
170
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaymentsService, [{
171
+ type: Injectable
172
+ }], () => [{ type: i0.NgZone }, { type: i1.PaymentsApiService }, { type: i2.NotificationService }, { type: i3.GoogleAnalyticsService }], null); })();
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixLQUFLO0FBQ0wsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBTXZFLE1BQU0sT0FBTyxlQUFlO0lBMkIxQixZQUNVLElBQVksRUFDWixHQUF1QixFQUN2QixFQUF1QixFQUN2QixFQUEwQjtRQUgxQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osUUFBRyxHQUFILEdBQUcsQ0FBb0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUE1QnBDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUl4QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGlCQUFpQjtRQUNULHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ25DLHNCQUFpQixHQUFH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QztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBRTVCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsQ0FBQztnRkFyTFUsZUFBZTt1RUFBZixlQUFlLFdBQWYsZUFBZTs7aUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIERocnV2IEFnYXJ3YWwgZGhydXYuYWdhcndhbEBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDExIEF1ZyAyMDI0XHJcblxyXG4gIERldGFpbHM6XHJcbiAgICBodHRwczovL2Jsb2cudGhvdWdodHJhbS5pby9hbmd1bGFyLzIwMTcvMDIvMjEvdXNpbmctem9uZXMtaW4tYW5ndWxhci1mb3ItYmV0dGVyLXBlcmZvcm1hbmNlLmh0bWxcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEdBQmlsbGluZ0V2ZW50cyB9IGZyb20gJy4uLy4uL2NvcmUvY29uc3RzL2dhJztcclxuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCwgUGF5bWVudFN0YWdlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9iaWxsaW5nJztcclxuaW1wb3J0IHsgUGF5bWVudHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9zZXJ2aWNlcy9iaWxsaW5nL3BheW1lbnRzLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZSc7XHJcbmltcG9ydCB7IEdvb2dsZUFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYXltZW50c1NlcnZpY2Uge1xyXG4gIC8vUGF5bWVudFxyXG4gIHBheW1lbnRTdGFnZTtcclxuICBwYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIGlzUGF5bWVudEZhaWxlZCA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZFBheW1lbnRUeXBlO1xyXG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZDtcclxuICBzdWJ0b3RhbCA9IDA7XHJcbiAgZGlzY291bnRDb2RlID0gbnVsbDtcclxuICBkaXNjb3VudFBlcmNlbnRhZ2UgPSBudWxsO1xyXG4gIGRpc2NvdW50QW1vdW50ID0gbnVsbDtcclxuICB0b3RhbCA9IDA7XHJcbiAgY3VycmVuY3kgPSAnVVNEJztcclxuXHJcbiAgLy9Qcml2YXRlIFN0cmVhbXNcclxuICBwcml2YXRlIF9kaXNjb3VudENvZGVBcHBsaWVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIHByaXZhdGUgX3BheW1lbnRBZGRlZCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwcml2YXRlIF9zaG93U3RyaXBlRGlhbG9nID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIHByaXZhdGUgX3Nob3dCcmFpbnRyZWVEaWFsb2cgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8vUHVibGljIFN0cmVhbXNcclxuICByZWFkb25seSBkaXNjb3VudENvZGVBcHBsaWVkJCA9IHRoaXMuX2Rpc2NvdW50Q29kZUFwcGxpZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcmVhZG9ubHkgcGF5bWVudEFkZGVkJCA9IHRoaXMuX3BheW1lbnRBZGRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSBzaG93U3RyaXBlRGlhbG9nJCA9IHRoaXMuX3Nob3dTdHJpcGVEaWFsb2cuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcmVhZG9ubHkgc2hvd0JyYWludHJlZURpYWxvZyQgPSB0aGlzLl9zaG93QnJhaW50cmVlRGlhbG9nLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBhcGk6IFBheW1lbnRzQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgbnM6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdhOiBHb29nbGVBbmFseXRpY3NTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRzKCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgfVxyXG5cclxuICAvL2ZpcmVzXHJcbiAgcHJpdmF0ZSBmaXJlRGlzY291bnRDb2RlQXBwbGllZCgpIHtcclxuICAgIHRoaXMuX2Rpc2NvdW50Q29kZUFwcGxpZWQubmV4dCh0aGlzLmRpc2NvdW50Q29kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpcmVQYXltZW50QWRkZWQocGF5bWVudElkKSB7XHJcbiAgICB0aGlzLl9wYXltZW50QWRkZWQubmV4dChwYXltZW50SWQpO1xyXG4gIH1cclxuXHJcbiAgLy9QdWJsaWNcclxuICBpbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0cygpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0U3RhdGUoKSB7XHJcbiAgICB0aGlzLnN1YnRvdGFsID0gMDtcclxuICAgIHRoaXMudG90YWwgPSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWwoKSB7XHJcbiAgICBsZXQgc3VidG90YWwgPSB0aGlzLnN1YnRvdGFsO1xyXG5cclxuICAgIGlmICh0aGlzLmRpc2NvdW50QW1vdW50ICE9IDApIHtcclxuICAgICAgc3VidG90YWwgPSBzdWJ0b3RhbCAtIHRoaXMuZGlzY291bnRBbW91bnQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmRpc2NvdW50UGVyY2VudGFnZSAhPSAwKSB7XHJcbiAgICAgIHN1YnRvdGFsID0gc3VidG90YWwgLSAoc3VidG90YWwgKiAodGhpcy5kaXNjb3VudFBlcmNlbnRhZ2UgLyAxMDApKTtcclxuICAgICAgc3VidG90YWwgPSArc3VidG90YWwudG9GaXhlZCgyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3VidG90YWwgPiAwID8gc3VidG90YWwgOiAwO1xyXG4gIH1cclxuXHJcbiAgLy9EaXNjb3VudENvZGVcclxuICBhcHBseURpc2NvdW50Q29kZShkaXNjb3VudENvZGUsIGRhdGEpIHtcclxuICAgIGlmICghZGF0YSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kaXNjb3VudENvZGUgPSBkaXNjb3VudENvZGU7XHJcblxyXG4gICAgaWYgKGRhdGEuYW1vdW50KSB7XHJcbiAgICAgIHRoaXMuZGlzY291bnRQZXJjZW50YWdlID0gMDtcclxuICAgICAgdGhpcy5kaXNjb3VudEFtb3VudCA9IHBhcnNlSW50KGRhdGEuYW1vdW50KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGEucGVyY2VudGFnZSkge1xyXG4gICAgICB0aGlzLmRpc2NvdW50UGVyY2VudGFnZSA9IHBhcnNlSW50KGRhdGEucGVyY2VudGFnZSk7XHJcbiAgICAgIHRoaXMuZGlzY291bnRBbW91bnQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlyZURpc2NvdW50Q29kZUFwcGxpZWQoKTtcclxuICB9XHJcblxyXG4gIGdldERpc2NvdW50Q29kZUFzU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5kaXNjb3VudEFtb3VudCA+IDApIHtcclxuICAgICAgcmV0dXJuIFwiJFwiICsgdGhpcy5kaXNjb3VudEFtb3VudDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuZGlzY291bnRQZXJjZW50YWdlID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3VudFBlcmNlbnRhZ2UgKyBcIiVcIjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyQwJztcclxuICB9XHJcblxyXG4gIG9wZW5TdHJpcGVQYXltZW50RGlhbG9nKCkge1xyXG4gICAgdGhpcy5fc2hvd1N0cmlwZURpYWxvZy5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkJyYWludHJlZVBheW1lbnREaWFsb2coKSB7XHJcbiAgICB0aGlzLl9zaG93QnJhaW50cmVlRGlhbG9nLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUJyYWludHJlZVBheW1lbnREaWFsb2coKSB7XHJcbiAgICB0aGlzLl9zaG93QnJhaW50cmVlRGlhbG9nLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3RyaXBlU2Vzc2lvbih0aXRsZSwgZGVzY3JpcHRpb24sIGltYWdlKSB7XHJcbiAgICBjb25zdCBhbW91bnQgPSB0aGlzLmdldFRvdGFsKCk7XHJcbiAgICBjb25zdCBjdXJyZW5jeSA9IHRoaXMuY3VycmVuY3k7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYXBpLmNyZWF0ZVN0cmlwZVNlc3Npb24oYW1vdW50LCBjdXJyZW5jeSwgdGl0bGUsIGRlc2NyaXB0aW9uLCBpbWFnZSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVCcmFpbnRyZWVUb2tlbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaS5jcmVhdGVCcmFpbnRyZWVUb2tlbigpO1xyXG4gIH1cclxuXHJcbiAgcGF5KHBhaWRGb3IsIHBheUlkLCBwYXlTdGF0dXMsIHBheURldGFpbHMpIHtcclxuICAgIC8vR0FcclxuICAgIHRoaXMuZ2EuZXZlbnQoR0FCaWxsaW5nRXZlbnRzLnBheW1lbnQpO1xyXG5cclxuICAgIGxldCBwYWlkRm9yQXNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShwYWlkRm9yKTtcclxuICAgIGxldCBwYXlUeXBlID0gdGhpcy5zZWxlY3RlZFBheW1lbnRUeXBlO1xyXG4gICAgbGV0IHBheU1ldGhvZCA9IHRoaXMuc2VsZWN0ZWRQYXltZW50TWV0aG9kO1xyXG5cclxuICAgIC8vQW1vdW50XHJcbiAgICBsZXQgc3VidG90YWwgPSB0aGlzLnN1YnRvdGFsO1xyXG4gICAgbGV0IHByb21vQ29kZSA9IHRoaXMuZGlzY291bnRDb2RlO1xyXG4gICAgbGV0IHRvdGFsID0gdGhpcy5nZXRUb3RhbCgpO1xyXG4gICAgbGV0IGN1cnJlbmN5ID0gdGhpcy5jdXJyZW5jeTtcclxuXHJcbiAgICBpZiAodG90YWwgPT0gMCkge1xyXG4gICAgICBwYXlNZXRob2QgPSBQYXltZW50TWV0aG9kLk5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBpLnBheShcclxuICAgICAgICBwYWlkRm9yQXNTdHJpbmcsIHBheU1ldGhvZCxcclxuXHJcbiAgICAgICAgLy9BbW91bnRcclxuICAgICAgICBzdWJ0b3RhbCwgcHJvbW9Db2RlLCB0b3RhbCwgY3VycmVuY3ksXHJcblxyXG4gICAgICAgIC8vUGF5bWVudCBtZXRob2QgZGV0YWlscyAoUGF5UGFsL1N0cmlwZS9CcmFpbnRyZWUpXHJcbiAgICAgICAgcGF5SWQsIHBheVN0YXR1cywgcGF5RGV0YWlscyxcclxuXHJcbiAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmICghZGF0YSB8fCAhZGF0YT8uaXNQYXltZW50VmFsaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXltZW50RmFpbGVkKFBheW1lbnRTdGFnZS5FeHRlcm5hbCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAocGF5TWV0aG9kID09IFBheW1lbnRNZXRob2QuQ3JlZGl0Q2FyZCkge1xyXG4gICAgICAgICAgICAvL3RoaXMuY2xvc2VCcmFpbnRyZWVQYXltZW50RGlhbG9nKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5wYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5maXJlUGF5bWVudEFkZGVkKGRhdGEucGF5bWVudElkKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMucGF5bWVudEZhaWxlZChQYXltZW50U3RhZ2UuRXh0ZXJuYWwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwYXltZW50RmFpbGVkKHN0YWdlOiBQYXltZW50U3RhZ2UpIHtcclxuICAgIHRoaXMucGF5bWVudFN0YWdlID0gc3RhZ2U7XHJcbiAgICB0aGlzLnBheW1lbnRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzUGF5bWVudEZhaWxlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5ucy5lcnJvcihcIlBheW1lbnQgRmFpbGVkXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,6 +16,7 @@
16
16
  import { NgModule } from '@angular/core';
17
17
  import { CommonModule } from '@angular/common';
18
18
  //Billing
19
+ import { DiscountCodesApiService } from './services/billing/discountcodes-api.service';
19
20
  import { PaymentsApiService } from './services/billing/payments-api.service';
20
21
  //App
21
22
  import { CoreApiService } from './services/core-api.service';
@@ -26,6 +27,7 @@ export class AnatolyDataModule {
26
27
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyDataModule }); }
27
28
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
28
29
  //Billing
30
+ DiscountCodesApiService,
29
31
  PaymentsApiService,
30
32
  //App
31
33
  CoreApiService,
@@ -40,6 +42,7 @@ export class AnatolyDataModule {
40
42
  ],
41
43
  providers: [
42
44
  //Billing
45
+ DiscountCodesApiService,
43
46
  PaymentsApiService,
44
47
  //App
45
48
  CoreApiService,
@@ -48,4 +51,4 @@ export class AnatolyDataModule {
48
51
  }]
49
52
  }], null, null); })();
50
53
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyDataModule, { imports: [CommonModule] }); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9kYXRhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFNBQVM7QUFDVCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU3RSxLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWVqRSxNQUFNLE9BQU8saUJBQWlCO2tGQUFqQixpQkFBaUI7bUVBQWpCLGlCQUFpQjt3RUFUakI7WUFDVCxTQUFTO1lBQ1Qsa0JBQWtCO1lBRWxCLEtBQUs7WUFDTCxjQUFjO1lBQ2QsZ0JBQWdCO1NBQ2pCLFlBVEMsWUFBWTs7aUZBV0gsaUJBQWlCO2NBYjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsU0FBUztvQkFDVCxrQkFBa0I7b0JBRWxCLEtBQUs7b0JBQ0wsY0FBYztvQkFDZCxnQkFBZ0I7aUJBQ2pCO2FBQ0Y7O3dGQUNZLGlCQUFpQixjQVgxQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDQgTWFyIDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8vQmlsbGluZ1xyXG5pbXBvcnQgeyBQYXltZW50c0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvcGF5bWVudHMtYXBpLnNlcnZpY2UnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLy9CaWxsaW5nXHJcbiAgICBQYXltZW50c0FwaVNlcnZpY2UsXHJcblxyXG4gICAgLy9BcHBcclxuICAgIENvcmVBcGlTZXJ2aWNlLFxyXG4gICAgRW1haWxzQXBpU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuYXRvbHlEYXRhTW9kdWxlIHtcclxufVxyXG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9kYXRhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFNBQVM7QUFDVCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU3RSxLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCakUsTUFBTSxPQUFPLGlCQUFpQjtrRkFBakIsaUJBQWlCO21FQUFqQixpQkFBaUI7d0VBVmpCO1lBQ1QsU0FBUztZQUNULHVCQUF1QjtZQUN2QixrQkFBa0I7WUFFbEIsS0FBSztZQUNMLGNBQWM7WUFDZCxnQkFBZ0I7U0FDakIsWUFWQyxZQUFZOztpRkFZSCxpQkFBaUI7Y0FkN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxTQUFTO29CQUNULHVCQUF1QjtvQkFDdkIsa0JBQWtCO29CQUVsQixLQUFLO29CQUNMLGNBQWM7b0JBQ2QsZ0JBQWdCO2lCQUNqQjthQUNGOzt3RkFDWSxpQkFBaUIsY0FaMUIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA0IE1hciAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vL0JpbGxpbmdcclxuaW1wb3J0IHsgRGlzY291bnRDb2Rlc0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvZGlzY291bnRjb2Rlcy1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBheW1lbnRzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9wYXltZW50cy1hcGkuc2VydmljZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb3JlQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29yZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEVtYWlsc0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VtYWlscy1hcGkuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAvL0JpbGxpbmdcclxuICAgIERpc2NvdW50Q29kZXNBcGlTZXJ2aWNlLFxyXG4gICAgUGF5bWVudHNBcGlTZXJ2aWNlLFxyXG5cclxuICAgIC8vQXBwXHJcbiAgICBDb3JlQXBpU2VydmljZSxcclxuICAgIEVtYWlsc0FwaVNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmF0b2x5RGF0YU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -17,6 +17,8 @@ export * from './base/api.service';
17
17
  export * from './base/grid/grid-read.service';
18
18
  export * from './base/grid/grid-edit.service';
19
19
  //services
20
+ export * from './services/billing/discountcodes-api.service';
21
+ export * from './services/billing/payments-api.service';
20
22
  export * from './services/core-api.service';
21
23
  export * from './services/emails-api.service';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxVQUFVO0FBQ1YsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9iYXNlXHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS9hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS9ncmlkL2dyaWQtcmVhZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2dyaWQvZ3JpZC1lZGl0LnNlcnZpY2UnO1xyXG5cclxuLy9zZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2VtYWlscy1hcGkuc2VydmljZSc7XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxVQUFVO0FBQ1YsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vYmFzZVxyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvZ3JpZC9ncmlkLXJlYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS9ncmlkL2dyaWQtZWRpdC5zZXJ2aWNlJztcclxuXHJcbi8vc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL2Rpc2NvdW50Y29kZXMtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvcGF5bWVudHMtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2VtYWlscy1hcGkuc2VydmljZSc7XHJcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 4 Jun 2024
11
+
12
+ Copyright (c) 2017-2022 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //Node
16
+ import { Injectable } from '@angular/core';
17
+ //App
18
+ import { ApiServiceBase } from '../../base/api.service';
19
+ import { ApiUrl } from '../../../core/consts/core-settings';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common/http";
22
+ export class DiscountCodesApiService extends ApiServiceBase {
23
+ constructor(http) {
24
+ super(http);
25
+ this.http = http;
26
+ this.baseUrl = `${ApiUrl}/billing/discountCodes`;
27
+ }
28
+ getDiscountCode(code) {
29
+ return this.get('getDiscountCode', { code });
30
+ }
31
+ static { this.ɵfac = function DiscountCodesApiService_Factory(t) { return new (t || DiscountCodesApiService)(i0.ɵɵinject(i1.HttpClient)); }; }
32
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DiscountCodesApiService, factory: DiscountCodesApiService.ɵfac }); }
33
+ }
34
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DiscountCodesApiService, [{
35
+ type: Injectable
36
+ }], () => [{ type: i1.HttpClient }], null); })();
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY291bnRjb2Rlcy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL2JpbGxpbmcvZGlzY291bnRjb2Rlcy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN6RCxZQUFzQixJQUFnQjtRQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxNQUFNLHdCQUF3QixDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBSTtRQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQU0saUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7d0ZBUlUsdUJBQXVCO3VFQUF2Qix1QkFBdUIsV0FBdkIsdUJBQXVCOztpRkFBdkIsdUJBQXVCO2NBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgNCBKdW4gMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVVybCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RzL2NvcmUtc2V0dGluZ3MnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlzY291bnRDb2Rlc0FwaVNlcnZpY2UgZXh0ZW5kcyBBcGlTZXJ2aWNlQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gYCR7QXBpVXJsfS9iaWxsaW5nL2Rpc2NvdW50Q29kZXNgO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGlzY291bnRDb2RlKGNvZGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PGFueT4oJ2dldERpc2NvdW50Q29kZScsIHsgY29kZSB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -4224,7 +4224,7 @@ class BraintreeDialog extends DialogBase {
4224
4224
  return this.isOpen && this.ps.getTotal() > 0;
4225
4225
  }
4226
4226
  static { this.ɵfac = function BraintreeDialog_Factory(t) { return new (t || BraintreeDialog)(i0.ɵɵdirectiveInject(PaymentsService), i0.ɵɵdirectiveInject(NotificationService)); }; }
4227
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BraintreeDialog, selectors: [["anatoly-payments-braintree-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "braintree-container"], ["layout", "end"], ["type", "button", 1, "btn", "btn-sm", "btn-success", 3, "click"], ["type", "button", 1, "btn", "btn-sm", "btn-danger", 3, "click"]], template: function BraintreeDialog_Template(rf, ctx) { if (rf & 1) {
4227
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BraintreeDialog, selectors: [["anatoly-billing-braintree-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "braintree-container"], ["layout", "end"], ["type", "button", 1, "btn", "btn-sm", "btn-success", 3, "click"], ["type", "button", 1, "btn", "btn-sm", "btn-danger", 3, "click"]], template: function BraintreeDialog_Template(rf, ctx) { if (rf & 1) {
4228
4228
  i0.ɵɵtemplate(0, BraintreeDialog_Conditional_0_Template, 11, 3, "div", 0);
4229
4229
  } if (rf & 2) {
4230
4230
  i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
@@ -4232,7 +4232,7 @@ class BraintreeDialog extends DialogBase {
4232
4232
  }
4233
4233
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BraintreeDialog, [{
4234
4234
  type: Component,
4235
- args: [{ selector: 'anatoly-payments-braintree-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='480' [height]='560' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Credit Card</kendo-dialog-titlebar>\r\n <div class='kendo-dialog-content'>\r\n <div id=\"braintree-container\"></div>\r\n </div>\r\n <kendo-dialog-actions layout='end'>\r\n <button class='btn btn-sm btn-success' type='button' (click)='onPay()'>Pay</button>\r\n <button class='btn btn-sm btn-danger' type='button' (click)='onClose()'>Cancel</button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
4235
+ args: [{ selector: 'anatoly-billing-braintree-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='480' [height]='560' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Credit Card</kendo-dialog-titlebar>\r\n <div class='kendo-dialog-content'>\r\n <div id=\"braintree-container\"></div>\r\n </div>\r\n <kendo-dialog-actions layout='end'>\r\n <button class='btn btn-sm btn-success' type='button' (click)='onPay()'>Pay</button>\r\n <button class='btn btn-sm btn-danger' type='button' (click)='onClose()'>Cancel</button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
4236
4236
  }], () => [{ type: PaymentsService }, { type: NotificationService }], { paidFor: [{
4237
4237
  type: Input
4238
4238
  }], title: [{
@@ -4242,7 +4242,7 @@ class BraintreeDialog extends DialogBase {
4242
4242
  }], image: [{
4243
4243
  type: Input
4244
4244
  }] }); })();
4245
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BraintreeDialog, { className: "BraintreeDialog", filePath: "lib\\billing\\payments\\components\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
4245
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BraintreeDialog, { className: "BraintreeDialog", filePath: "lib\\billing\\components\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
4246
4246
 
4247
4247
  /*
4248
4248
  <file>
@@ -4605,7 +4605,7 @@ class PayPalComponent {
4605
4605
  });
4606
4606
  }
4607
4607
  static { this.ɵfac = function PayPalComponent_Factory(t) { return new (t || PayPalComponent)(i0.ɵɵdirectiveInject(PayPalScriptService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone)); }; }
4608
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PayPalComponent, selectors: [["anatoly-payments-paypal-container"]], viewQuery: function PayPalComponent_Query(rf, ctx) { if (rf & 1) {
4608
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PayPalComponent, selectors: [["anatoly-billing-paypal-container"]], viewQuery: function PayPalComponent_Query(rf, ctx) { if (rf & 1) {
4609
4609
  i0.ɵɵviewQuery(_c0$f, 5);
4610
4610
  } if (rf & 2) {
4611
4611
  let _t;
@@ -4620,7 +4620,7 @@ class PayPalComponent {
4620
4620
  type: Component,
4621
4621
  args: [{
4622
4622
  changeDetection: ChangeDetectionStrategy.OnPush,
4623
- selector: 'anatoly-payments-paypal-container',
4623
+ selector: 'anatoly-billing-paypal-container',
4624
4624
  template: `
4625
4625
  <div #payPalButtonContainer [id]="payPalButtonContainerId"></div>
4626
4626
  `,
@@ -4635,7 +4635,7 @@ class PayPalComponent {
4635
4635
  type: ViewChild,
4636
4636
  args: ["payPalButtonContainer", { static: false }]
4637
4637
  }] }); })();
4638
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PayPalComponent, { className: "PayPalComponent", filePath: "lib\\billing\\payments\\components\\paypal\\paypal.component.ts", lineNumber: 57 }); })();
4638
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PayPalComponent, { className: "PayPalComponent", filePath: "lib\\billing\\components\\paypal\\paypal.component.ts", lineNumber: 57 }); })();
4639
4639
 
4640
4640
  /*
4641
4641
  <file>
@@ -4665,7 +4665,7 @@ class PayPalComponent {
4665
4665
  */
4666
4666
  //Node
4667
4667
  function PaypalButtonComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
4668
- i0.ɵɵelement(0, "anatoly-payments-paypal-container", 0);
4668
+ i0.ɵɵelement(0, "anatoly-billing-paypal-container", 0);
4669
4669
  } if (rf & 2) {
4670
4670
  const ctx_r0 = i0.ɵɵnextContext();
4671
4671
  i0.ɵɵproperty("config", ctx_r0.payPalConfig);
@@ -4770,21 +4770,21 @@ class PaypalButtonComponent extends ComponentBase {
4770
4770
  return this.ps.selectedPaymentMethod == PaymentMethod.PayPal && this.ps.getTotal() > 0;
4771
4771
  }
4772
4772
  static { this.ɵfac = function PaypalButtonComponent_Factory(t) { return new (t || PaypalButtonComponent)(i0.ɵɵdirectiveInject(PaymentsService)); }; }
4773
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaypalButtonComponent, selectors: [["anatoly-payments-paypal-button"]], inputs: { paidForTitle: "paidForTitle", paidFor: "paidFor" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "config"]], template: function PaypalButtonComponent_Template(rf, ctx) { if (rf & 1) {
4774
- i0.ɵɵtemplate(0, PaypalButtonComponent_Conditional_0_Template, 1, 1, "anatoly-payments-paypal-container", 0);
4773
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaypalButtonComponent, selectors: [["anatoly-billing-paypal-button"]], inputs: { paidForTitle: "paidForTitle", paidFor: "paidFor" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "config"]], template: function PaypalButtonComponent_Template(rf, ctx) { if (rf & 1) {
4774
+ i0.ɵɵtemplate(0, PaypalButtonComponent_Conditional_0_Template, 1, 1, "anatoly-billing-paypal-container", 0);
4775
4775
  } if (rf & 2) {
4776
4776
  i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
4777
4777
  } }, dependencies: [PayPalComponent], encapsulation: 2 }); }
4778
4778
  }
4779
4779
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaypalButtonComponent, [{
4780
4780
  type: Component,
4781
- args: [{ selector: 'anatoly-payments-paypal-button', template: "@if (visible) {\r\n <anatoly-payments-paypal-container [config]='payPalConfig' />\r\n}\r\n" }]
4781
+ args: [{ selector: 'anatoly-billing-paypal-button', template: "@if (visible) {\r\n <anatoly-billing-paypal-container [config]='payPalConfig' />\r\n}\r\n" }]
4782
4782
  }], () => [{ type: PaymentsService }], { paidForTitle: [{
4783
4783
  type: Input
4784
4784
  }], paidFor: [{
4785
4785
  type: Input
4786
4786
  }] }); })();
4787
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalButtonComponent, { className: "PaypalButtonComponent", filePath: "lib\\billing\\payments\\components\\paypal\\paypal-button.component.ts", lineNumber: 42 }); })();
4787
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalButtonComponent, { className: "PaypalButtonComponent", filePath: "lib\\billing\\components\\paypal\\paypal-button.component.ts", lineNumber: 42 }); })();
4788
4788
 
4789
4789
  /*
4790
4790
  <file>
@@ -4866,7 +4866,7 @@ class StripeDialog extends DialogBase {
4866
4866
  return this.isOpen && this.ps.getTotal() > 0;
4867
4867
  }
4868
4868
  static { this.ɵfac = function StripeDialog_Factory(t) { return new (t || StripeDialog)(i0.ɵɵdirectiveInject(PaymentsService)); }; }
4869
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StripeDialog, selectors: [["anatoly-payments-stripe-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "stripeCheckout"]], template: function StripeDialog_Template(rf, ctx) { if (rf & 1) {
4869
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StripeDialog, selectors: [["anatoly-billing-stripe-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "stripeCheckout"]], template: function StripeDialog_Template(rf, ctx) { if (rf & 1) {
4870
4870
  i0.ɵɵtemplate(0, StripeDialog_Conditional_0_Template, 6, 3, "div", 0);
4871
4871
  } if (rf & 2) {
4872
4872
  i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
@@ -4874,7 +4874,7 @@ class StripeDialog extends DialogBase {
4874
4874
  }
4875
4875
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StripeDialog, [{
4876
4876
  type: Component,
4877
- args: [{ selector: 'anatoly-payments-stripe-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='1080' [height]='800' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Stripe</kendo-dialog-titlebar> \r\n <div class='kendo-dialog-content'>\r\n <div id=\"stripeCheckout\"></div>\r\n </div>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
4877
+ args: [{ selector: 'anatoly-billing-stripe-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='1080' [height]='800' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Stripe</kendo-dialog-titlebar> \r\n <div class='kendo-dialog-content'>\r\n <div id=\"stripeCheckout\"></div>\r\n </div>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
4878
4878
  }], () => [{ type: PaymentsService }], { paidFor: [{
4879
4879
  type: Input
4880
4880
  }], title: [{
@@ -4884,7 +4884,7 @@ class StripeDialog extends DialogBase {
4884
4884
  }], image: [{
4885
4885
  type: Input
4886
4886
  }] }); })();
4887
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StripeDialog, { className: "StripeDialog", filePath: "lib\\billing\\payments\\components\\stripe\\stripe.component.ts", lineNumber: 33 }); })();
4887
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StripeDialog, { className: "StripeDialog", filePath: "lib\\billing\\components\\stripe\\stripe.component.ts", lineNumber: 33 }); })();
4888
4888
 
4889
4889
  /*
4890
4890
  <file>
@@ -4916,7 +4916,6 @@ class StripeDialog extends DialogBase {
4916
4916
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
4917
4917
  </file>
4918
4918
  */
4919
- //Payments
4920
4919
 
4921
4920
  /*
4922
4921
  <file>
@@ -5047,6 +5046,37 @@ class GridEditServiceBase extends GridReadServiceBase {
5047
5046
  type: Injectable
5048
5047
  }], () => [{ type: i1$1.HttpClient }], null); })();
5049
5048
 
5049
+ /*
5050
+ <file>
5051
+ Project:
5052
+ @osovitny/anatoly
5053
+
5054
+ Authors:
5055
+ Vadim Osovitny vadim.osovitny@osovitny.com
5056
+
5057
+ Created:
5058
+ 4 Jun 2024
5059
+
5060
+ Copyright (c) 2017-2022 Osovitny Inc. All rights reserved.
5061
+ </file>
5062
+ */
5063
+ //Node
5064
+ class DiscountCodesApiService extends ApiServiceBase {
5065
+ constructor(http) {
5066
+ super(http);
5067
+ this.http = http;
5068
+ this.baseUrl = `${ApiUrl}/billing/discountCodes`;
5069
+ }
5070
+ getDiscountCode(code) {
5071
+ return this.get('getDiscountCode', { code });
5072
+ }
5073
+ static { this.ɵfac = function DiscountCodesApiService_Factory(t) { return new (t || DiscountCodesApiService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
5074
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DiscountCodesApiService, factory: DiscountCodesApiService.ɵfac }); }
5075
+ }
5076
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DiscountCodesApiService, [{
5077
+ type: Injectable
5078
+ }], () => [{ type: i1$1.HttpClient }], null); })();
5079
+
5050
5080
  /*
5051
5081
  <file>
5052
5082
  Project:
@@ -8370,6 +8400,7 @@ class AnatolyDataModule {
8370
8400
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyDataModule }); }
8371
8401
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
8372
8402
  //Billing
8403
+ DiscountCodesApiService,
8373
8404
  PaymentsApiService,
8374
8405
  //App
8375
8406
  CoreApiService,
@@ -8384,6 +8415,7 @@ class AnatolyDataModule {
8384
8415
  ],
8385
8416
  providers: [
8386
8417
  //Billing
8418
+ DiscountCodesApiService,
8387
8419
  PaymentsApiService,
8388
8420
  //App
8389
8421
  CoreApiService,
@@ -8896,7 +8928,7 @@ class KendoModule {
8896
8928
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
8897
8929
  </file>
8898
8930
  */
8899
- const PAYMENTS_COMPONENTS = [
8931
+ const COMPONENTS$1 = [
8900
8932
  PaypalButtonComponent,
8901
8933
  PayPalComponent,
8902
8934
  //Dialogs
@@ -8926,7 +8958,6 @@ class AnatolyBillingModule {
8926
8958
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
8927
8959
  ScriptService,
8928
8960
  PayPalScriptService,
8929
- //Payments
8930
8961
  PaymentsService
8931
8962
  ], imports: [CommonModule,
8932
8963
  FaModule,
@@ -8941,15 +8972,14 @@ class AnatolyBillingModule {
8941
8972
  KendoModule
8942
8973
  ],
8943
8974
  declarations: [
8944
- PAYMENTS_COMPONENTS
8975
+ COMPONENTS$1
8945
8976
  ],
8946
8977
  exports: [
8947
- PAYMENTS_COMPONENTS
8978
+ COMPONENTS$1
8948
8979
  ],
8949
8980
  providers: [
8950
8981
  ScriptService,
8951
8982
  PayPalScriptService,
8952
- //Payments
8953
8983
  PaymentsService
8954
8984
  ]
8955
8985
  }]
@@ -9232,5 +9262,5 @@ class AnatolyModule {
9232
9262
  * Generated bundle index. Do not edit.
9233
9263
  */
9234
9264
 
9235
- export { AddressComponent, AdminGuard, Alerts, AnatolyBillingModule, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyIAMModule, AnatolyIAMPagesModule, AnatolyModule, AnatolyUIModule, ApiServiceBase, ApiUrl, AppContextService, AppCoreSettings, AppName, AppSettings, AppVersion, AuthService, AuthenticationGuard, BaseGoService, BraintreeDialog, Browser, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, ClientApps, CompanyComponent, ComponentBase, ContactUsDialog, ContactUsForm, Convert, Copy2ClipboardComponent, CoreApiService, CountryDropdownlist, DOM, DataPagerComponent, DataViewType, DateConvert, DefaultEditorOptions, DialogBase, DigitalMarketingService, DiscountCodeStatus, DiscountCodeType, EditComponentBase, EditPageBase, EmailsApiService, EnumEditComponentBase, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, GABillingEvents, GAEvents, GlobalErrorHandler, GoogleAnalyticsService, GridEditServiceBase, GridReadServiceBase, Guid, HoveringDirective, HtmlEditorComponent, HtmlEditorComponentBase, IdleService, InjectorInstance, IsDevMode, IsProdMode, ItemValidationSummaryComponent, L10NUrl, L10nUtils, ListBase, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, MSALUtils, NativeElementDirective, NodataComponent, NotificationService, PageBase, PageSpinnerComponent, PagedPageBase, PayPalComponent, PayPalScriptService, PaymentMethod, PaymentStage, PaymentType, PaymentsService, PaypalButtonComponent, QSUtils, ReplaceTextPipe, SafeHtmlPipe, ScriptService, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, StarterGuard, StarterService, Stopwatch, StripeDialog, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, UrlSlugComponent, Utils, ValidationSummaryComponent, XmlFormatter, dateFormats, dateTimeFormats, getAppSettingsById, getAppSettingsByName, is, localizationInitializerFactory, throwIfAlreadyLoaded, timeFormats, translateLoaderFactory };
9265
+ export { AddressComponent, AdminGuard, Alerts, AnatolyBillingModule, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyIAMModule, AnatolyIAMPagesModule, AnatolyModule, AnatolyUIModule, ApiServiceBase, ApiUrl, AppContextService, AppCoreSettings, AppName, AppSettings, AppVersion, AuthService, AuthenticationGuard, BaseGoService, BraintreeDialog, Browser, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, ClientApps, CompanyComponent, ComponentBase, ContactUsDialog, ContactUsForm, Convert, Copy2ClipboardComponent, CoreApiService, CountryDropdownlist, DOM, DataPagerComponent, DataViewType, DateConvert, DefaultEditorOptions, DialogBase, DigitalMarketingService, DiscountCodeStatus, DiscountCodeType, DiscountCodesApiService, EditComponentBase, EditPageBase, EmailsApiService, EnumEditComponentBase, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, GABillingEvents, GAEvents, GlobalErrorHandler, GoogleAnalyticsService, GridEditServiceBase, GridReadServiceBase, Guid, HoveringDirective, HtmlEditorComponent, HtmlEditorComponentBase, IdleService, InjectorInstance, IsDevMode, IsProdMode, ItemValidationSummaryComponent, L10NUrl, L10nUtils, ListBase, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, MSALUtils, NativeElementDirective, NodataComponent, NotificationService, PageBase, PageSpinnerComponent, PagedPageBase, PayPalComponent, PayPalScriptService, PaymentMethod, PaymentStage, PaymentType, PaymentsApiService, PaymentsService, PaypalButtonComponent, QSUtils, ReplaceTextPipe, SafeHtmlPipe, ScriptService, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, StarterGuard, StarterService, Stopwatch, StripeDialog, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, UrlSlugComponent, Utils, ValidationSummaryComponent, XmlFormatter, dateFormats, dateTimeFormats, getAppSettingsById, getAppSettingsByName, is, localizationInitializerFactory, throwIfAlreadyLoaded, timeFormats, translateLoaderFactory };
9236
9266
  //# sourceMappingURL=osovitny-anatoly.mjs.map