@xsolla/payment-client-core 0.2.0 → 0.2.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/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +13 -28
- package/fesm2015/xsolla-payment-client-core.mjs +18 -31
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +18 -31
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +1 -3
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.2.tgz +0 -0
- package/xsolla-payment-client-core-0.2.0.tgz +0 -0
|
@@ -2,12 +2,10 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { BehaviorSubject, filter, take } from 'rxjs';
|
|
3
3
|
import { windowToken } from '../../window.token';
|
|
4
4
|
import { AppError } from '../../exceptions-handling/errors/app-error.class';
|
|
5
|
-
import { ErrorTags } from '../../exceptions-handling/errors/elk-error-types.enum';
|
|
6
5
|
import { CheckStatusActionCreator } from '../../payment/actions/check-status/check-status.action.class';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
-
import * as i2 from "
|
|
10
|
-
import * as i3 from "@angular/common/http";
|
|
7
|
+
import * as i1 from "../payment-systems/payment-system-processing.service";
|
|
8
|
+
import * as i2 from "@angular/common/http";
|
|
11
9
|
export class GooglePayService {
|
|
12
10
|
get libraryWasInitialized() {
|
|
13
11
|
return !!this.window.google;
|
|
@@ -15,9 +13,8 @@ export class GooglePayService {
|
|
|
15
13
|
get googlePaymentClientWasInitialized() {
|
|
16
14
|
return !!this.googlePaymentClient;
|
|
17
15
|
}
|
|
18
|
-
constructor(window,
|
|
16
|
+
constructor(window, commonPayProcessingService, httpClient, injector) {
|
|
19
17
|
this.window = window;
|
|
20
|
-
this.elkLoggerService = elkLoggerService;
|
|
21
18
|
this.commonPayProcessingService = commonPayProcessingService;
|
|
22
19
|
this.httpClient = httpClient;
|
|
23
20
|
this.injector = injector;
|
|
@@ -26,6 +23,7 @@ export class GooglePayService {
|
|
|
26
23
|
this.checkout = null;
|
|
27
24
|
this.googlePaymentClient = null;
|
|
28
25
|
this.commonPayProcessingService.status$.subscribe((path) => {
|
|
26
|
+
console.log('sendUserBack', path);
|
|
29
27
|
this.sendUserBack(path);
|
|
30
28
|
});
|
|
31
29
|
}
|
|
@@ -49,9 +47,6 @@ export class GooglePayService {
|
|
|
49
47
|
return;
|
|
50
48
|
}
|
|
51
49
|
this.commonPayProcessingService.loadScript(this.googlePayScriptUrl, this.onLoadScript.bind(this));
|
|
52
|
-
this.elkLoggerService.log('Google Pay: loading script is starting', [
|
|
53
|
-
ErrorTags.GOOGLEPAY,
|
|
54
|
-
]);
|
|
55
50
|
}
|
|
56
51
|
checkPaymentDevice(base64checkoutData) {
|
|
57
52
|
this.commonPayProcessingService.initialize$
|
|
@@ -74,12 +69,7 @@ export class GooglePayService {
|
|
|
74
69
|
this.readyToPay.next(false);
|
|
75
70
|
const result = response.result?.toString() ?? '';
|
|
76
71
|
const isHavePaymentClient = Boolean(this.googlePaymentClient).toString();
|
|
77
|
-
|
|
78
|
-
result: response.result,
|
|
79
|
-
response: response,
|
|
80
|
-
googlePaymentClient: !!this.googlePaymentClient,
|
|
81
|
-
});
|
|
82
|
-
throw new Error();
|
|
72
|
+
throw new Error(`Google Pay: possibly no response.result or googlePaymentClient is missing, result - ${result}, isHavePaymentClient - ${isHavePaymentClient}`);
|
|
83
73
|
})
|
|
84
74
|
.catch((error) => {
|
|
85
75
|
this.readyToPay.next(false);
|
|
@@ -110,6 +100,7 @@ export class GooglePayService {
|
|
|
110
100
|
.getActionData();
|
|
111
101
|
try {
|
|
112
102
|
const paymentData = await this.googlePaymentClient.loadPaymentData(paymentDataRequest);
|
|
103
|
+
console.log('paymentData', paymentData);
|
|
113
104
|
if (!paymentData?.paymentMethodData?.tokenizationData?.token) {
|
|
114
105
|
throw new AppError('Google Pay: token is missing');
|
|
115
106
|
}
|
|
@@ -120,12 +111,11 @@ export class GooglePayService {
|
|
|
120
111
|
const data = this.checkout.request.form.fields;
|
|
121
112
|
returnUrl += `&cpf_number=${data.cpf_number}&descriptor=${data.descriptor}&paymentData=${JSON.stringify(paymentData)}`;
|
|
122
113
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
114
|
+
console.log('return successcheckStatusAction', returnUrl);
|
|
123
115
|
return checkStatusAction;
|
|
124
116
|
}
|
|
125
117
|
catch (error) {
|
|
126
|
-
|
|
127
|
-
error: error,
|
|
128
|
-
});
|
|
118
|
+
console.log('error', error);
|
|
129
119
|
if (!this.checkout) {
|
|
130
120
|
throw new AppError(`Google Pay: no checkout data`);
|
|
131
121
|
}
|
|
@@ -137,6 +127,7 @@ export class GooglePayService {
|
|
|
137
127
|
}
|
|
138
128
|
const returnUrl = this.checkout.request.form.fields.returnFailUrl;
|
|
139
129
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
130
|
+
console.log('return failcheckStatusAction', returnUrl);
|
|
140
131
|
return checkStatusAction;
|
|
141
132
|
}
|
|
142
133
|
}
|
|
@@ -163,19 +154,13 @@ export class GooglePayService {
|
|
|
163
154
|
new this.window.google.payments.api.PaymentsClient({
|
|
164
155
|
environment,
|
|
165
156
|
});
|
|
166
|
-
this.elkLoggerService.log(`Google Pay: payments client is initialized, paymentsClient - ${Boolean(this.googlePaymentClient).toString()}`, [ErrorTags.GOOGLEPAY], { environment: environment, initialized: !!this.googlePaymentClient });
|
|
167
157
|
}
|
|
168
158
|
onLoadScript() {
|
|
169
159
|
if (!this.window.google) {
|
|
170
160
|
const retryTimeout = 1000;
|
|
171
161
|
setTimeout(() => {
|
|
172
162
|
const isAvailableGoogleClient = !!this.window.google;
|
|
173
|
-
if (
|
|
174
|
-
this.elkLoggerService.log('Google Pay: google library is missing', [
|
|
175
|
-
ErrorTags.GOOGLEPAY,
|
|
176
|
-
]);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
163
|
+
if (isAvailableGoogleClient) {
|
|
179
164
|
this.setupGooglePayClient();
|
|
180
165
|
this.commonPayProcessingService.emitInitialize(true);
|
|
181
166
|
}
|
|
@@ -191,7 +176,7 @@ export class GooglePayService {
|
|
|
191
176
|
return statusCode.toLowerCase() === 'canceled';
|
|
192
177
|
}
|
|
193
178
|
}
|
|
194
|
-
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.
|
|
179
|
+
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.PaymentSystemProcessingService }, { token: i2.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
195
180
|
GooglePayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, providedIn: 'root' });
|
|
196
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, decorators: [{
|
|
197
182
|
type: Injectable,
|
|
@@ -201,5 +186,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
201
186
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
202
187
|
type: Inject,
|
|
203
188
|
args: [windowToken]
|
|
204
|
-
}] }, { type: i1.
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFJbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7O0FBTXhHLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksaUNBQWlDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDNUMsZ0JBQWtDLEVBQ2xDLDBCQUEwRCxFQUMxRCxVQUFzQixFQUN0QixRQUFrQjtRQUpJLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFnQztRQUMxRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUF2Qm5CLHVCQUFrQixH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aW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRWxrTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2FwcC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi9nb29nbGUtcGF5LWluaXQtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5U2NyaXB0VXJsID0gJ2h0dHBzOi8vcGF5Lmdvb2dsZS5jb20vZ3AvcC9qcy9wYXkuanMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1BheSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgY2hlY2tvdXQ6IEdvb2dsZVBheUNoZWNrb3V0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZ29vZ2xlUGF5bWVudENsaWVudDogR29vZ2xlUGF5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc1NhbmRib3ghOiBib29sZWFuO1xuICBwcml2YXRlIGNvdW50cnkhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHB1YmxpYyByZWFkb25seSBlbGtMb2dnZXJTZXJ2aWNlOiBFbGtMb2dnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25QYXlQcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5zdGF0dXMkLnN1YnNjcmliZSgocGF0aCkgPT4ge1xuICAgICAgdGhpcy5zZW5kVXNlckJhY2socGF0aCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9QYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGlzUmVhZHlUb1BheSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyQmFjayhwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuaHR0cENsaWVudC5nZXQocGF0aCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdEdvb2dsZVBheUxpYnJhcnkoZGF0YTogR29vZ2xlUGF5SW5pdFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaXNTYW5kYm94ID0gZGF0YS5pc1NhbmRib3g7XG4gICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5jb3VudHJ5O1xuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UubG9hZFNjcmlwdChcbiAgICAgIHRoaXMuZ29vZ2xlUGF5U2NyaXB0VXJsLFxuICAgICAgdGhpcy5vbkxvYWRTY3JpcHQuYmluZCh0aGlzKVxuICAgICk7XG5cbiAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKCdHb29nbGUgUGF5OiBsb2FkaW5nIHNjcmlwdCBpcyBzdGFydGluZycsIFtcbiAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgXSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGJhc2U2NGNoZWNrb3V0RGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tvdXQgPVxuICAgICAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZ2V0RGVjb2RlZENoZWNrb3V0PEdvb2dsZVBheUNoZWNrb3V0PihcbiAgICAgICAgICAgIGJhc2U2NGNoZWNrb3V0RGF0YVxuICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgb3IgZ29vZ2xlIHBheW1lbnQgY2xpZW50LCBjaGVja291dCAtICR7Qm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5jaGVja291dFxuICAgICAgICAgICAgKS50b1N0cmluZygpfSwgY2xpZW50IC0gJHtCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICAgICAgY29uc3QgaXNSZWFkeVRvUGF5UmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgY2hlY2tvdXREYXRhLmlzUmVhZHlUb1BheVJlcXVlc3RcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAuaXNSZWFkeVRvUGF5KGlzUmVhZHlUb1BheVJlcXVlc3QpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQucHJlZmV0Y2hQYXltZW50RGF0YShcbiAgICAgICAgICAgICAgICBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBpc0hhdmVQYXltZW50Q2xpZW50ID0gQm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coXG4gICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBwb3NzaWJseSBubyByZXNwb25zZS5yZXN1bHQgb3IgZ29vZ2xlUGF5bWVudENsaWVudCBpcyBtaXNzaW5nLCByZXN1bHQgLSAke3Jlc3VsdH0sIGlzSGF2ZVBheW1lbnRDbGllbnQgLSAke2lzSGF2ZVBheW1lbnRDbGllbnR9YCxcbiAgICAgICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzdWx0OiByZXNwb25zZS5yZXN1bHQsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2U6IHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgIGdvb2dsZVBheW1lbnRDbGllbnQ6ICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG5cbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gKGVycm9yIGFzIHN0cmluZykgPz8gJyc7XG5cbiAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBkZXZpY2UgaXMgbm90IHJlYWR5IHRvIHBheSwgJHttZXNzYWdlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgY29uc3QgaXNIYXZlQ2hlY2tvdXQgPSAhIXRoaXMuY2hlY2tvdXQ7XG4gICAgICBjb25zdCBpc0hhdmVDbGllbnQgPSAhIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudDtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICBgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgb3IgZ29vZ2xlIHBheW1lbnQgY2xpZW50LCBjaGVja291dCAtICR7aXNIYXZlQ2hlY2tvdXQudG9TdHJpbmcoKX0sIGNsaWVudCAtICR7aXNIYXZlQ2xpZW50LnRvU3RyaW5nKCl9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdFxuICAgICkgYXMgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3Q7XG5cbiAgICBwYXltZW50RGF0YVJlcXVlc3QudHJhbnNhY3Rpb25JbmZvID0ge1xuICAgICAgY3VycmVuY3lDb2RlOiBjaGVja291dERhdGEuY3VycmVuY3ksXG4gICAgICB0b3RhbFByaWNlU3RhdHVzOiAnRklOQUwnLFxuICAgICAgdG90YWxQcmljZTogY2hlY2tvdXREYXRhLnN1bSxcbiAgICAgIGNvdW50cnlDb2RlOiB0aGlzLmNvdW50cnksXG4gICAgfTtcblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF5bWVudERhdGEgPSBhd2FpdCB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQubG9hZFBheW1lbnREYXRhKFxuICAgICAgICBwYXltZW50RGF0YVJlcXVlc3RcbiAgICAgICk7XG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiB0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5jaGVja291dCkge1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IGRhdGEgaW4gdGhlbicpO1xuICAgICAgfVxuXG4gICAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICByZXR1cm5VcmwgKz0gYCZjcGZfbnVtYmVyPSR7ZGF0YS5jcGZfbnVtYmVyfSZkZXNjcmlwdG9yPSR7XG4gICAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgICAgfSZwYXltZW50RGF0YT0ke0pTT04uc3RyaW5naWZ5KHBheW1lbnREYXRhKX1gO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgYEdvb2dsZSBQYXk6IGdvb2dsZSBwYXltZW50IHdpbmRvdyBlcnJvci4gJHtKU09OLnN0cmluZ2lmeShlcnJvcil9YCxcbiAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBpZiAoIXRoaXMuY2hlY2tvdXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBubyBjaGVja291dCBkYXRhYCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSAoZXJyb3IgYXMgdW5rbm93biBhcyB7IHN0YXR1c0NvZGU/OiBzdHJpbmcgfSlcbiAgICAgICAgPy5zdGF0dXNDb2RlO1xuXG4gICAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgICBpZiAoaXNTdGF0dXNDYW5jZWxlZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVybkZhaWxVcmw7XG5cbiAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZW1pdFBheW1lbnQocmV0dXJuVXJsKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdXR0b24ob25DbGlja0hhbmRsZXI6ICgpID0+IHZvaWQpOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgY29uc3QgcGF5bWVudERhdGFSZXF1ZXN0ID0gSlNPTi5wYXJzZShcbiAgICAgIGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3RcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5jcmVhdGVCdXR0b24oe1xuICAgICAgb25DbGljazogb25DbGlja0hhbmRsZXIsXG4gICAgICBhbGxvd2VkUGF5bWVudE1ldGhvZHM6IHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHMsXG4gICAgICBidXR0b25TaXplTW9kZTogJ2ZpbGwnLFxuICAgICAgYnV0dG9uVHlwZTogJ2J1eScsXG4gICAgICBidXR0b25Db2xvcjogJ3doaXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHb29nbGVQYXlDbGllbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuaXNTYW5kYm94ID8gJ1RFU1QnIDogJ1BST0RVQ1RJT04nO1xuXG4gICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50ID1cbiAgICAgIG5ldyB0aGlzLndpbmRvdy5nb29nbGUucGF5bWVudHMuYXBpLlBheW1lbnRzQ2xpZW50KHtcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coXG4gICAgICBgR29vZ2xlIFBheTogcGF5bWVudHMgY2xpZW50IGlzIGluaXRpYWxpemVkLCBwYXltZW50c0NsaWVudCAtICR7Qm9vbGVhbihcbiAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICApLnRvU3RyaW5nKCl9YCxcbiAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgIHsgZW52aXJvbm1lbnQ6IGVudmlyb25tZW50LCBpbml0aWFsaXplZDogISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50ID0gISF0aGlzLndpbmRvdy5nb29nbGU7XG5cbiAgICAgICAgaWYgKCFpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCkge1xuICAgICAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coJ0dvb2dsZSBQYXk6IGdvb2dsZSBsaWJyYXJ5IGlzIG1pc3NpbmcnLCBbXG4gICAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICAgIF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIHJldHJ5VGltZW91dCk7XG5cbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogZ29vZ2xlIGxpYnJhcnkgbm93IGlzIGF2YWlsYWJsZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0NhbmNlbGxlZFN0YXR1cyhzdGF0dXNDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzQ29kZS50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsZWQnO1xuICB9XG59XG4iXX0=
|
|
189
|
+
}] }, { type: i1.PaymentSystemProcessingService }, { type: i2.HttpClient }, { type: i0.Injector }]; } });
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUk1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQU14RyxNQUFNLE9BQU8sZ0JBQWdCO0lBVzNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQ3dDLE1BQXNCLEVBQzVDLDBCQUEwRCxFQUMxRCxVQUFzQixFQUN0QixRQUFrQjtRQUhJLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzVDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBZ0M7UUFDMUQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEJuQix1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBRWhFLGFBQVEsR0FBNkIsSUFBSSxDQUFD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QUFDLG9CQUFvQixFQUFFLENBQUM7WUFFNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUMxQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDakQsQ0FBQzs7NkdBL1BVLGdCQUFnQixrQkFvQmpCLFdBQVc7aUhBcEJWLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBcUJJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdvb2dsZVBheUNoZWNrb3V0IH0gZnJvbSAnLi9nb29nbGUtcGF5LWNoZWNrb3V0LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHb29nbGVQYXlDbGllbnQsXG4gIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0LFxufSBmcm9tICcuL2dvb2dsZS1wYXktbGlicmFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSB9IGZyb20gJy4uL3BheW1lbnQtc3lzdGVtcy9wYXltZW50LXN5c3RlbS1wcm9jZXNzaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvYXBwLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEdvb2dsZVBheUluaXRQYXJhbXMgfSBmcm9tICcuL2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24udHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlTY3JpcHRVcmwgPSAnaHR0cHM6Ly9wYXkuZ29vZ2xlLmNvbS9ncC9wL2pzL3BheS5qcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvUGF5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSBjaGVja291dDogR29vZ2xlUGF5Q2hlY2tvdXQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBnb29nbGVQYXltZW50Q2xpZW50OiBHb29nbGVQYXlDbGllbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGlzU2FuZGJveCE6IGJvb2xlYW47XG4gIHByaXZhdGUgY291bnRyeSE6IHN0cmluZztcblxuICBwcml2YXRlIGdldCBsaWJyYXJ5V2FzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy53aW5kb3cuZ29vZ2xlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlOiBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLnN0YXR1cyQuc3Vic2NyaWJlKChwYXRoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnc2VuZFVzZXJCYWNrJywgcGF0aCk7XG4gICAgICB0aGlzLnNlbmRVc2VyQmFjayhwYXRoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVhZHlUb1BheSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNSZWFkeVRvUGF5KCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZFVzZXJCYWNrKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHZvaWQgdGhpcy5odHRwQ2xpZW50LmdldChwYXRoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0R29vZ2xlUGF5TGlicmFyeShkYXRhOiBHb29nbGVQYXlJbml0UGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5pc1NhbmRib3ggPSBkYXRhLmlzU2FuZGJveDtcbiAgICB0aGlzLmNvdW50cnkgPSBkYXRhLmNvdW50cnk7XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5sb2FkU2NyaXB0KFxuICAgICAgdGhpcy5nb29nbGVQYXlTY3JpcHRVcmwsXG4gICAgICB0aGlzLm9uTG9hZFNjcmlwdC5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1BheW1lbnREZXZpY2UoYmFzZTY0Y2hlY2tvdXREYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmluaXRpYWxpemUkXG4gICAgICAucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja291dCA9XG4gICAgICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5nZXREZWNvZGVkQ2hlY2tvdXQ8R29vZ2xlUGF5Q2hlY2tvdXQ+KFxuICAgICAgICAgICAgYmFzZTY0Y2hlY2tvdXREYXRhXG4gICAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgIGBHb29nbGUgUGF5OiBubyBjaGVja291dCBvciBnb29nbGUgcGF5bWVudCBjbGllbnQsIGNoZWNrb3V0IC0gJHtCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrb3V0XG4gICAgICAgICAgICApLnRvU3RyaW5nKCl9LCBjbGllbnQgLSAke0Jvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgICAgKS50b1N0cmluZygpfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgICAgICBjb25zdCBpc1JlYWR5VG9QYXlSZXF1ZXN0ID0gSlNPTi5wYXJzZShcbiAgICAgICAgICBjaGVja291dERhdGEuaXNSZWFkeVRvUGF5UmVxdWVzdFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgIC5pc1JlYWR5VG9QYXkoaXNSZWFkeVRvUGF5UmVxdWVzdClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5wcmVmZXRjaFBheW1lbnREYXRhKFxuICAgICAgICAgICAgICAgIEpTT04ucGFyc2UoY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdClcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGlzSGF2ZVBheW1lbnRDbGllbnQgPSBCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgR29vZ2xlIFBheTogcG9zc2libHkgbm8gcmVzcG9uc2UucmVzdWx0IG9yIGdvb2dsZVBheW1lbnRDbGllbnQgaXMgbWlzc2luZywgcmVzdWx0IC0gJHtyZXN1bHR9LCBpc0hhdmVQYXltZW50Q2xpZW50IC0gJHtpc0hhdmVQYXltZW50Q2xpZW50fWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG5cbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gKGVycm9yIGFzIHN0cmluZykgPz8gJyc7XG5cbiAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBkZXZpY2UgaXMgbm90IHJlYWR5IHRvIHBheSwgJHttZXNzYWdlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgY29uc3QgaXNIYXZlQ2hlY2tvdXQgPSAhIXRoaXMuY2hlY2tvdXQ7XG4gICAgICBjb25zdCBpc0hhdmVDbGllbnQgPSAhIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudDtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICBgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgb3IgZ29vZ2xlIHBheW1lbnQgY2xpZW50LCBjaGVja291dCAtICR7aXNIYXZlQ2hlY2tvdXQudG9TdHJpbmcoKX0sIGNsaWVudCAtICR7aXNIYXZlQ2xpZW50LnRvU3RyaW5nKCl9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdFxuICAgICkgYXMgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3Q7XG5cbiAgICBwYXltZW50RGF0YVJlcXVlc3QudHJhbnNhY3Rpb25JbmZvID0ge1xuICAgICAgY3VycmVuY3lDb2RlOiBjaGVja291dERhdGEuY3VycmVuY3ksXG4gICAgICB0b3RhbFByaWNlU3RhdHVzOiAnRklOQUwnLFxuICAgICAgdG90YWxQcmljZTogY2hlY2tvdXREYXRhLnN1bSxcbiAgICAgIGNvdW50cnlDb2RlOiB0aGlzLmNvdW50cnksXG4gICAgfTtcblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF5bWVudERhdGEgPSBhd2FpdCB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQubG9hZFBheW1lbnREYXRhKFxuICAgICAgICBwYXltZW50RGF0YVJlcXVlc3RcbiAgICAgICk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdwYXltZW50RGF0YScsIHBheW1lbnREYXRhKTtcbiAgICAgIGlmICghcGF5bWVudERhdGE/LnBheW1lbnRNZXRob2REYXRhPy50b2tlbml6YXRpb25EYXRhPy50b2tlbikge1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IHRva2VuIGlzIG1pc3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgZGF0YSBpbiB0aGVuJyk7XG4gICAgICB9XG5cbiAgICAgIGxldCByZXR1cm5VcmwgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHMucmV0dXJuU3VjY2Vzc1VybDtcblxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICAgIHJldHVyblVybCArPSBgJmNwZl9udW1iZXI9JHtkYXRhLmNwZl9udW1iZXJ9JmRlc2NyaXB0b3I9JHtcbiAgICAgICAgZGF0YS5kZXNjcmlwdG9yXG4gICAgICB9JnBheW1lbnREYXRhPSR7SlNPTi5zdHJpbmdpZnkocGF5bWVudERhdGEpfWA7XG5cbiAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZW1pdFBheW1lbnQocmV0dXJuVXJsKTtcblxuICAgICAgY29uc29sZS5sb2coJ3JldHVybiBzdWNjZXNzY2hlY2tTdGF0dXNBY3Rpb24nLCByZXR1cm5VcmwpO1xuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmxvZygnZXJyb3InLCBlcnJvcik7XG4gICAgICBpZiAoIXRoaXMuY2hlY2tvdXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBubyBjaGVja291dCBkYXRhYCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSAoZXJyb3IgYXMgdW5rbm93biBhcyB7IHN0YXR1c0NvZGU/OiBzdHJpbmcgfSlcbiAgICAgICAgPy5zdGF0dXNDb2RlO1xuXG4gICAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgICBpZiAoaXNTdGF0dXNDYW5jZWxlZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVybkZhaWxVcmw7XG5cbiAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZW1pdFBheW1lbnQocmV0dXJuVXJsKTtcblxuICAgICAgY29uc29sZS5sb2coJ3JldHVybiBmYWlsY2hlY2tTdGF0dXNBY3Rpb24nLCByZXR1cm5VcmwpO1xuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdXR0b24ob25DbGlja0hhbmRsZXI6ICgpID0+IHZvaWQpOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgY29uc3QgcGF5bWVudERhdGFSZXF1ZXN0ID0gSlNPTi5wYXJzZShcbiAgICAgIGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3RcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5jcmVhdGVCdXR0b24oe1xuICAgICAgb25DbGljazogb25DbGlja0hhbmRsZXIsXG4gICAgICBhbGxvd2VkUGF5bWVudE1ldGhvZHM6IHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHMsXG4gICAgICBidXR0b25TaXplTW9kZTogJ2ZpbGwnLFxuICAgICAgYnV0dG9uVHlwZTogJ2J1eScsXG4gICAgICBidXR0b25Db2xvcjogJ3doaXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHb29nbGVQYXlDbGllbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuaXNTYW5kYm94ID8gJ1RFU1QnIDogJ1BST0RVQ1RJT04nO1xuXG4gICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50ID1cbiAgICAgIG5ldyB0aGlzLndpbmRvdy5nb29nbGUucGF5bWVudHMuYXBpLlBheW1lbnRzQ2xpZW50KHtcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Mb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICBjb25zdCByZXRyeVRpbWVvdXQgPSAxMDAwO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNBdmFpbGFibGVHb29nbGVDbGllbnQgPSAhIXRoaXMud2luZG93Lmdvb2dsZTtcblxuICAgICAgICBpZiAoaXNBdmFpbGFibGVHb29nbGVDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRJbml0aWFsaXplKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LCByZXRyeVRpbWVvdXQpO1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IGdvb2dsZSBsaWJyYXJ5IG5vdyBpcyBhdmFpbGFibGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRJbml0aWFsaXplKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1c0NvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbGVkJztcbiAgfVxufVxuIl19
|
|
@@ -2,12 +2,12 @@ import { __awaiter } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, Injectable, Inject, Pipe, isDevMode, NgModule } from '@angular/core';
|
|
4
4
|
import { firstValueFrom, lastValueFrom, map, Subject, BehaviorSubject, filter as filter$1, takeUntil, skip, take, throwError } from 'rxjs';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i2 from '@angular/common/http';
|
|
6
6
|
import { HttpParams, HttpHeaders, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
7
7
|
import JSEncrypt from 'jsencrypt';
|
|
8
8
|
import { UntypedFormGroup, Validators, UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
|
|
9
9
|
import { filter, map as map$1, tap, catchError } from 'rxjs/operators';
|
|
10
|
-
import * as i1
|
|
10
|
+
import * as i1 from '@angular/router';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
const masksFunctionsMap = {
|
|
@@ -72,7 +72,7 @@ class SecureApiClient {
|
|
|
72
72
|
return this.isSandboxMode ? sandboxApiUrl : defaultApiUrl;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
SecureApiClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, deps: [{ token:
|
|
75
|
+
SecureApiClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, deps: [{ token: i2.HttpClient }, { token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
76
76
|
SecureApiClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, providedIn: 'root' });
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, decorators: [{
|
|
78
78
|
type: Injectable,
|
|
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
80
80
|
providedIn: 'root',
|
|
81
81
|
}]
|
|
82
82
|
}], ctorParameters: function () {
|
|
83
|
-
return [{ type:
|
|
83
|
+
return [{ type: i2.HttpClient }, { type: undefined, decorators: [{
|
|
84
84
|
type: Inject,
|
|
85
85
|
args: [windowToken]
|
|
86
86
|
}] }];
|
|
@@ -4389,7 +4389,7 @@ class ElkLoggerService {
|
|
|
4389
4389
|
})).catch((err) => console.error('Elk Logger: request error', err));
|
|
4390
4390
|
}
|
|
4391
4391
|
}
|
|
4392
|
-
ElkLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, deps: [{ token: windowToken }, { token: SettingsService }, { token:
|
|
4392
|
+
ElkLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, deps: [{ token: windowToken }, { token: SettingsService }, { token: i2.HttpClient }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4393
4393
|
ElkLoggerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, providedIn: 'root' });
|
|
4394
4394
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, decorators: [{
|
|
4395
4395
|
type: Injectable,
|
|
@@ -4400,7 +4400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
4400
4400
|
return [{ type: undefined, decorators: [{
|
|
4401
4401
|
type: Inject,
|
|
4402
4402
|
args: [windowToken]
|
|
4403
|
-
}] }, { type: SettingsService }, { type:
|
|
4403
|
+
}] }, { type: SettingsService }, { type: i2.HttpClient }, { type: i0.NgZone }];
|
|
4404
4404
|
} });
|
|
4405
4405
|
|
|
4406
4406
|
class CentrifugoWebSocketService {
|
|
@@ -5986,9 +5986,8 @@ class GooglePayService {
|
|
|
5986
5986
|
get googlePaymentClientWasInitialized() {
|
|
5987
5987
|
return !!this.googlePaymentClient;
|
|
5988
5988
|
}
|
|
5989
|
-
constructor(window,
|
|
5989
|
+
constructor(window, commonPayProcessingService, httpClient, injector) {
|
|
5990
5990
|
this.window = window;
|
|
5991
|
-
this.elkLoggerService = elkLoggerService;
|
|
5992
5991
|
this.commonPayProcessingService = commonPayProcessingService;
|
|
5993
5992
|
this.httpClient = httpClient;
|
|
5994
5993
|
this.injector = injector;
|
|
@@ -5997,6 +5996,7 @@ class GooglePayService {
|
|
|
5997
5996
|
this.checkout = null;
|
|
5998
5997
|
this.googlePaymentClient = null;
|
|
5999
5998
|
this.commonPayProcessingService.status$.subscribe((path) => {
|
|
5999
|
+
console.log('sendUserBack', path);
|
|
6000
6000
|
this.sendUserBack(path);
|
|
6001
6001
|
});
|
|
6002
6002
|
}
|
|
@@ -6020,9 +6020,6 @@ class GooglePayService {
|
|
|
6020
6020
|
return;
|
|
6021
6021
|
}
|
|
6022
6022
|
this.commonPayProcessingService.loadScript(this.googlePayScriptUrl, this.onLoadScript.bind(this));
|
|
6023
|
-
this.elkLoggerService.log('Google Pay: loading script is starting', [
|
|
6024
|
-
ErrorTags.GOOGLEPAY,
|
|
6025
|
-
]);
|
|
6026
6023
|
}
|
|
6027
6024
|
checkPaymentDevice(base64checkoutData) {
|
|
6028
6025
|
this.commonPayProcessingService.initialize$
|
|
@@ -6046,12 +6043,7 @@ class GooglePayService {
|
|
|
6046
6043
|
this.readyToPay.next(false);
|
|
6047
6044
|
const result = (_b = (_a = response.result) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
|
|
6048
6045
|
const isHavePaymentClient = Boolean(this.googlePaymentClient).toString();
|
|
6049
|
-
|
|
6050
|
-
result: response.result,
|
|
6051
|
-
response: response,
|
|
6052
|
-
googlePaymentClient: !!this.googlePaymentClient,
|
|
6053
|
-
});
|
|
6054
|
-
throw new Error();
|
|
6046
|
+
throw new Error(`Google Pay: possibly no response.result or googlePaymentClient is missing, result - ${result}, isHavePaymentClient - ${isHavePaymentClient}`);
|
|
6055
6047
|
})
|
|
6056
6048
|
.catch((error) => {
|
|
6057
6049
|
this.readyToPay.next(false);
|
|
@@ -6084,6 +6076,7 @@ class GooglePayService {
|
|
|
6084
6076
|
.getActionData();
|
|
6085
6077
|
try {
|
|
6086
6078
|
const paymentData = yield this.googlePaymentClient.loadPaymentData(paymentDataRequest);
|
|
6079
|
+
console.log('paymentData', paymentData);
|
|
6087
6080
|
if (!((_b = (_a = paymentData === null || paymentData === void 0 ? void 0 : paymentData.paymentMethodData) === null || _a === void 0 ? void 0 : _a.tokenizationData) === null || _b === void 0 ? void 0 : _b.token)) {
|
|
6088
6081
|
throw new AppError('Google Pay: token is missing');
|
|
6089
6082
|
}
|
|
@@ -6094,12 +6087,11 @@ class GooglePayService {
|
|
|
6094
6087
|
const data = this.checkout.request.form.fields;
|
|
6095
6088
|
returnUrl += `&cpf_number=${data.cpf_number}&descriptor=${data.descriptor}&paymentData=${JSON.stringify(paymentData)}`;
|
|
6096
6089
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
6090
|
+
console.log('return successcheckStatusAction', returnUrl);
|
|
6097
6091
|
return checkStatusAction;
|
|
6098
6092
|
}
|
|
6099
6093
|
catch (error) {
|
|
6100
|
-
|
|
6101
|
-
error: error,
|
|
6102
|
-
});
|
|
6094
|
+
console.log('error', error);
|
|
6103
6095
|
if (!this.checkout) {
|
|
6104
6096
|
throw new AppError(`Google Pay: no checkout data`);
|
|
6105
6097
|
}
|
|
@@ -6110,6 +6102,7 @@ class GooglePayService {
|
|
|
6110
6102
|
}
|
|
6111
6103
|
const returnUrl = this.checkout.request.form.fields.returnFailUrl;
|
|
6112
6104
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
6105
|
+
console.log('return failcheckStatusAction', returnUrl);
|
|
6113
6106
|
return checkStatusAction;
|
|
6114
6107
|
}
|
|
6115
6108
|
});
|
|
@@ -6137,19 +6130,13 @@ class GooglePayService {
|
|
|
6137
6130
|
new this.window.google.payments.api.PaymentsClient({
|
|
6138
6131
|
environment,
|
|
6139
6132
|
});
|
|
6140
|
-
this.elkLoggerService.log(`Google Pay: payments client is initialized, paymentsClient - ${Boolean(this.googlePaymentClient).toString()}`, [ErrorTags.GOOGLEPAY], { environment: environment, initialized: !!this.googlePaymentClient });
|
|
6141
6133
|
}
|
|
6142
6134
|
onLoadScript() {
|
|
6143
6135
|
if (!this.window.google) {
|
|
6144
6136
|
const retryTimeout = 1000;
|
|
6145
6137
|
setTimeout(() => {
|
|
6146
6138
|
const isAvailableGoogleClient = !!this.window.google;
|
|
6147
|
-
if (
|
|
6148
|
-
this.elkLoggerService.log('Google Pay: google library is missing', [
|
|
6149
|
-
ErrorTags.GOOGLEPAY,
|
|
6150
|
-
]);
|
|
6151
|
-
}
|
|
6152
|
-
else {
|
|
6139
|
+
if (isAvailableGoogleClient) {
|
|
6153
6140
|
this.setupGooglePayClient();
|
|
6154
6141
|
this.commonPayProcessingService.emitInitialize(true);
|
|
6155
6142
|
}
|
|
@@ -6165,7 +6152,7 @@ class GooglePayService {
|
|
|
6165
6152
|
return statusCode.toLowerCase() === 'canceled';
|
|
6166
6153
|
}
|
|
6167
6154
|
}
|
|
6168
|
-
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token:
|
|
6155
|
+
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: PaymentSystemProcessingService }, { token: i2.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6169
6156
|
GooglePayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, providedIn: 'root' });
|
|
6170
6157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, decorators: [{
|
|
6171
6158
|
type: Injectable,
|
|
@@ -6176,7 +6163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
6176
6163
|
return [{ type: undefined, decorators: [{
|
|
6177
6164
|
type: Inject,
|
|
6178
6165
|
args: [windowToken]
|
|
6179
|
-
}] }, { type:
|
|
6166
|
+
}] }, { type: PaymentSystemProcessingService }, { type: i2.HttpClient }, { type: i0.Injector }];
|
|
6180
6167
|
} });
|
|
6181
6168
|
|
|
6182
6169
|
class CoreLibraryService {
|
|
@@ -6347,11 +6334,11 @@ class HttpExceptionsInterceptor {
|
|
|
6347
6334
|
}));
|
|
6348
6335
|
}
|
|
6349
6336
|
}
|
|
6350
|
-
HttpExceptionsInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, deps: [{ token: i1
|
|
6337
|
+
HttpExceptionsInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6351
6338
|
HttpExceptionsInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor });
|
|
6352
6339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, decorators: [{
|
|
6353
6340
|
type: Injectable
|
|
6354
|
-
}], ctorParameters: function () { return [{ type: i1
|
|
6341
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
6355
6342
|
|
|
6356
6343
|
class ValidatorsModule {
|
|
6357
6344
|
}
|