@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.
Files changed (40) hide show
  1. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +7 -17
  2. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +1 -1
  3. package/esm2020/lib/core/payment/config/config.service.mjs +6 -12
  4. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +3 -3
  5. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  6. package/esm2020/lib/core/payment/payment.service.mjs +2 -11
  7. package/esm2020/lib/core/payment/status/status-request/status-request-params.interface.mjs +1 -1
  8. package/esm2020/lib/core/payment/status/status-request/status-search-param.enum.mjs +1 -2
  9. package/esm2020/lib/core/payment/status/status-request/status-search-params.map.mjs +1 -8
  10. package/esm2020/lib/core/payment/status/status.interface.mjs +1 -1
  11. package/esm2020/lib/core/payment/status/status.service.mjs +4 -13
  12. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +1 -1
  13. package/esm2020/lib/core-library.service.mjs +1 -1
  14. package/fesm2015/xsolla-payment-client-core.mjs +145 -426
  15. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  16. package/fesm2020/xsolla-payment-client-core.mjs +142 -417
  17. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  18. package/lib/core/payment/actions/status-updated/status-updated.action.class.d.ts +1 -3
  19. package/lib/core/payment/actions/status-updated/status-updated.action.type.d.ts +0 -3
  20. package/lib/core/payment/payment.interface.d.ts +1 -1
  21. package/lib/core/payment/payment.service.d.ts +1 -2
  22. package/lib/core/payment/status/status-request/status-request-params.interface.d.ts +0 -1
  23. package/lib/core/payment/status/status-request/status-search-param.enum.d.ts +1 -2
  24. package/lib/core/payment/status/status.interface.d.ts +0 -1
  25. package/lib/core/payment/status/status.service.d.ts +3 -5
  26. package/lib/core/payment-methods/payment-methods.service.d.ts +1 -1
  27. package/lib/core-library.service.d.ts +2 -2
  28. package/package.json +1 -1
  29. package/xsolla-payment-client-core-0.1.14-test2.tgz +0 -0
  30. package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -2
  31. package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +0 -44
  32. package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -2
  33. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -6
  34. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -198
  35. package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.d.ts +0 -6
  36. package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.d.ts +0 -16
  37. package/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.d.ts +0 -7
  38. package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.d.ts +0 -4
  39. package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.d.ts +0 -30
  40. 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 | Status, isSavePaymentMethodMode?: boolean, savePaymentMethodStatus?: SavePaymentMethodStatus);
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 | null>;
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 | null>;
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;
@@ -8,5 +8,4 @@ export interface StatusRequestParams {
8
8
  testXsolla?: number;
9
9
  userReturnStatus?: string;
10
10
  token?: string | null;
11
- isSavePaymentAccount?: number;
12
11
  }
@@ -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
  }
@@ -47,5 +47,4 @@ export interface Status {
47
47
  isCanceled?: boolean;
48
48
  paymentCountryIso: string;
49
49
  order?: StatusOrder;
50
- isSavePaymentAccount?: boolean;
51
50
  }
@@ -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
- private readonly savePaymentMethodStatusService;
17
- constructor(urlService: UrlService, statusRequestService: StatusRequestService, financeDetailsService: FinanceDetailsService, listenStatusService: ListenStatusService, nextActionService: NextActionService, savePaymentMethodStatusService: SavePaymentMethodStatusService);
18
- getStatus(params: StatusRequestParams): Promise<Status | null>;
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?: boolean): Promise<PaymentMethod[]>;
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?: boolean) => Promise<PaymentMethod[]>;
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 | null>;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsolla/payment-client-core",
3
- "version": "0.1.14-test19",
3
+ "version": "0.1.14-test2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0",
@@ -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,6 +0,0 @@
1
- import { SavedPaymentAccount } from './saved-payment-account.interface';
2
- export interface SavedPaymentAccountChanges {
3
- invoice_id: number;
4
- new_account: SavedPaymentAccount | null;
5
- old_account: SavedPaymentAccount | null;
6
- }
@@ -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
- }
@@ -1,7 +0,0 @@
1
- export interface SavedPaymentAccount {
2
- iconSrc?: string;
3
- id: number;
4
- name: string;
5
- psName: string;
6
- type: string;
7
- }
@@ -1,4 +0,0 @@
1
- export declare enum SavePaymentMethodStatus {
2
- success = "success",
3
- failed = "failed"
4
- }
@@ -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
- }