@xsolla/payment-client-core 0.1.14-test19 → 0.1.14-test2
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/payment/actions/status-updated/status-updated.action.class.mjs +7 -17
- package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +1 -1
- package/esm2020/lib/core/payment/config/config.service.mjs +6 -12
- package/esm2020/lib/core/payment/initialize/initialize.service.mjs +3 -3
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +2 -11
- package/esm2020/lib/core/payment/status/status-request/status-request-params.interface.mjs +1 -1
- package/esm2020/lib/core/payment/status/status-request/status-search-param.enum.mjs +1 -2
- package/esm2020/lib/core/payment/status/status-request/status-search-params.map.mjs +1 -8
- package/esm2020/lib/core/payment/status/status.interface.mjs +1 -1
- package/esm2020/lib/core/payment/status/status.service.mjs +4 -13
- package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +1 -1
- package/esm2020/lib/core-library.service.mjs +1 -1
- package/fesm2015/xsolla-payment-client-core.mjs +145 -426
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +142 -417
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/actions/status-updated/status-updated.action.class.d.ts +1 -3
- package/lib/core/payment/actions/status-updated/status-updated.action.type.d.ts +0 -3
- package/lib/core/payment/payment.interface.d.ts +1 -1
- package/lib/core/payment/payment.service.d.ts +1 -2
- package/lib/core/payment/status/status-request/status-request-params.interface.d.ts +0 -1
- package/lib/core/payment/status/status-request/status-search-param.enum.d.ts +1 -2
- package/lib/core/payment/status/status.interface.d.ts +0 -1
- package/lib/core/payment/status/status.service.d.ts +3 -5
- package/lib/core/payment-methods/payment-methods.service.d.ts +1 -1
- package/lib/core-library.service.d.ts +2 -2
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.1.14-test2.tgz +0 -0
- package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -2
- package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +0 -44
- package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -2
- package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -6
- package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -198
- package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.d.ts +0 -6
- package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.d.ts +0 -16
- package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.d.ts +0 -7
- package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.d.ts +0 -4
- package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.d.ts +0 -30
- package/xsolla-payment-client-core-0.1.14-test19.tgz +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Action } from '../action.interface';
|
|
2
2
|
import { StatusUpdatedActionData, StatusUpdatedActionType } from './status-updated.action.type';
|
|
3
3
|
import { StatusResponse } from '../../status/status-request/response/status-response.class';
|
|
4
|
-
import { Status } from '../../status/status.interface';
|
|
5
|
-
import { SavePaymentMethodStatus } from '../../status/save-payment-method-status/save-payment-method-status.enum';
|
|
6
4
|
export declare class StatusUpdatedAction implements Action {
|
|
7
5
|
type: StatusUpdatedActionType;
|
|
8
6
|
data: StatusUpdatedActionData;
|
|
9
|
-
constructor(statusResponse: StatusResponse
|
|
7
|
+
constructor(statusResponse: StatusResponse);
|
|
10
8
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Action } from '../action.interface';
|
|
2
2
|
import { StatusEnum } from '../../status/status.enum';
|
|
3
|
-
import { SavePaymentMethodStatus } from '../../status/save-payment-method-status/save-payment-method-status.enum';
|
|
4
3
|
export type StatusUpdatedActionType = 'status_updated';
|
|
5
4
|
export interface StatusUpdatedActionData {
|
|
6
5
|
statusState: StatusEnum;
|
|
@@ -8,7 +7,5 @@ export interface StatusUpdatedActionData {
|
|
|
8
7
|
isCanceled?: boolean;
|
|
9
8
|
isSuccess?: boolean;
|
|
10
9
|
invoice?: number;
|
|
11
|
-
isSavePaymentMethodMode: boolean;
|
|
12
|
-
savePaymentMethodStatus?: SavePaymentMethodStatus;
|
|
13
10
|
}
|
|
14
11
|
export type StatusUpdatedAction = Action<StatusUpdatedActionType, StatusUpdatedActionData>;
|
|
@@ -15,7 +15,7 @@ export interface Payment {
|
|
|
15
15
|
validate(field: Field): Promise<ValidationErrors | null>;
|
|
16
16
|
getFinanceDetails(): FinanceDetails | null;
|
|
17
17
|
runThreeDs(): void;
|
|
18
|
-
getStatus(): Promise<Status
|
|
18
|
+
getStatus(): Promise<Status>;
|
|
19
19
|
form: {
|
|
20
20
|
fieldsStatus$: Observable<FormFieldsStatus>;
|
|
21
21
|
changeFieldValue(name: string, value: string): void;
|
|
@@ -44,7 +44,6 @@ export declare class PaymentService {
|
|
|
44
44
|
private destroy$;
|
|
45
45
|
private formDestroy$;
|
|
46
46
|
private readonly formFieldsStatusSubject;
|
|
47
|
-
private isSavingMethodMode;
|
|
48
47
|
constructor(initializeService: InitializeService, submitService: SubmitService, syncService: SyncService, formService: FormService, statusService: StatusService, financeDetailsService: FinanceDetailsService, creditCardStateService: CreditCardStateService, nextActionService: NextActionService, controlConfigService: ControlConfigService, threeDsService: ThreeDsService, formMessagesService: FormMessagesService);
|
|
49
48
|
initialize(config: PaymentConfig): Promise<Field[]>;
|
|
50
49
|
submit(): Promise<NextAction | null | void>;
|
|
@@ -53,7 +52,7 @@ export declare class PaymentService {
|
|
|
53
52
|
runThreeDs(): void;
|
|
54
53
|
getFinanceDetails(): FinanceDetails | null;
|
|
55
54
|
updateFieldFormState(fieldName: string, formState: FormState): void;
|
|
56
|
-
getStatus(): Promise<Status
|
|
55
|
+
getStatus(): Promise<Status>;
|
|
57
56
|
getFieldConfig(field: Field): ControlConfig | null;
|
|
58
57
|
changeFieldValue(name: string, value: string): void;
|
|
59
58
|
changeFieldState(name: string, state: InputEventName): void;
|
|
@@ -7,6 +7,5 @@ export declare enum StatusSearchParam {
|
|
|
7
7
|
testProject = "fix_testProject",
|
|
8
8
|
testPs = "fix_testPs",
|
|
9
9
|
testXsolla = "fix_testXsolla",
|
|
10
|
-
userReturnStatus = "fix_userReturnStatus"
|
|
11
|
-
isSavePaymentAccount = "isSavePaymentAccount"
|
|
10
|
+
userReturnStatus = "fix_userReturnStatus"
|
|
12
11
|
}
|
|
@@ -5,7 +5,6 @@ import { Status } from './status.interface';
|
|
|
5
5
|
import { NextActionService } from '../actions/next-action.service';
|
|
6
6
|
import { UrlService } from '../../url/url.service';
|
|
7
7
|
import { FinanceDetailsService } from '../finance-details/finance-details.service';
|
|
8
|
-
import { SavePaymentMethodStatusService } from './save-payment-method-status/save-payment-method-status.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export declare class StatusService {
|
|
11
10
|
private readonly urlService;
|
|
@@ -13,10 +12,9 @@ export declare class StatusService {
|
|
|
13
12
|
private readonly financeDetailsService;
|
|
14
13
|
private readonly listenStatusService;
|
|
15
14
|
private readonly nextActionService;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
getStatusWithUrlSearchParams(url?: string): Promise<Status | null>;
|
|
15
|
+
constructor(urlService: UrlService, statusRequestService: StatusRequestService, financeDetailsService: FinanceDetailsService, listenStatusService: ListenStatusService, nextActionService: NextActionService);
|
|
16
|
+
getStatus(params: StatusRequestParams): Promise<Status>;
|
|
17
|
+
getStatusWithUrlSearchParams(url?: string): Promise<Status>;
|
|
20
18
|
private getRequestParamsFromUrl;
|
|
21
19
|
private startWaitingStatusUpdates;
|
|
22
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<StatusService, never>;
|
|
@@ -12,7 +12,7 @@ export declare class PaymentMethodsService {
|
|
|
12
12
|
private readonly apiRoute;
|
|
13
13
|
private readonly cache;
|
|
14
14
|
constructor(responseFactory: PaymentMethodsResponseFactory, settingsService: SettingsService, countryService: CountryService, secureApi: SecureApiClient);
|
|
15
|
-
getList(isSaveMethodMode
|
|
15
|
+
getList(isSaveMethodMode: boolean): Promise<PaymentMethod[]>;
|
|
16
16
|
getQuickMethods(): Promise<PaymentMethod[]>;
|
|
17
17
|
private request;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PaymentMethodsService, never>;
|
|
@@ -46,14 +46,14 @@ export declare class CoreLibraryService {
|
|
|
46
46
|
private readonly creditCardStateService;
|
|
47
47
|
private readonly formMessagesService;
|
|
48
48
|
paymentMethods: {
|
|
49
|
-
getList: (isSaveMethodMode
|
|
49
|
+
getList: (isSaveMethodMode: boolean) => Promise<PaymentMethod[]>;
|
|
50
50
|
getQuickMethods: () => Promise<PaymentMethod[]>;
|
|
51
51
|
getSavedMethods: () => Promise<SavedMethod[]>;
|
|
52
52
|
getUserBalance: () => Promise<UserBalanceResponse>;
|
|
53
53
|
};
|
|
54
54
|
constructor(settingsService: SettingsService, countryService: CountryService, paymentMethodsService: PaymentMethodsService, savedMethodsService: SavedMethodsService, userBalanceService: UserBalanceService, paymentConfigService: PaymentConfigService, paymentService: PaymentService, deviceFingerPrintService: DeviceFingerPrintService, financeDetailsService: FinanceDetailsService, legalService: LegalService, statusService: StatusService, nextActionService: NextActionService, creditCardService: CreditCardService, creditCardStateService: CreditCardStateService, formMessagesService: FormMessagesService);
|
|
55
55
|
init(configuration: InitConfiguration): Promise<void>;
|
|
56
|
-
getStatus(url?: string): Promise<Status
|
|
56
|
+
getStatus(url?: string): Promise<Status>;
|
|
57
57
|
setCountry(country: string): void;
|
|
58
58
|
getCountry(): string;
|
|
59
59
|
createPayment(config: PaymentConfig): Payment;
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtcGF5bWVudC1hY2NvdW50LWNoYW5nZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvc2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMvYXBpL3NhdmVkLXBheW1lbnQtYWNjb3VudC1jaGFuZ2VzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudCB9IGZyb20gJy4vc2F2ZWQtcGF5bWVudC1hY2NvdW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMge1xuICBpbnZvaWNlX2lkOiBudW1iZXI7XG4gIG5ld19hY2NvdW50OiBTYXZlZFBheW1lbnRBY2NvdW50IHwgbnVsbDtcbiAgb2xkX2FjY291bnQ6IFNhdmVkUGF5bWVudEFjY291bnQgfCBudWxsO1xufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { lastValueFrom, Subject } from 'rxjs';
|
|
3
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
4
|
-
import { tap } from 'rxjs/operators';
|
|
5
|
-
import { XpsResponseError } from '../../../xps-response.error';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../../settings/settings.service";
|
|
8
|
-
import * as i2 from "../../../../http/secure-api/secure-api.service";
|
|
9
|
-
export class SavedPaymentAccountChangesService {
|
|
10
|
-
constructor(settingsService, secureApi) {
|
|
11
|
-
this.settingsService = settingsService;
|
|
12
|
-
this.secureApi = secureApi;
|
|
13
|
-
this.apiRoute = 'savedmethods/newaccountinfo';
|
|
14
|
-
this.response = new Subject();
|
|
15
|
-
}
|
|
16
|
-
get response$() {
|
|
17
|
-
return this.response.asObservable();
|
|
18
|
-
}
|
|
19
|
-
async request(invoice) {
|
|
20
|
-
const requestParameters = {
|
|
21
|
-
access_token: this.settingsService.token,
|
|
22
|
-
invoice_id: invoice,
|
|
23
|
-
};
|
|
24
|
-
return lastValueFrom(this.secureApi
|
|
25
|
-
.post(this.apiRoute, new URLSearchParams(requestParameters), {
|
|
26
|
-
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
|
|
27
|
-
responseType: 'json',
|
|
28
|
-
})
|
|
29
|
-
.pipe(tap((value) => {
|
|
30
|
-
this.response.next(value);
|
|
31
|
-
}))).catch((error) => {
|
|
32
|
-
throw new XpsResponseError(error.message);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
SavedPaymentAccountChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedPaymentAccountChangesService, deps: [{ token: i1.SettingsService }, { token: i2.SecureApiClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
-
SavedPaymentAccountChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedPaymentAccountChangesService, providedIn: 'root' });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedPaymentAccountChangesService, decorators: [{
|
|
39
|
-
type: Injectable,
|
|
40
|
-
args: [{
|
|
41
|
-
providedIn: 'root'
|
|
42
|
-
}]
|
|
43
|
-
}], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.SecureApiClient }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtcGF5bWVudC1hY2NvdW50LWNoYW5nZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL2FwaS9zYXZlZC1wYXltZW50LWFjY291bnQtY2hhbmdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8saUNBQWlDO0lBSTVDLFlBQ21CLGVBQWdDLEVBQ2hDLFNBQTBCO1FBRDFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUw1QixhQUFRLEdBQUcsNkJBQTZCLENBQUM7UUFDekMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFxQyxDQUFDO0lBSzFFLENBQUM7SUFFSixJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWU7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRztZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1lBQ3hDLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FDbEIsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBQ0gsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FDakIsaUJBQXlELENBQzFELEVBQ0Q7WUFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQWlDLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUNKLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhIQTFDVSxpQ0FBaUM7a0lBQWpDLGlDQUFpQyxjQUZoQyxNQUFNOzJGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzIH0gZnJvbSAnLi9zYXZlZC1wYXltZW50LWFjY291bnQtY2hhbmdlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi94cHMtcmVzcG9uc2UuZXJyb3InO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ3NhdmVkbWV0aG9kcy9uZXdhY2NvdW50aW5mbyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2UgPSBuZXcgU3ViamVjdDxTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcyB8IG51bGw+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudFxuICApIHt9XG5cbiAgcHVibGljIGdldCByZXNwb25zZSQoKTogT2JzZXJ2YWJsZTxTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0KGludm9pY2U6IG51bWJlcik6IFByb21pc2U8U2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXM+IHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1ldGVycyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBpbnZvaWNlX2lkOiBpbnZvaWNlLFxuICAgIH07XG5cbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc2VjdXJlQXBpXG4gICAgICAgIC5wb3N0PFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzPihcbiAgICAgICAgICB0aGlzLmFwaVJvdXRlLFxuICAgICAgICAgIG5ldyBVUkxTZWFyY2hQYXJhbXMoXG4gICAgICAgICAgICByZXF1ZXN0UGFyYW1ldGVycyBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgICApLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgodmFsdWU6IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc3BvbnNlLm5leHQodmFsdWUpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICApLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IG5ldyBYcHNSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtcGF5bWVudC1hY2NvdW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL2FwaS9zYXZlZC1wYXltZW50LWFjY291bnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNhdmVkUGF5bWVudEFjY291bnQge1xuICBpY29uU3JjPzogc3RyaW5nO1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBzTmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var SavePaymentMethodStatus;
|
|
2
|
-
(function (SavePaymentMethodStatus) {
|
|
3
|
-
SavePaymentMethodStatus["success"] = "success";
|
|
4
|
-
SavePaymentMethodStatus["failed"] = "failed";
|
|
5
|
-
})(SavePaymentMethodStatus || (SavePaymentMethodStatus = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw4Q0FBbUIsQ0FBQTtJQUNuQiw0Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNhdmVQYXltZW50TWV0aG9kU3RhdHVzIHtcbiAgc3VjY2VzcyA9ICdzdWNjZXNzJyxcbiAgZmFpbGVkID0gJ2ZhaWxlZCdcbn1cbiJdfQ==
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { firstValueFrom } from 'rxjs';
|
|
3
|
-
import { StatusUpdatedAction } from '../../actions/status-updated/status-updated.action.class';
|
|
4
|
-
import { TitleClass } from '../title-class.enum';
|
|
5
|
-
import { StatusEnum } from '../status.enum';
|
|
6
|
-
import { SavePaymentMethodStatus } from './save-payment-method-status.enum';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../status-request/status-request.service";
|
|
9
|
-
import * as i2 from "../listen-status/listen-status.service";
|
|
10
|
-
import * as i3 from "./api/saved-payment-account-changes.service";
|
|
11
|
-
import * as i4 from "../../actions/next-action.service";
|
|
12
|
-
import * as i5 from "../check-status/check-status.service";
|
|
13
|
-
export class SavePaymentMethodStatusService {
|
|
14
|
-
constructor(statusRequestService, listenStatusService, savedPaymentAccountChangesService, nextActionService, checkStatusService) {
|
|
15
|
-
this.statusRequestService = statusRequestService;
|
|
16
|
-
this.listenStatusService = listenStatusService;
|
|
17
|
-
this.savedPaymentAccountChangesService = savedPaymentAccountChangesService;
|
|
18
|
-
this.nextActionService = nextActionService;
|
|
19
|
-
this.checkStatusService = checkStatusService;
|
|
20
|
-
this.statusChecked = false;
|
|
21
|
-
}
|
|
22
|
-
async getStatus(params) {
|
|
23
|
-
this.statusRequestService.setRequestParams(params);
|
|
24
|
-
this.statusRequestService.request();
|
|
25
|
-
const statusResponse = await firstValueFrom(this.statusRequestService.response$);
|
|
26
|
-
statusResponse.status.isSavePaymentAccount = true;
|
|
27
|
-
const accountData = await this.getPaymentAccountData(params.invoice);
|
|
28
|
-
if (this.savingFailedOrCancel(statusResponse?.status) || this.savingSuccessful(accountData, statusResponse?.status)) {
|
|
29
|
-
return statusResponse.status;
|
|
30
|
-
}
|
|
31
|
-
if (!this.statusChecked) {
|
|
32
|
-
this.checkStatus(params);
|
|
33
|
-
statusResponse.status.statusState = StatusEnum.processing;
|
|
34
|
-
return statusResponse.status;
|
|
35
|
-
}
|
|
36
|
-
statusResponse.status.statusState = StatusEnum.error;
|
|
37
|
-
return statusResponse.status;
|
|
38
|
-
}
|
|
39
|
-
checkStatus(params) {
|
|
40
|
-
if (!this.statusChecked) {
|
|
41
|
-
this.statusChecked = true;
|
|
42
|
-
}
|
|
43
|
-
this.startWaitingStatusUpdates(params.invoice);
|
|
44
|
-
this.statusRequestService.request();
|
|
45
|
-
}
|
|
46
|
-
async getStatusOld(params) {
|
|
47
|
-
console.log('getStatus', params);
|
|
48
|
-
this.statusRequestService.setRequestParams(params);
|
|
49
|
-
// this.startWaitingStatusUpdates(params.invoice);
|
|
50
|
-
this.statusRequestService.request();
|
|
51
|
-
const statusResponse = await firstValueFrom(this.statusRequestService.response$);
|
|
52
|
-
this.checkStatusService.setRequestParams(params.invoice);
|
|
53
|
-
this.checkStatusService.request();
|
|
54
|
-
const checkStatusResponse = await firstValueFrom(this.checkStatusService.response$);
|
|
55
|
-
if (!checkStatusResponse.final) {
|
|
56
|
-
this.startWaitingStatusUpdates(params.invoice);
|
|
57
|
-
statusResponse.status.isSavePaymentAccount = true;
|
|
58
|
-
statusResponse.status.statusState = StatusEnum.processing;
|
|
59
|
-
return statusResponse.status;
|
|
60
|
-
}
|
|
61
|
-
// todo: get account
|
|
62
|
-
const accountData = await this.getPaymentAccountData(params.invoice);
|
|
63
|
-
if (!this.savingFailedOrCancel(statusResponse?.status) && !this.savingSuccessful(accountData, statusResponse?.status)) {
|
|
64
|
-
// todo is proccessing
|
|
65
|
-
this.startWaitingStatusUpdates(params.invoice);
|
|
66
|
-
statusResponse.status.statusState = StatusEnum.processing;
|
|
67
|
-
}
|
|
68
|
-
statusResponse.status.isSavePaymentAccount = true;
|
|
69
|
-
return statusResponse.status;
|
|
70
|
-
// this.listenStatusService.listen(params.invoice);
|
|
71
|
-
// this.statusRequestService.request();
|
|
72
|
-
// const paramsCheck = {
|
|
73
|
-
// section: 'getstatus',
|
|
74
|
-
// action: 'getstatus',
|
|
75
|
-
// // invoice: params.invoice,
|
|
76
|
-
// ...params,
|
|
77
|
-
// access_token: params.token || '8sogPLisB328Snf9M9aChSwkZn4IzOzf_lc_en'
|
|
78
|
-
// };
|
|
79
|
-
// // const check = await this.checkStatusService.requestPromise('directpayment', paramsCheck);
|
|
80
|
-
// // console.log('requestPromise', check);
|
|
81
|
-
// // todo: get account
|
|
82
|
-
// // const accountData = await this.getPaymentAccountData(params.invoice);
|
|
83
|
-
// // this.startWaitingStatusUpdates(params.invoice);
|
|
84
|
-
// // this.listenStatusService.statusUpdated$
|
|
85
|
-
// this.startWaitingStatusUpdates(params.invoice);
|
|
86
|
-
// this.statusRequestService.request();
|
|
87
|
-
// this.checkStatusService.setRequestParams(params.invoice);
|
|
88
|
-
// this.checkStatusService.request();
|
|
89
|
-
// this.checkStatusService.response$.subscribe((resp) => {
|
|
90
|
-
// console.log('checkSt', resp);
|
|
91
|
-
// });
|
|
92
|
-
// const statusResponse = await firstValueFrom(
|
|
93
|
-
// this.statusRequestService.response$
|
|
94
|
-
// );
|
|
95
|
-
// const savingFailedOrCancel = statusResponse.status?.titleClass === TitleClass.cancel || statusResponse.status?.titleClass === TitleClass.cancelUser;
|
|
96
|
-
// const savingSuccessful = statusResponse.status?.titleClass === TitleClass.done && accountData?.new_account;
|
|
97
|
-
// if (!accountData) {
|
|
98
|
-
// this.startWaitingStatusUpdates(params.invoice);
|
|
99
|
-
// statusResponse.status.statusState = StatusEnum.processing;
|
|
100
|
-
// }
|
|
101
|
-
// if (!this.savingFailedOrCancel(statusResponse?.status) && !this.savingSuccessful(accountData, statusResponse?.status)) {
|
|
102
|
-
// // todo is proccessing
|
|
103
|
-
//
|
|
104
|
-
// // this.startWaitingStatusUpdates(params.invoice);
|
|
105
|
-
// statusResponse.status.statusState = StatusEnum.processing;
|
|
106
|
-
// }
|
|
107
|
-
// statusResponse.status.isSavePaymentAccount = true;
|
|
108
|
-
// return statusResponse.status;
|
|
109
|
-
// return null;
|
|
110
|
-
// if (!this.savePaymentMethodStatus) {
|
|
111
|
-
// statusResponse.status.statusState = StatusEnum.processing;
|
|
112
|
-
// }
|
|
113
|
-
// statusResponse.status.isSavePaymentAccount = true;
|
|
114
|
-
// return statusResponse.status;
|
|
115
|
-
}
|
|
116
|
-
savingFailedOrCancel(status) {
|
|
117
|
-
return status?.titleClass === TitleClass.cancel || status?.titleClass === TitleClass.cancelUser;
|
|
118
|
-
}
|
|
119
|
-
savingSuccessful(accountData, status, checkStatus) {
|
|
120
|
-
return !!(status?.titleClass === TitleClass.done && (accountData?.new_account || checkStatus?.isPaymentAccountAttached));
|
|
121
|
-
}
|
|
122
|
-
getPaymentAccountData(invoice) {
|
|
123
|
-
return this.savedPaymentAccountChangesService
|
|
124
|
-
.request(invoice);
|
|
125
|
-
// .then((accountChanges: SavedPaymentAccountChanges) => {
|
|
126
|
-
// if (accountChanges) {
|
|
127
|
-
// this.handleSavingStatus(status, accountChanges.new_account);
|
|
128
|
-
// }
|
|
129
|
-
// });
|
|
130
|
-
}
|
|
131
|
-
startWaitingStatusUpdates(invoice) {
|
|
132
|
-
if (this.listenStatusSubscription) {
|
|
133
|
-
this.listenStatusSubscription.unsubscribe();
|
|
134
|
-
this.listenStatusService.stopListening();
|
|
135
|
-
}
|
|
136
|
-
// debugger
|
|
137
|
-
this.listenStatusService.listen(invoice);
|
|
138
|
-
this.listenStatusSubscription = this.listenStatusService.statusUpdated$
|
|
139
|
-
.subscribe((statusSettings) => {
|
|
140
|
-
// this.checkStatusService.response$.subscribe((res) => {
|
|
141
|
-
// if (res.final) {
|
|
142
|
-
// if (statusSettings?.statusResponse.status) {
|
|
143
|
-
// this.loadNewPaymentAccountData(statusSettings?.statusResponse.status, res)
|
|
144
|
-
// }
|
|
145
|
-
// }
|
|
146
|
-
// });
|
|
147
|
-
void firstValueFrom(this.checkStatusService.response$).then((checkStatusResponse) => {
|
|
148
|
-
if (checkStatusResponse.final && statusSettings?.statusResponse.status) {
|
|
149
|
-
this.loadNewPaymentAccountData(statusSettings?.statusResponse.status, checkStatusResponse);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
// this.checkStatusService.request();
|
|
153
|
-
// const checkStatusResponse = await firstValueFrom(
|
|
154
|
-
// this.checkStatusService.response$
|
|
155
|
-
// );
|
|
156
|
-
});
|
|
157
|
-
// this.statusRequestService.request();
|
|
158
|
-
}
|
|
159
|
-
loadNewPaymentAccountData(status, checkStatus) {
|
|
160
|
-
if (!status.invoice) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
void this.savedPaymentAccountChangesService
|
|
164
|
-
.request(status.invoice)
|
|
165
|
-
.then((accountChanges) => {
|
|
166
|
-
if (accountChanges) {
|
|
167
|
-
this.handleSavingStatus(status, accountChanges, checkStatus);
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
handleSavingStatus(status, account, checkStatus) {
|
|
172
|
-
// const savingFailedOrCancel = status?.titleClass === TitleClass.cancel || status?.titleClass === TitleClass.cancelUser;
|
|
173
|
-
//
|
|
174
|
-
// const savingSuccessful = status?.titleClass === TitleClass.done && account;
|
|
175
|
-
if (this.savingSuccessful(account, status, checkStatus)) {
|
|
176
|
-
this.savePaymentMethodStatus = SavePaymentMethodStatus.success;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
this.savePaymentMethodStatus = SavePaymentMethodStatus.failed;
|
|
180
|
-
}
|
|
181
|
-
this.listenStatusService.stopListening();
|
|
182
|
-
this.listenStatusSubscription.unsubscribe();
|
|
183
|
-
// const paymentAccountWasSaved = status?.titleClass === TitleClass.done && account !== null;
|
|
184
|
-
const isSavePaymentMethod = true;
|
|
185
|
-
// this.savePaymentMethodStatus = this.savingFailedOrCancel(status) ? SavePaymentMethodStatus.success : SavePaymentMethodStatus.failed;
|
|
186
|
-
console.log(status, isSavePaymentMethod, this.savePaymentMethodStatus);
|
|
187
|
-
this.nextActionService.emitFlowUpdates(new StatusUpdatedAction(status, isSavePaymentMethod, this.savePaymentMethodStatus));
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
SavePaymentMethodStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavePaymentMethodStatusService, deps: [{ token: i1.StatusRequestService }, { token: i2.ListenStatusService }, { token: i3.SavedPaymentAccountChangesService }, { token: i4.NextActionService }, { token: i5.CheckStatusService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
191
|
-
SavePaymentMethodStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavePaymentMethodStatusService, providedIn: 'root' });
|
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavePaymentMethodStatusService, decorators: [{
|
|
193
|
-
type: Injectable,
|
|
194
|
-
args: [{
|
|
195
|
-
providedIn: 'root'
|
|
196
|
-
}]
|
|
197
|
-
}], ctorParameters: function () { return [{ type: i1.StatusRequestService }, { type: i2.ListenStatusService }, { type: i3.SavedPaymentAccountChangesService }, { type: i4.NextActionService }, { type: i5.CheckStatusService }]; } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUsvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBTzVFLE1BQU0sT0FBTyw4QkFBOEI7SUFLekMsWUFDbUIsb0JBQTBDLEVBQzFDLG1CQUF3QyxFQUN4QyxpQ0FBb0UsRUFDcEUsaUJBQW9DLEVBQ3BDLGtCQUFzQztRQUp0Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFQakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFPK0IsQ0FBQztJQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTJCO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FB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QUMsQ0FBQTtRQUN0RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDbkYsQ0FBQztJQUNKLENBQUM7OzJIQXpPVSw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQUY3QixNQUFNOzJGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9zdGF0dXMtdXBkYXRlZC9zdGF0dXMtdXBkYXRlZC5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgTGlzdGVuU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzIH0gZnJvbSAnLi9hcGkvc2F2ZWQtcGF5bWVudC1hY2NvdW50LWNoYW5nZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzU2VydmljZSB9IGZyb20gJy4vYXBpL3NhdmVkLXBheW1lbnQtYWNjb3VudC1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudCB9IGZyb20gJy4vYXBpL3NhdmVkLXBheW1lbnQtYWNjb3VudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGl0bGVDbGFzcyB9IGZyb20gJy4uL3RpdGxlLWNsYXNzLmVudW0nO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uL3N0YXR1cy5lbnVtJztcbmltcG9ydCB7IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzIH0gZnJvbSAnLi9zYXZlLXBheW1lbnQtbWV0aG9kLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IENoZWNrU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vY2hlY2stc3RhdHVzL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZSB7XG4gIHByaXZhdGUgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXM/OiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1cztcbiAgcHJpdmF0ZSBsaXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3RhdHVzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1JlcXVlc3RTZXJ2aWNlOiBTdGF0dXNSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlblN0YXR1c1NlcnZpY2U6IExpc3RlblN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlc1NlcnZpY2U6IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrU3RhdHVzU2VydmljZTogQ2hlY2tTdGF0dXNTZXJ2aWNlKSB7IH1cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5pc1NhdmVQYXltZW50QWNjb3VudCA9IHRydWU7XG5cbiAgICBjb25zdCBhY2NvdW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0UGF5bWVudEFjY291bnREYXRhKHBhcmFtcy5pbnZvaWNlKTtcbiAgICBpZiAodGhpcy5zYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSB8fCB0aGlzLnNhdmluZ1N1Y2Nlc3NmdWwoYWNjb3VudERhdGEsIHN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpKSB7XG4gICAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdGF0dXNDaGVja2VkKSB7XG4gICAgICB0aGlzLmNoZWNrU3RhdHVzKHBhcmFtcyk7XG4gICAgICBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUgPSBTdGF0dXNFbnVtLnByb2Nlc3Npbmc7XG4gICAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICAgIH1cblxuICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IFN0YXR1c0VudW0uZXJyb3I7XG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTdGF0dXMocGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YXR1c0NoZWNrZWQpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KCk7XG4gIH1cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1c09sZChwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cyB8IG51bGw+IHtcbiAgICBjb25zb2xlLmxvZygnZ2V0U3RhdHVzJywgcGFyYW1zKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIC8vIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KCk7XG5cbiAgICBjb25zdCBzdGF0dXNSZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXNwb25zZSRcbiAgICApO1xuXG4gICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3QgY2hlY2tTdGF0dXNSZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIGlmICghY2hlY2tTdGF0dXNSZXNwb25zZS5maW5hbCkge1xuICAgICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5pc1NhdmVQYXltZW50QWNjb3VudCA9IHRydWU7XG4gICAgICBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUgPSBTdGF0dXNFbnVtLnByb2Nlc3Npbmc7XG4gICAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICAgIH1cblxuICAgIC8vIHRvZG86IGdldCBhY2NvdW50XG4gICAgY29uc3QgYWNjb3VudERhdGEgPSBhd2FpdCB0aGlzLmdldFBheW1lbnRBY2NvdW50RGF0YShwYXJhbXMuaW52b2ljZSk7XG5cbiAgICBpZiAoIXRoaXMuc2F2aW5nRmFpbGVkT3JDYW5jZWwoc3RhdHVzUmVzcG9uc2U/LnN0YXR1cykgJiYgIXRoaXMuc2F2aW5nU3VjY2Vzc2Z1bChhY2NvdW50RGF0YSwgc3RhdHVzUmVzcG9uc2U/LnN0YXR1cykpIHtcbiAgICAgIC8vIHRvZG8gaXMgcHJvY2Nlc3NpbmdcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IFN0YXR1c0VudW0ucHJvY2Vzc2luZztcbiAgICB9XG4gICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzU2F2ZVBheW1lbnRBY2NvdW50ID0gdHJ1ZTtcbiAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuXG4gICAgLy8gdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KCk7XG5cblxuXG5cbiAgICAvLyBjb25zdCBwYXJhbXNDaGVjayA9IHtcbiAgICAvLyAgIHNlY3Rpb246ICdnZXRzdGF0dXMnLFxuICAgIC8vICAgYWN0aW9uOiAnZ2V0c3RhdHVzJyxcbiAgICAvLyAgIC8vIGludm9pY2U6IHBhcmFtcy5pbnZvaWNlLFxuICAgIC8vICAgLi4ucGFyYW1zLFxuICAgIC8vICAgYWNjZXNzX3Rva2VuOiBwYXJhbXMudG9rZW4gfHwgJzhzb2dQTGlzQjMyOFNuZjlNOWFDaFN3a1puNEl6T3pmX2xjX2VuJ1xuICAgIC8vIH07XG4gICAgLy8gLy8gY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXF1ZXN0UHJvbWlzZSgnZGlyZWN0cGF5bWVudCcsIHBhcmFtc0NoZWNrKTtcbiAgICAvLyAvLyBjb25zb2xlLmxvZygncmVxdWVzdFByb21pc2UnLCBjaGVjayk7XG4gICAgLy8gLy8gdG9kbzogZ2V0IGFjY291bnRcbiAgICAvLyAvLyBjb25zdCBhY2NvdW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0UGF5bWVudEFjY291bnREYXRhKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAvLyAvLyB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgIC8vIC8vIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgIC8vIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KCk7XG4gICAgLy8gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVxdWVzdCgpO1xuICAgIC8vIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdjaGVja1N0JywgcmVzcCk7XG4gICAgLy8gfSk7XG5cbiAgICAvLyBjb25zdCBzdGF0dXNSZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgIC8vICAgdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXNwb25zZSRcbiAgICAvLyApO1xuXG5cblxuICAgIC8vIGNvbnN0IHNhdmluZ0ZhaWxlZE9yQ2FuY2VsID0gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmNhbmNlbCB8fCBzdGF0dXNSZXNwb25zZS5zdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuY2FuY2VsVXNlcjtcblxuICAgIC8vIGNvbnN0IHNhdmluZ1N1Y2Nlc3NmdWwgPSBzdGF0dXNSZXNwb25zZS5zdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuZG9uZSAmJiBhY2NvdW50RGF0YT8ubmV3X2FjY291bnQ7XG5cbiAgICAvLyBpZiAoIWFjY291bnREYXRhKSB7XG4gICAgLy8gICB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgIC8vICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5wcm9jZXNzaW5nO1xuICAgIC8vIH1cblxuICAgIC8vIGlmICghdGhpcy5zYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSAmJiAhdGhpcy5zYXZpbmdTdWNjZXNzZnVsKGFjY291bnREYXRhLCBzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSkge1xuICAgIC8vICAgLy8gdG9kbyBpcyBwcm9jY2Vzc2luZ1xuICAgIC8vXG4gICAgLy8gICAvLyB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgIC8vICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5wcm9jZXNzaW5nO1xuICAgIC8vIH1cbiAgICAvLyBzdGF0dXNSZXNwb25zZS5zdGF0dXMuaXNTYXZlUGF5bWVudEFjY291bnQgPSB0cnVlO1xuICAgIC8vIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgLy8gcmV0dXJuIG51bGw7XG5cbiAgICAvLyBpZiAoIXRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXMpIHtcbiAgICAvLyAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IFN0YXR1c0VudW0ucHJvY2Vzc2luZztcbiAgICAvLyB9XG4gICAgLy8gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzU2F2ZVBheW1lbnRBY2NvdW50ID0gdHJ1ZTtcbiAgICAvLyByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXM/OiBTdGF0dXMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmNhbmNlbCB8fCBzdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuY2FuY2VsVXNlcjtcbiAgfVxuXG4gIHByaXZhdGUgc2F2aW5nU3VjY2Vzc2Z1bChhY2NvdW50RGF0YTogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMsIHN0YXR1cz86IFN0YXR1cywgY2hlY2tTdGF0dXM/OiBDaGVja1N0YXR1c1Jlc3BvbnNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5kb25lICYmIChhY2NvdW50RGF0YT8ubmV3X2FjY291bnQgfHwgY2hlY2tTdGF0dXM/LmlzUGF5bWVudEFjY291bnRBdHRhY2hlZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50QWNjb3VudERhdGEoaW52b2ljZTogbnVtYmVyKTogUHJvbWlzZTxTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcz4ge1xuICAgIHJldHVybiB0aGlzLnNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzU2VydmljZVxuICAgICAgLnJlcXVlc3QoaW52b2ljZSlcbiAgICAgIC8vIC50aGVuKChhY2NvdW50Q2hhbmdlczogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMpID0+IHtcbiAgICAgIC8vICAgaWYgKGFjY291bnRDaGFuZ2VzKSB7XG4gICAgICAvLyAgICAgdGhpcy5oYW5kbGVTYXZpbmdTdGF0dXMoc3RhdHVzLCBhY2NvdW50Q2hhbmdlcy5uZXdfYWNjb3VudCk7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdG9wTGlzdGVuaW5nKCk7XG4gICAgfVxuXG4gICAgLy8gZGVidWdnZXJcbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2Uuc3RhdHVzVXBkYXRlZCRcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1c1NldHRpbmdzKSA9PiB7XG5cbiAgICAgICAgLy8gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVzcG9uc2UkLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIC8vICAgaWYgKHJlcy5maW5hbCkge1xuICAgICAgICAvLyAgICAgaWYgKHN0YXR1c1NldHRpbmdzPy5zdGF0dXNSZXNwb25zZS5zdGF0dXMpIHtcbiAgICAgICAgLy8gICAgICAgdGhpcy5sb2FkTmV3UGF5bWVudEFjY291bnREYXRhKHN0YXR1c1NldHRpbmdzPy5zdGF0dXNSZXNwb25zZS5zdGF0dXMsIHJlcylcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH0pO1xuICAgICAgICB2b2lkIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgICApLnRoZW4oKGNoZWNrU3RhdHVzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoY2hlY2tTdGF0dXNSZXNwb25zZS5maW5hbCAmJiBzdGF0dXNTZXR0aW5ncz8uc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWROZXdQYXltZW50QWNjb3VudERhdGEoc3RhdHVzU2V0dGluZ3M/LnN0YXR1c1Jlc3BvbnNlLnN0YXR1cywgY2hlY2tTdGF0dXNSZXNwb25zZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXF1ZXN0KCk7XG5cbiAgICAgICAgLy8gY29uc3QgY2hlY2tTdGF0dXNSZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAvLyAgIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgICAvLyApO1xuICAgICAgfSk7XG4gICAgLy8gdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWROZXdQYXltZW50QWNjb3VudERhdGEoc3RhdHVzOiBTdGF0dXMsIGNoZWNrU3RhdHVzOiBDaGVja1N0YXR1c1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgaWYgKCFzdGF0dXMuaW52b2ljZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2b2lkIHRoaXMuc2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlXG4gICAgICAucmVxdWVzdChzdGF0dXMuaW52b2ljZSlcbiAgICAgIC50aGVuKChhY2NvdW50Q2hhbmdlczogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMpID0+IHtcbiAgICAgICAgaWYgKGFjY291bnRDaGFuZ2VzKSB7XG5cbiAgICAgICAgICB0aGlzLmhhbmRsZVNhdmluZ1N0YXR1cyhzdGF0dXMsIGFjY291bnRDaGFuZ2VzLCBjaGVja1N0YXR1cyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTYXZpbmdTdGF0dXMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgYWNjb3VudDogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMsXG4gICAgY2hlY2tTdGF0dXM6IENoZWNrU3RhdHVzUmVzcG9uc2VcbiAgKTogdm9pZCB7XG5cbiAgICAvLyBjb25zdCBzYXZpbmdGYWlsZWRPckNhbmNlbCA9IHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5jYW5jZWwgfHwgc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmNhbmNlbFVzZXI7XG4gICAgLy9cbiAgICAvLyBjb25zdCBzYXZpbmdTdWNjZXNzZnVsID0gc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmRvbmUgJiYgYWNjb3VudDtcblxuXG4gICAgaWYgKHRoaXMuc2F2aW5nU3VjY2Vzc2Z1bChhY2NvdW50LCBzdGF0dXMsIGNoZWNrU3RhdHVzKSkge1xuICAgICAgdGhpcy5zYXZlUGF5bWVudE1ldGhvZFN0YXR1cyA9IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzLnN1Y2Nlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXMgPSBTYXZlUGF5bWVudE1ldGhvZFN0YXR1cy5mYWlsZWQ7XG4gICAgfVxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdG9wTGlzdGVuaW5nKCk7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIC8vIGNvbnN0IHBheW1lbnRBY2NvdW50V2FzU2F2ZWQgPSBzdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuZG9uZSAmJiBhY2NvdW50ICE9PSBudWxsO1xuICAgIGNvbnN0IGlzU2F2ZVBheW1lbnRNZXRob2QgPSB0cnVlO1xuXG4gICAgLy8gdGhpcy5zYXZlUGF5bWVudE1ldGhvZFN0YXR1cyA9IHRoaXMuc2F2aW5nRmFpbGVkT3JDYW5jZWwoc3RhdHVzKSA/IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzLnN1Y2Nlc3MgOiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1cy5mYWlsZWQ7XG4gICAgY29uc29sZS5sb2coc3RhdHVzLCBpc1NhdmVQYXltZW50TWV0aG9kLCB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzKVxuICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgbmV3IFN0YXR1c1VwZGF0ZWRBY3Rpb24oc3RhdHVzLCBpc1NhdmVQYXltZW50TWV0aG9kLCB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { SavedPaymentAccountChanges } from './saved-payment-account-changes.interface';
|
|
3
|
-
import { SettingsService } from '../../../../settings/settings.service';
|
|
4
|
-
import { SecureApiClient } from '../../../../http/secure-api/secure-api.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class SavedPaymentAccountChangesService {
|
|
7
|
-
private readonly settingsService;
|
|
8
|
-
private readonly secureApi;
|
|
9
|
-
private readonly apiRoute;
|
|
10
|
-
private readonly response;
|
|
11
|
-
constructor(settingsService: SettingsService, secureApi: SecureApiClient);
|
|
12
|
-
get response$(): Observable<SavedPaymentAccountChanges | null>;
|
|
13
|
-
request(invoice: number): Promise<SavedPaymentAccountChanges>;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SavedPaymentAccountChangesService, never>;
|
|
15
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SavedPaymentAccountChangesService>;
|
|
16
|
-
}
|
package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { StatusRequestParams } from '../status-request/status-request-params.interface';
|
|
2
|
-
import { Status } from '../status.interface';
|
|
3
|
-
import { StatusRequestService } from '../status-request/status-request.service';
|
|
4
|
-
import { ListenStatusService } from '../listen-status/listen-status.service';
|
|
5
|
-
import { SavedPaymentAccountChangesService } from './api/saved-payment-account-changes.service';
|
|
6
|
-
import { NextActionService } from '../../actions/next-action.service';
|
|
7
|
-
import { CheckStatusService } from '../check-status/check-status.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class SavePaymentMethodStatusService {
|
|
10
|
-
private readonly statusRequestService;
|
|
11
|
-
private readonly listenStatusService;
|
|
12
|
-
private readonly savedPaymentAccountChangesService;
|
|
13
|
-
private readonly nextActionService;
|
|
14
|
-
private readonly checkStatusService;
|
|
15
|
-
private savePaymentMethodStatus?;
|
|
16
|
-
private listenStatusSubscription;
|
|
17
|
-
private statusChecked;
|
|
18
|
-
constructor(statusRequestService: StatusRequestService, listenStatusService: ListenStatusService, savedPaymentAccountChangesService: SavedPaymentAccountChangesService, nextActionService: NextActionService, checkStatusService: CheckStatusService);
|
|
19
|
-
getStatus(params: StatusRequestParams): Promise<Status>;
|
|
20
|
-
private checkStatus;
|
|
21
|
-
getStatusOld(params: StatusRequestParams): Promise<Status | null>;
|
|
22
|
-
private savingFailedOrCancel;
|
|
23
|
-
private savingSuccessful;
|
|
24
|
-
private getPaymentAccountData;
|
|
25
|
-
private startWaitingStatusUpdates;
|
|
26
|
-
private loadNewPaymentAccountData;
|
|
27
|
-
private handleSavingStatus;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SavePaymentMethodStatusService, never>;
|
|
29
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SavePaymentMethodStatusService>;
|
|
30
|
-
}
|
|
Binary file
|