@xsolla/payment-client-core 0.2.52 → 0.2.54
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/esm2022/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +1 -1
- package/esm2022/lib/core/payment/actions/action.interface.mjs +1 -1
- package/esm2022/lib/core/payment/actions/check-status/check-status.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/next-action.service.mjs +1 -1
- package/esm2022/lib/core/payment/actions/redirect/redirect.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-cash-payment-instruction/show-cash-payment-instruction.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/show-xsolla-number/show-xsolla-number.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/actions/special-button/special-button.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/card-expiration/card-expiration.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/card-month/card-month.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/card-number/card-number.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/card-year/card-year.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +1 -1
- package/esm2022/lib/core/payment/form/converters/converters-map.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/coupon/coupon.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/email/email.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/phone/phone.converter.mjs +39 -0
- package/esm2022/lib/core/payment/form/converters/pin/pin.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/select/select.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/text/text.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +2 -2
- package/esm2022/lib/core/payment/form/form.module.mjs +2 -2
- package/esm2022/lib/core/payment/form-response.interface.mjs +1 -1
- package/esm2022/lib/core/payment/initialize-actions/action.interface.mjs +1 -1
- package/esm2022/lib/core/payment/initialize-actions/initialize-next-action.service.mjs +1 -1
- package/esm2022/lib/core/payment/initialize-actions/special-button/special-button.action.class.mjs +1 -1
- package/esm2022/lib/core/payment/payment-behaviour/behaviour-strategies.mjs +7 -0
- package/esm2022/lib/core/payment/payment-behaviour/payment-behaviour.module.mjs +33 -0
- package/esm2022/lib/core/payment/payment-behaviour/payment-behaviour.service.mjs +29 -0
- package/esm2022/lib/core/payment/payment-behaviour/strategies/apple-pay-with-shipping-address/apple-pay-with-shipping-address.strategy.mjs +38 -0
- package/esm2022/lib/core/payment/payment-behaviour/strategies/behaviour-strategy.abstract.mjs +20 -0
- package/esm2022/lib/core/payment/payment.service.mjs +26 -10
- package/esm2022/lib/core/payment/requests/initialize/initialize-request-params.interface.mjs +2 -0
- package/esm2022/lib/core/payment/requests/initialize/initialize.service.mjs +89 -0
- package/esm2022/lib/core/payment/requests/initialize/is-initialize-response.function.mjs +5 -0
- package/esm2022/lib/core/payment/requests/initialize/response/initialize-response.class.mjs +43 -0
- package/esm2022/lib/core/payment/requests/initialize/response/initialize-response.token.mjs +8 -0
- package/esm2022/lib/core/payment/{submit/response → requests/submit}/is-submit-response.function.mjs +2 -2
- package/esm2022/lib/core/payment/requests/submit/request/submit-request.class.mjs +36 -0
- package/esm2022/lib/core/payment/requests/submit/request/submit-request.token.mjs +8 -0
- package/esm2022/lib/core/payment/requests/submit/response/submit-response.class.mjs +35 -0
- package/esm2022/lib/core/payment/requests/submit/response/submit-response.token.mjs +8 -0
- package/esm2022/lib/core/payment/requests/submit/response/xsolla-number.interface.mjs +2 -0
- package/esm2022/lib/core/payment/requests/submit/submit.service.mjs +82 -0
- package/esm2022/lib/core/payment/requests/sync/field-async-validation.interface.mjs +2 -0
- package/esm2022/lib/core/payment/requests/sync/field-sync-state.interface.mjs +2 -0
- package/esm2022/lib/core/payment/requests/sync/request/sync-request.class.mjs +34 -0
- package/esm2022/lib/core/payment/requests/sync/request/sync-request.token.mjs +8 -0
- package/esm2022/lib/core/payment/requests/sync/response/sync-response.class.mjs +17 -0
- package/esm2022/lib/core/payment/requests/sync/response/sync-response.token.mjs +8 -0
- package/esm2022/lib/core/payment/requests/sync/sync.service.mjs +184 -0
- package/esm2022/lib/core/payment/status/check-status/check-status.service.mjs +2 -2
- package/esm2022/lib/core/payment/status/check-status/request/check-status-request.class.mjs +2 -2
- package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +2 -2
- package/esm2022/lib/core/payment/status/status-request/status-request.service.mjs +2 -2
- package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +1 -1
- package/esm2022/lib/core/payment/xps-api/xps-api-part-request.abstract.mjs +13 -0
- package/esm2022/lib/core/payment/xps-api/xps-api-part.abstract.mjs +19 -0
- package/esm2022/lib/core/payment/xps-finance.interface.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs +56 -0
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-sdk.service.mjs +95 -0
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +46 -18
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/apple-pay-session.interface.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +32 -5
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +31 -5
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/shipping-address.interface.mjs +2 -0
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/updated-price.interface.mjs +2 -0
- package/esm2022/lib/core/sdk-payment-systems/google-pay/check-payment-device-data.interface.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +1 -1
- package/esm2022/lib/core-library.module.mjs +10 -9
- package/esm2022/lib/core-library.service.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/xsolla-payment-client-core.mjs +393 -26
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/encrypt-credit-card/encrypt-credit-card.service.d.ts +1 -1
- package/lib/core/payment/actions/action.interface.d.ts +1 -1
- package/lib/core/payment/actions/check-status/check-status.action.class.d.ts +1 -1
- package/lib/core/payment/actions/next-action.service.d.ts +1 -1
- package/lib/core/payment/actions/next-actions.d.ts +1 -1
- package/lib/core/payment/actions/redirect/redirect.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-cash-payment-instruction/show-cash-payment-instruction.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-errors/show-errors.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-fields/show-fields.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.d.ts +1 -1
- package/lib/core/payment/actions/show-xsolla-number/show-xsolla-number.action.class.d.ts +1 -1
- package/lib/core/payment/actions/special-button/special-button.action.class.d.ts +1 -1
- package/lib/core/payment/form/converters/birth-date/birth-date.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/card-expiration/card-expiration.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/card-month/card-month.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/card-number/card-number.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/card-year/card-year.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/checkbox/checkbox.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/converter.abstract.d.ts +1 -1
- package/lib/core/payment/form/converters/coupon/coupon.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/cpf-name/cpf-name.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/cpf-number/cpf-number.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/cvv/cvv.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/email/email.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/{phone.converter.d.ts → phone/phone.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/pin/pin.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/pricepoint/pricepoint.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/radio-group/radio-group.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/select/select.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/street-number/street-number.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/text/text.converter.d.ts +1 -1
- package/lib/core/payment/form/converters/zip/zip.converter.d.ts +1 -1
- package/lib/core/payment/form-response.interface.d.ts +2 -2
- package/lib/core/payment/initialize-actions/action.interface.d.ts +2 -2
- package/lib/core/payment/initialize-actions/initialize-next-action.service.d.ts +1 -1
- package/lib/core/payment/initialize-actions/initialize-next-actions.d.ts +1 -1
- package/lib/core/payment/initialize-actions/special-button/special-button.action.class.d.ts +1 -1
- package/lib/core/payment/payment-behaviour/behaviour-strategies.d.ts +5 -0
- package/lib/core/payment/payment-behaviour/payment-behaviour.module.d.ts +7 -0
- package/lib/core/payment/payment-behaviour/payment-behaviour.service.d.ts +16 -0
- package/lib/core/payment/payment-behaviour/strategies/apple-pay-with-shipping-address/apple-pay-with-shipping-address.strategy.d.ts +10 -0
- package/lib/core/payment/payment-behaviour/strategies/behaviour-strategy.abstract.d.ts +15 -0
- package/lib/core/payment/payment.service.d.ts +10 -6
- package/lib/core/payment/{initialize → requests/initialize}/initialize-request-params.interface.d.ts +1 -1
- package/lib/core/payment/{initialize → requests/initialize}/initialize.service.d.ts +10 -10
- package/lib/core/payment/requests/initialize/is-initialize-response.function.d.ts +2 -0
- package/lib/core/payment/{initialize → requests/initialize}/response/initialize-response.class.d.ts +2 -2
- package/lib/core/payment/{submit/response → requests/submit}/is-submit-response.function.d.ts +1 -1
- package/lib/core/payment/{submit → requests/submit}/request/submit-request.class.d.ts +2 -2
- package/lib/core/payment/{submit → requests/submit}/response/submit-response.class.d.ts +4 -4
- package/lib/core/payment/{submit → requests/submit}/submit.service.d.ts +9 -9
- package/lib/core/payment/{sync → requests/sync}/field-async-validation.interface.d.ts +1 -1
- package/lib/core/payment/{sync → requests/sync}/request/sync-request.class.d.ts +2 -2
- package/lib/core/payment/{sync → requests/sync}/response/sync-response.class.d.ts +2 -2
- package/lib/core/payment/{sync → requests/sync}/sync.service.d.ts +14 -12
- package/lib/core/payment/status/check-status/check-status.service.d.ts +1 -1
- package/lib/core/payment/status/check-status/request/check-status-request.class.d.ts +1 -1
- package/lib/core/payment/status/status-request/request/status-request.class.d.ts +1 -1
- package/lib/core/payment/status/status-request/status-request.service.d.ts +1 -1
- package/lib/core/payment/three-ds/three-ds.service.d.ts +1 -1
- package/lib/core/payment/xps-finance.interface.d.ts +20 -0
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +21 -0
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay-sdk.service.d.ts +24 -0
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +10 -3
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/apple-pay-session.interface.d.ts +17 -8
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +4 -2
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +4 -2
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts +1 -1
- package/lib/core/sdk-payment-systems/apple-pay/shipping-address.interface.d.ts +4 -0
- package/lib/core/sdk-payment-systems/apple-pay/updated-price.interface.d.ts +7 -0
- package/lib/core/sdk-payment-systems/google-pay/check-payment-device-data.interface.d.ts +1 -1
- package/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.d.ts +1 -1
- package/lib/core-library.module.d.ts +2 -1
- package/lib/core-library.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/xsolla-payment-client-core-0.2.54.tgz +0 -0
- package/esm2022/lib/core/payment/form/converters/phone.converter.mjs +0 -39
- package/esm2022/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -2
- package/esm2022/lib/core/payment/initialize/initialize.service.mjs +0 -89
- package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
- package/esm2022/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -8
- package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +0 -36
- package/esm2022/lib/core/payment/submit/request/submit-request.token.mjs +0 -8
- package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +0 -35
- package/esm2022/lib/core/payment/submit/response/submit-response.token.mjs +0 -8
- package/esm2022/lib/core/payment/submit/response/xsolla-number.interface.mjs +0 -2
- package/esm2022/lib/core/payment/submit/submit.service.mjs +0 -82
- package/esm2022/lib/core/payment/sync/field-async-validation.interface.mjs +0 -2
- package/esm2022/lib/core/payment/sync/field-sync-state.interface.mjs +0 -2
- package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +0 -34
- package/esm2022/lib/core/payment/sync/request/sync-request.token.mjs +0 -8
- package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
- package/esm2022/lib/core/payment/sync/response/sync-response.token.mjs +0 -8
- package/esm2022/lib/core/payment/sync/sync.service.mjs +0 -164
- package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +0 -13
- package/esm2022/lib/core/payment/xps-api-part.abstract.mjs +0 -19
- package/xsolla-payment-client-core-0.2.52.tgz +0 -0
- /package/lib/core/payment/{initialize → requests/initialize}/response/initialize-response.token.d.ts +0 -0
- /package/lib/core/payment/{submit → requests/submit}/request/submit-request.token.d.ts +0 -0
- /package/lib/core/payment/{submit → requests/submit}/response/submit-response.token.d.ts +0 -0
- /package/lib/core/payment/{submit → requests/submit}/response/xsolla-number.interface.d.ts +0 -0
- /package/lib/core/payment/{sync → requests/sync}/field-sync-state.interface.d.ts +0 -0
- /package/lib/core/payment/{sync → requests/sync}/request/sync-request.token.d.ts +0 -0
- /package/lib/core/payment/{sync → requests/sync}/response/sync-response.token.d.ts +0 -0
- /package/lib/core/payment/{xps-api-part-request.abstract.d.ts → xps-api/xps-api-part-request.abstract.d.ts} +0 -0
- /package/lib/core/payment/{xps-api-part.abstract.d.ts → xps-api/xps-api-part.abstract.d.ts} +0 -0
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { UntypedFormGroup, ValidationErrors } from '@angular/forms';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { SettingsService } from '
|
|
4
|
-
import { EmitDataService } from '
|
|
5
|
-
import { Field } from '
|
|
6
|
-
import { XpsResponse } from '
|
|
3
|
+
import { SettingsService } from '../../../settings/settings.service';
|
|
4
|
+
import { EmitDataService } from '../../emit-data.service.abstract';
|
|
5
|
+
import { Field } from '../../field.interface';
|
|
6
|
+
import { XpsResponse } from '../../xps-response.interface';
|
|
7
7
|
import { SyncRequestFactory } from './request/sync-request.token';
|
|
8
8
|
import { SyncResponse } from './response/sync-response.class';
|
|
9
9
|
import { SyncResponseFactory } from './response/sync-response.token';
|
|
10
|
-
import { NextActionService } from '
|
|
11
|
-
import { ShowErrorsActionCreator } from '
|
|
12
|
-
import { XpsApiService } from '
|
|
10
|
+
import { NextActionService } from '../../actions/next-action.service';
|
|
11
|
+
import { ShowErrorsActionCreator } from '../../actions/show-errors/show-errors.action.class';
|
|
12
|
+
import { XpsApiService } from '../../xps-api/xps-api.service';
|
|
13
13
|
import { FieldAsyncValidation } from './field-async-validation.interface';
|
|
14
|
-
import { EncryptCreditCardService } from '
|
|
15
|
-
import { XpsResponseErrorsMappingService } from '
|
|
16
|
-
import { UserBehaviourAnalyticsService } from '
|
|
17
|
-
import { PaymentConfiguration } from '
|
|
18
|
-
import { PaymentSettingsService } from '
|
|
14
|
+
import { EncryptCreditCardService } from '../../../encrypt-credit-card/encrypt-credit-card.service';
|
|
15
|
+
import { XpsResponseErrorsMappingService } from '../../../errors-mapping/xps-response-errors-mapping.service';
|
|
16
|
+
import { UserBehaviourAnalyticsService } from '../../../user-behaviour-analytics/user-behaviour-analytics.service';
|
|
17
|
+
import { PaymentConfiguration } from '../../payment-configuration.interface';
|
|
18
|
+
import { PaymentSettingsService } from '../../payment-settings/payment-settings.service';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
export declare class SyncService extends EmitDataService<XpsResponse> {
|
|
21
21
|
private readonly requestFactory;
|
|
@@ -39,6 +39,8 @@ export declare class SyncService extends EmitDataService<XpsResponse> {
|
|
|
39
39
|
setup(form: UntypedFormGroup, fields: Field[], config: PaymentConfiguration): void;
|
|
40
40
|
reset(): void;
|
|
41
41
|
validate(field: Field, delay?: number): Promise<ValidationErrors | null>;
|
|
42
|
+
forceValidate(field: Field): Promise<SyncResponse | null>;
|
|
43
|
+
removeField(fieldName: string): void;
|
|
42
44
|
getSyncValidationErrors(field: Field): ValidationErrors | null;
|
|
43
45
|
request(field: Field, fields?: Field[], form?: UntypedFormGroup): Promise<SyncResponse>;
|
|
44
46
|
private isReadyField;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SettingsService } from '../../../settings/settings.service';
|
|
2
2
|
import { CheckStatusRequestFactory } from './request/check-status-request.token';
|
|
3
3
|
import { CheckStatusResponseFactory } from './response/check-status-response.token';
|
|
4
|
-
import { XpsApiPart } from '../../xps-api-part.abstract';
|
|
4
|
+
import { XpsApiPart } from '../../xps-api/xps-api-part.abstract';
|
|
5
5
|
import { XpsApiService } from '../../xps-api/xps-api.service';
|
|
6
6
|
import { CheckStatusResponse } from './response/check-status-response.class';
|
|
7
7
|
import { XpsResponseErrorsMappingService } from '../../../errors-mapping/xps-response-errors-mapping.service';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XpsApiPartRequest } from '../../../xps-api-part-request.abstract';
|
|
1
|
+
import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
|
|
2
2
|
export declare class CheckStatusRequest extends XpsApiPartRequest {
|
|
3
3
|
readonly access_token: string;
|
|
4
4
|
readonly xps_fix_command = "status";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XpsApiPartRequest } from '../../../xps-api-part-request.abstract';
|
|
1
|
+
import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
|
|
2
2
|
import { StatusRequestParams } from '../status-request-params.interface';
|
|
3
3
|
export declare class StatusRequest extends XpsApiPartRequest {
|
|
4
4
|
readonly access_token: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SettingsService } from '../../../settings/settings.service';
|
|
2
2
|
import { SecureApiClient } from '../../../http/secure-api/secure-api.service';
|
|
3
|
-
import { XpsApiPart } from '../../xps-api-part.abstract';
|
|
3
|
+
import { XpsApiPart } from '../../xps-api/xps-api-part.abstract';
|
|
4
4
|
import { StatusRequestFactory } from './request/status-request.token';
|
|
5
5
|
import { StatusResponseFactory } from './response/status-response.token';
|
|
6
6
|
import { StatusRequestParams } from './status-request-params.interface';
|
|
@@ -2,7 +2,7 @@ import { NextActionService } from '../actions/next-action.service';
|
|
|
2
2
|
import { ThreeDs20Service } from './three-ds-20/three-ds20.service';
|
|
3
3
|
import { ThreeDsActionCreator } from '../actions/three-ds/three-ds.action.class';
|
|
4
4
|
import { CheckStatusActionCreator } from '../actions/check-status/check-status.action.class';
|
|
5
|
-
import { SubmitResponse } from '../submit/response/submit-response.class';
|
|
5
|
+
import { SubmitResponse } from '../requests/submit/response/submit-response.class';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class ThreeDsService {
|
|
8
8
|
private readonly threeDs20Service;
|
|
@@ -8,6 +8,12 @@ export interface XpsFinance {
|
|
|
8
8
|
payment_amount: number;
|
|
9
9
|
payment_currency: string;
|
|
10
10
|
};
|
|
11
|
+
redeem_points?: {
|
|
12
|
+
amount: number;
|
|
13
|
+
currency: string;
|
|
14
|
+
points_value: number;
|
|
15
|
+
points_name: string;
|
|
16
|
+
};
|
|
11
17
|
discount: {
|
|
12
18
|
amount: number;
|
|
13
19
|
currency: string;
|
|
@@ -23,11 +29,21 @@ export interface XpsFinance {
|
|
|
23
29
|
percent: number;
|
|
24
30
|
currency: string;
|
|
25
31
|
};
|
|
32
|
+
city_tax?: {
|
|
33
|
+
amount: number;
|
|
34
|
+
percent: number;
|
|
35
|
+
currency: string;
|
|
36
|
+
};
|
|
26
37
|
sales_tax_user?: {
|
|
27
38
|
amount: number;
|
|
28
39
|
percent: number;
|
|
29
40
|
currency: string;
|
|
30
41
|
};
|
|
42
|
+
city_tax_user?: {
|
|
43
|
+
amount: number;
|
|
44
|
+
percent: number;
|
|
45
|
+
currency: string;
|
|
46
|
+
};
|
|
31
47
|
fee: {
|
|
32
48
|
amount: number;
|
|
33
49
|
currency: string;
|
|
@@ -50,6 +66,10 @@ export interface XpsFinance {
|
|
|
50
66
|
amount: number;
|
|
51
67
|
currency: string;
|
|
52
68
|
};
|
|
69
|
+
user_recurrent_balance?: {
|
|
70
|
+
amount: number;
|
|
71
|
+
currency: string;
|
|
72
|
+
};
|
|
53
73
|
grand_total?: {
|
|
54
74
|
amount: number;
|
|
55
75
|
currency: string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ApplePayError, ApplePayShippingContact, ApplePayShippingContactUpdate } from '../session-handlers/apple-pay-session.interface';
|
|
3
|
+
import { ApplePayParams } from '../apple-pay-params.interface';
|
|
4
|
+
import { UpdatedPrice } from '../updated-price.interface';
|
|
5
|
+
import { ShippingAddress } from '../shipping-address.interface';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class ApplePayCartService {
|
|
8
|
+
private readonly cartSuccessfulRecalculated;
|
|
9
|
+
private readonly cartErrorRecalculated;
|
|
10
|
+
private readonly cartRecalculationRequest;
|
|
11
|
+
get cartSuccessfulRecalculated$(): Observable<UpdatedPrice>;
|
|
12
|
+
get cartErrorRecalculated$(): Observable<ApplePayError>;
|
|
13
|
+
get cartRecalculationRequest$(): Observable<ShippingAddress>;
|
|
14
|
+
recalculateCartTaxes(shippingContact: ApplePayShippingContact): void;
|
|
15
|
+
buildShippingContactUpdate(paymentParams: ApplePayParams, updatedPrice: UpdatedPrice): ApplePayShippingContactUpdate;
|
|
16
|
+
sendSuccessfulRecalculatedCart(updatedPrice: UpdatedPrice): void;
|
|
17
|
+
sendErrorRecalculatedCart(error: ApplePayError): void;
|
|
18
|
+
isZipCountry(country: string): boolean;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplePayCartService, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplePayCartService>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ExtendedWindow } from '../../extended-window.interface';
|
|
2
|
+
import { ElkLoggerService } from '../../exceptions-handling/elk/elk-logger.service';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ApplePaySdkService {
|
|
6
|
+
private readonly window;
|
|
7
|
+
private readonly loggerService;
|
|
8
|
+
readonly needToAddApplePayJs: boolean;
|
|
9
|
+
sdkLoaded: boolean;
|
|
10
|
+
private readonly jsSdk;
|
|
11
|
+
private readonly sdkSuccessfulPayment;
|
|
12
|
+
private readonly windowClosing;
|
|
13
|
+
private readonly successPaymentType;
|
|
14
|
+
private readonly windowClosingType;
|
|
15
|
+
private applePaySdkPostMessagesListener;
|
|
16
|
+
constructor(window: ExtendedWindow, loggerService: ElkLoggerService);
|
|
17
|
+
get windowClosing$(): Observable<void>;
|
|
18
|
+
emitWindowClosing(): void;
|
|
19
|
+
addApplePaySdkJs(): void;
|
|
20
|
+
removeListeners(): void;
|
|
21
|
+
private isAppleSdkExist;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplePaySdkService, never>;
|
|
23
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplePaySdkService>;
|
|
24
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { ExtendedWindow } from '../../extended-window.interface';
|
|
3
3
|
import { SummaryFinanceDetailsAdapterService } from '../../payment/finance-details/summary/summary-finance-details-adapter.service';
|
|
4
|
-
import { UserAgentService } from '../../user-agent/user-agent.service';
|
|
5
4
|
import { ApplePayIntegration } from './apple-pay-integration.type';
|
|
6
5
|
import { ApplePayParams } from './apple-pay-params.interface';
|
|
7
6
|
import { ApplePayErrors } from './apple-pay.errors.enum';
|
|
@@ -11,18 +10,20 @@ import { PaymentForm } from '../../payment/payment-form.interface';
|
|
|
11
10
|
import { ApplePayParamsBuilderService } from './params-builder/apple-pay-params-builder.service';
|
|
12
11
|
import { ElkLoggerService } from '../../exceptions-handling/elk/elk-logger.service';
|
|
13
12
|
import { StartSessionParams } from './session-handlers/start-session-params.interface';
|
|
13
|
+
import { ApplePaySdkService } from './apple-pay-sdk.service';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export declare class ApplePayService {
|
|
16
16
|
private readonly window;
|
|
17
|
-
private readonly userAgentService;
|
|
18
17
|
private readonly summaryFinanceDetailsAdapterService;
|
|
19
18
|
private readonly braintreeHandler;
|
|
20
19
|
private readonly checkoutHandler;
|
|
21
20
|
private readonly appleParamsBuilder;
|
|
22
21
|
private readonly elkLoggerService;
|
|
22
|
+
private readonly applePaySdkService;
|
|
23
23
|
private readonly payment;
|
|
24
24
|
private readonly error;
|
|
25
25
|
private readonly integrationType;
|
|
26
|
+
private readonly applePayQrOpened;
|
|
26
27
|
private paymentClient;
|
|
27
28
|
private readonly api;
|
|
28
29
|
private applePayParams;
|
|
@@ -30,8 +31,12 @@ export declare class ApplePayService {
|
|
|
30
31
|
get paymentParameters(): ApplePayParams | null;
|
|
31
32
|
get payment$(): Observable<string>;
|
|
32
33
|
get error$(): Observable<ApplePayErrors>;
|
|
34
|
+
get applePayQrOpened$(): Observable<void>;
|
|
35
|
+
get windowClosing$(): Observable<void>;
|
|
33
36
|
get integrationType$(): Observable<ApplePayIntegration>;
|
|
34
|
-
constructor(window: ExtendedWindow,
|
|
37
|
+
constructor(window: ExtendedWindow, summaryFinanceDetailsAdapterService: SummaryFinanceDetailsAdapterService, braintreeHandler: BraintreeHandler, checkoutHandler: CheckoutHandler, appleParamsBuilder: ApplePayParamsBuilderService, elkLoggerService: ElkLoggerService, applePaySdkService: ApplePaySdkService);
|
|
38
|
+
addApplePaySdkJs(): void;
|
|
39
|
+
removeListeners(): void;
|
|
35
40
|
setApplePayParams(data: {
|
|
36
41
|
paymentForm: PaymentForm;
|
|
37
42
|
}): void;
|
|
@@ -53,6 +58,8 @@ export declare class ApplePayService {
|
|
|
53
58
|
private emitError;
|
|
54
59
|
private emitIntegrationType;
|
|
55
60
|
private subscribeToHandlers;
|
|
61
|
+
private getIntegrationType;
|
|
62
|
+
private emitApplePayOpened;
|
|
56
63
|
static ɵfac: i0.ɵɵFactoryDeclaration<ApplePayService, never>;
|
|
57
64
|
static ɵprov: i0.ɵɵInjectableDeclaration<ApplePayService>;
|
|
58
65
|
}
|
package/lib/core/sdk-payment-systems/apple-pay/session-handlers/apple-pay-session.interface.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export declare class ApplePaySession {
|
|
|
15
15
|
abort(): void;
|
|
16
16
|
begin(): void;
|
|
17
17
|
}
|
|
18
|
+
export type ApplePayErrorCode = 'shippingContactInvalid' | 'billingContactInvalid' | 'addressUnserviceable' | 'unknown';
|
|
19
|
+
export type ApplePayErrorContactField = 'emailAddress' | 'name' | 'phoneNumber' | 'postalAddress' | 'postalCode' | 'none';
|
|
20
|
+
export interface ApplePayError {
|
|
21
|
+
code: ApplePayErrorCode;
|
|
22
|
+
contactField?: ApplePayErrorContactField;
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
18
25
|
export interface ApplePayValidEvent {
|
|
19
26
|
validationURL: string;
|
|
20
27
|
}
|
|
@@ -22,13 +29,14 @@ export interface ApplePayPaymentAuthorizedEvent {
|
|
|
22
29
|
payment: ApplePayPayment;
|
|
23
30
|
}
|
|
24
31
|
export interface ApplePayOnShippingContactSelectedEvent {
|
|
25
|
-
shippingContact:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
shippingContact: ApplePayShippingContact;
|
|
33
|
+
}
|
|
34
|
+
export interface ApplePayShippingContact {
|
|
35
|
+
locality: string;
|
|
36
|
+
country: string;
|
|
37
|
+
postalCode: string;
|
|
38
|
+
administrativeArea: string;
|
|
39
|
+
countryCode: string;
|
|
32
40
|
}
|
|
33
41
|
export interface ApplePayOnShippingMethodSelectedEvent {
|
|
34
42
|
shippingMethod: {
|
|
@@ -53,7 +61,8 @@ export interface ApplePayOnShippingMethodSelectedEvent {
|
|
|
53
61
|
};
|
|
54
62
|
}
|
|
55
63
|
export interface ApplePayShippingContactUpdate {
|
|
56
|
-
status
|
|
64
|
+
status?: 'STATUS_SUCCESS' | 'STATUS_FAILURE';
|
|
65
|
+
errors?: ApplePayError[];
|
|
57
66
|
newTotal: ApplePayLineItem;
|
|
58
67
|
newLineItems?: ApplePayLineItem[];
|
|
59
68
|
}
|
|
@@ -4,14 +4,16 @@ import { ExtendedWindow } from '../../../extended-window.interface';
|
|
|
4
4
|
import { ApplePayParams } from '../apple-pay-params.interface';
|
|
5
5
|
import { ApplePaySessionHandlerAbstract } from './session-handler.abstract';
|
|
6
6
|
import { StartSessionParams } from './start-session-params.interface';
|
|
7
|
+
import { ApplePayCartService } from '../apple-pay-cart/apple-pay-cart.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export declare class BraintreeHandler extends ApplePaySessionHandlerAbstract {
|
|
9
10
|
private readonly window;
|
|
10
11
|
private readonly elkLoggerService;
|
|
12
|
+
private readonly applePayCartService;
|
|
11
13
|
private paymentClient;
|
|
12
|
-
constructor(window: ExtendedWindow, elkLoggerService: ElkLoggerService);
|
|
14
|
+
constructor(window: ExtendedWindow, elkLoggerService: ElkLoggerService, applePayCartService: ApplePayCartService);
|
|
13
15
|
setClient(client: ApplePay): void;
|
|
14
|
-
startSession(params: ApplePayParams, additionalParams: StartSessionParams): void;
|
|
16
|
+
startSession(params: ApplePayParams, additionalParams: StartSessionParams, applePayFinallyCallback: () => void): void;
|
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<BraintreeHandler, never>;
|
|
16
18
|
static ɵprov: i0.ɵɵInjectableDeclaration<BraintreeHandler>;
|
|
17
19
|
}
|
|
@@ -3,12 +3,14 @@ import { ExtendedWindow } from '../../../extended-window.interface';
|
|
|
3
3
|
import { ApplePayParams } from '../apple-pay-params.interface';
|
|
4
4
|
import { ApplePaySessionHandlerAbstract } from './session-handler.abstract';
|
|
5
5
|
import { StartSessionParams } from './start-session-params.interface';
|
|
6
|
+
import { ApplePayCartService } from '../apple-pay-cart/apple-pay-cart.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class CheckoutHandler extends ApplePaySessionHandlerAbstract {
|
|
8
9
|
private readonly window;
|
|
9
10
|
private readonly http;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
private readonly applePayCartService;
|
|
12
|
+
constructor(window: ExtendedWindow, http: HttpClient, applePayCartService: ApplePayCartService);
|
|
13
|
+
startSession(params: ApplePayParams, additionalParams: StartSessionParams, applePayFinallyCallback: () => void): void;
|
|
12
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutHandler, never>;
|
|
13
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutHandler>;
|
|
14
16
|
}
|
package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare abstract class ApplePaySessionHandlerAbstract {
|
|
|
8
8
|
private readonly _errorSubject;
|
|
9
9
|
get error$(): Observable<ApplePayErrors>;
|
|
10
10
|
get payment$(): Observable<string>;
|
|
11
|
-
abstract startSession(params: ApplePayParams, additionalParams: StartSessionParams): void;
|
|
11
|
+
abstract startSession(params: ApplePayParams, additionalParams: StartSessionParams, applePayFinallyCallback: () => void): void;
|
|
12
12
|
protected emitError(error: ApplePayErrors): void;
|
|
13
13
|
protected buildPaymentRequest(params: ApplePayParams): ApplePayPaymentRequest;
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field } from '../../payment/field.interface';
|
|
2
|
-
import { SubmitResponse } from '../../payment/submit/response/submit-response.class';
|
|
2
|
+
import { SubmitResponse } from '../../payment/requests/submit/response/submit-response.class';
|
|
3
3
|
import { XpsSummary } from '../../payment/xps-summary.interface';
|
|
4
4
|
export interface CheckPaymentDeviceData {
|
|
5
5
|
base64checkoutData: string | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field } from '../payment/field.interface';
|
|
2
|
-
import { SubmitResponse } from '../payment/submit/response/submit-response.class';
|
|
2
|
+
import { SubmitResponse } from '../payment/requests/submit/response/submit-response.class';
|
|
3
3
|
import { XpsSummary } from '../payment/xps-summary.interface';
|
|
4
4
|
import { XpsBoolean } from '../xps-boolean.enum';
|
|
5
5
|
export interface SdkPaymentSystemsInitialData {
|
|
@@ -2,8 +2,9 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "@angular/common/http";
|
|
3
3
|
import * as i2 from "./core/payment/form/form.module";
|
|
4
4
|
import * as i3 from "./shared/pipes/pipes.module";
|
|
5
|
+
import * as i4 from "./core/payment/payment-behaviour/payment-behaviour.module";
|
|
5
6
|
export declare class CoreLibraryModule {
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreLibraryModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreLibraryModule, never, [typeof i1.HttpClientModule, typeof i2.FormModule, typeof i3.PipesModule], never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreLibraryModule, never, [typeof i1.HttpClientModule, typeof i2.FormModule, typeof i3.PipesModule, typeof i4.PaymentBehaviourModule], never>;
|
|
8
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreLibraryModule>;
|
|
9
10
|
}
|
|
@@ -45,9 +45,9 @@ import { SendInstructionService } from './core/xsolla-number/api/send-instructio
|
|
|
45
45
|
import { SendInstructionResponseInterface } from './core/xsolla-number/api/send-instruction/response/send-instruction-response.interface';
|
|
46
46
|
import { SendInstructionParametersInterface } from './core/xsolla-number/api/send-instruction/send-instruction-parameters.interface';
|
|
47
47
|
import { ScriptTrackerService } from './core/script-tracker/script-tracker.service';
|
|
48
|
-
import { SyncResponse } from './core/payment/sync/response/sync-response.class';
|
|
48
|
+
import { SyncResponse } from './core/payment/requests/sync/response/sync-response.class';
|
|
49
49
|
import { XpsSummary } from './core/payment/xps-summary.interface';
|
|
50
|
-
import { SubmitResponse } from './core/payment/submit/response/submit-response.class';
|
|
50
|
+
import { SubmitResponse } from './core/payment/requests/submit/response/submit-response.class';
|
|
51
51
|
import * as i0 from "@angular/core";
|
|
52
52
|
export declare class CoreLibraryService {
|
|
53
53
|
private readonly settingsService;
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './lib/core/legal/legal.component.config';
|
|
|
4
4
|
export * from './lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service';
|
|
5
5
|
export * from './lib/core/sdk-payment-systems/google-pay/google-pay.service';
|
|
6
6
|
export * from './lib/core/sdk-payment-systems/apple-pay/apple-pay.service';
|
|
7
|
+
export * from './lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service';
|
|
7
8
|
export * from './lib/core/sdk-payment-systems/apple-pay/apple-pay-params.interface';
|
|
8
9
|
export * from './lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
9
10
|
export * from './lib/core/payment/form/control-status.interface';
|
|
Binary file
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Converter } from './converter.abstract';
|
|
3
|
-
import { phoneValidator } from '../validators/phone-validator';
|
|
4
|
-
import { minLengthValidator } from '../validators/min-length-validator';
|
|
5
|
-
import { maxLengthValidator } from '../validators/max-length-validator';
|
|
6
|
-
import { PhoneControlConfig } from '../controls/phone-control.config';
|
|
7
|
-
import { convertedRequiredValidator } from '../validators/required/required.validator';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../sync/sync.service";
|
|
10
|
-
export class PhoneConverter extends Converter {
|
|
11
|
-
constructor(syncService) {
|
|
12
|
-
super(syncService);
|
|
13
|
-
}
|
|
14
|
-
getValidators(field) {
|
|
15
|
-
if (field.isMandatory === "0" /* XpsBoolean.false */)
|
|
16
|
-
return [];
|
|
17
|
-
const minLength = 10;
|
|
18
|
-
const maxLength = 15;
|
|
19
|
-
return super
|
|
20
|
-
.getValidators(field)
|
|
21
|
-
.concat([
|
|
22
|
-
convertedRequiredValidator(),
|
|
23
|
-
phoneValidator(),
|
|
24
|
-
minLengthValidator(minLength),
|
|
25
|
-
maxLengthValidator(maxLength),
|
|
26
|
-
]);
|
|
27
|
-
}
|
|
28
|
-
createControlConfig(field) {
|
|
29
|
-
const config = this.createDefaultControlConfig(PhoneControlConfig, field);
|
|
30
|
-
config.inputMode = 'numeric';
|
|
31
|
-
return config;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PhoneConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PhoneConverter }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PhoneConverter, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.SyncService }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvcGhvbmUuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBSXZGLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUMzQyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZO1FBQy9CLElBQUksS0FBSyxDQUFDLFdBQVcsK0JBQXFCO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVyQixPQUFPLEtBQUs7YUFDVCxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLDBCQUEwQixFQUFFO1lBQzVCLGNBQWMsRUFBRTtZQUNoQixrQkFBa0IsQ0FBQyxTQUFTLENBQUM7WUFDN0Isa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUU3QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQTFCVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVyLmFic3RyYWN0JztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgcGhvbmVWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3Bob25lLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21pbi1sZW5ndGgtdmFsaWRhdG9yJztcbmltcG9ydCB7IG1heExlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWF4LWxlbmd0aC12YWxpZGF0b3InO1xuaW1wb3J0IHsgUGhvbmVDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvcGhvbmUtY29udHJvbC5jb25maWcnO1xuaW1wb3J0IHsgY29udmVydGVkUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3JlcXVpcmVkL3JlcXVpcmVkLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4veHBzLWJvb2xlYW4uZW51bSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQaG9uZUNvbnZlcnRlciBleHRlbmRzIENvbnZlcnRlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzeW5jU2VydmljZTogU3luY1NlcnZpY2UpIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRmllbGQpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBpZiAoZmllbGQuaXNNYW5kYXRvcnkgPT09IFhwc0Jvb2xlYW4uZmFsc2UpIHJldHVybiBbXTtcblxuICAgIGNvbnN0IG1pbkxlbmd0aCA9IDEwO1xuICAgIGNvbnN0IG1heExlbmd0aCA9IDE1O1xuXG4gICAgcmV0dXJuIHN1cGVyXG4gICAgICAuZ2V0VmFsaWRhdG9ycyhmaWVsZClcbiAgICAgIC5jb25jYXQoW1xuICAgICAgICBjb252ZXJ0ZWRSZXF1aXJlZFZhbGlkYXRvcigpLFxuICAgICAgICBwaG9uZVZhbGlkYXRvcigpLFxuICAgICAgICBtaW5MZW5ndGhWYWxpZGF0b3IobWluTGVuZ3RoKSxcbiAgICAgICAgbWF4TGVuZ3RoVmFsaWRhdG9yKG1heExlbmd0aCksXG4gICAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFBob25lQ29udHJvbENvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhQaG9uZUNvbnRyb2xDb25maWcsIGZpZWxkKTtcbiAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2luaXRpYWxpemUvaW5pdGlhbGl6ZS1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplUmVxdWVzdFBhcmFtcyB7XG4gIFtmaWVsZE5hbWU6IGB4cHNfJHtzdHJpbmd9YF06IHVua25vd247XG5cbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIHBpZDogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICByZXR1cm5Vcmw/OiBzdHJpbmc7XG4gIHBheW1lbnRXaXRoU2F2ZWRNZXRob2Q6IFhwc0Jvb2xlYW47XG4gIHNhdmVkX21ldGhvZF9pZD86IG51bWJlcjtcbiAgc2F2ZV9wYXltZW50X2FjY291bnRfb25seTogWHBzQm9vbGVhbjtcbiAgbW9iaWxlPzogWHBzQm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ResponseError } from '../../exceptions-handling/errors/response-error.class';
|
|
3
|
-
import { initializeResponseFactoryToken, } from './response/initialize-response.token';
|
|
4
|
-
import { UserBehaviourEventName } from '../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
5
|
-
import { userBehaviourEventTypes } from '../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../xps-api/xps-api.service";
|
|
8
|
-
import * as i2 from "../../settings/settings.service";
|
|
9
|
-
import * as i3 from "../../country/country.service";
|
|
10
|
-
import * as i4 from "../actions/next-action.service";
|
|
11
|
-
import * as i5 from "../../errors-mapping/xps-response-errors-mapping.service";
|
|
12
|
-
import * as i6 from "../../encrypt-credit-card/encrypt-credit-card.service";
|
|
13
|
-
import * as i7 from "../actions/show-errors/show-errors.action.class";
|
|
14
|
-
import * as i8 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
15
|
-
import * as i9 from "../payment-settings/payment-settings.service";
|
|
16
|
-
export class InitializeService {
|
|
17
|
-
constructor(responseFactory, xpsApiService, settingsService, countryService, nextActionService, xpsResponseErrorsMappingService, encryptCreditCardService, showErrorsActionCreator, userBehaviourAnalyticsService, paymentSettingsService) {
|
|
18
|
-
this.responseFactory = responseFactory;
|
|
19
|
-
this.xpsApiService = xpsApiService;
|
|
20
|
-
this.settingsService = settingsService;
|
|
21
|
-
this.countryService = countryService;
|
|
22
|
-
this.nextActionService = nextActionService;
|
|
23
|
-
this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
|
|
24
|
-
this.encryptCreditCardService = encryptCreditCardService;
|
|
25
|
-
this.showErrorsActionCreator = showErrorsActionCreator;
|
|
26
|
-
this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
|
|
27
|
-
this.paymentSettingsService = paymentSettingsService;
|
|
28
|
-
}
|
|
29
|
-
async request(config) {
|
|
30
|
-
const paymentSettingsParams = this.paymentSettingsService.getPaymentSettingsParams(config);
|
|
31
|
-
const requestParams = {
|
|
32
|
-
access_token: this.settingsService.token,
|
|
33
|
-
pid: String(config.paymentMethodId),
|
|
34
|
-
country: this.countryService.getCountry(),
|
|
35
|
-
returnUrl: config.returnUrl,
|
|
36
|
-
paymentWithSavedMethod: config.paymentWithSavedMethod === true
|
|
37
|
-
? "1" /* XpsBoolean.true */
|
|
38
|
-
: "0" /* XpsBoolean.false */,
|
|
39
|
-
save_payment_account_only: config.savePaymentMethod
|
|
40
|
-
? "1" /* XpsBoolean.true */
|
|
41
|
-
: "0" /* XpsBoolean.false */,
|
|
42
|
-
...paymentSettingsParams,
|
|
43
|
-
};
|
|
44
|
-
if (config.savedMethodId) {
|
|
45
|
-
requestParams.saved_method_id = config.savedMethodId;
|
|
46
|
-
}
|
|
47
|
-
return this.xpsApiService
|
|
48
|
-
.directPaymentRequest(requestParams)
|
|
49
|
-
.then((xpsResponse) => {
|
|
50
|
-
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
51
|
-
const initializeResponse = this.responseFactory(response);
|
|
52
|
-
if (!initializeResponse.paymentForm) {
|
|
53
|
-
return initializeResponse;
|
|
54
|
-
}
|
|
55
|
-
this.setCreditCardEncryptKey(initializeResponse.paymentForm);
|
|
56
|
-
this.userBehaviourAnalyticsService.fillUserSession(initializeResponse.paymentForm);
|
|
57
|
-
if (initializeResponse.paymentForm?.errors?.length) {
|
|
58
|
-
const logError = (error) => {
|
|
59
|
-
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
|
|
60
|
-
};
|
|
61
|
-
initializeResponse.paymentForm.errors.forEach(logError);
|
|
62
|
-
this.nextActionService.emitFlowUpdates(this.showErrorsActionCreator.getActionData(initializeResponse.paymentForm.errors));
|
|
63
|
-
}
|
|
64
|
-
return initializeResponse;
|
|
65
|
-
})
|
|
66
|
-
.catch((error) => {
|
|
67
|
-
throw new ResponseError(error.message);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
setCreditCardEncryptKey(paymentForm) {
|
|
71
|
-
const publicKeyField = paymentForm.fields.find((field) => field.name === 'public_key');
|
|
72
|
-
if (!publicKeyField) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
this.encryptCreditCardService.setPublicKey(atob(publicKeyField.value));
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InitializeService, deps: [{ token: initializeResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.SettingsService }, { token: i3.CountryService }, { token: i4.NextActionService }, { token: i5.XpsResponseErrorsMappingService }, { token: i6.EncryptCreditCardService }, { token: i7.ShowErrorsActionCreator }, { token: i8.UserBehaviourAnalyticsService }, { token: i9.PaymentSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InitializeService, providedIn: 'root' }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InitializeService, decorators: [{
|
|
81
|
-
type: Injectable,
|
|
82
|
-
args: [{
|
|
83
|
-
providedIn: 'root',
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [initializeResponseFactoryToken]
|
|
88
|
-
}] }, { type: i1.XpsApiService }, { type: i2.SettingsService }, { type: i3.CountryService }, { type: i4.NextActionService }, { type: i5.XpsResponseErrorsMappingService }, { type: i6.EncryptCreditCardService }, { type: i7.ShowErrorsActionCreator }, { type: i8.UserBehaviourAnalyticsService }, { type: i9.PaymentSettingsService }] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFTdEYsT0FBTyxFQUVMLDhCQUE4QixHQUMvQixNQUFNLHNDQUFzQyxDQUFDO0FBSzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdGQUFnRixDQUFDOzs7Ozs7Ozs7OztBQU96SCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBRXFCLGVBQTBDLEVBQzVDLGFBQTRCLEVBQzVCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQywrQkFBZ0UsRUFDaEUsd0JBQWtELEVBQ2xELHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsc0JBQThDO1FBVDVDLG9CQUFlLEdBQWYsZUFBZSxDQUEyQjtRQUM1QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQzlELENBQUM7SUFFRyxLQUFLLENBQUMsT0FBTyxDQUNsQixNQUE0QjtRQUU1QixNQUFNLHFCQUFxQixHQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsTUFBTSxhQUFhLEdBQTRCO1lBQzdDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDeEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUN6QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0Isc0JBQXNCLEVBQ3BCLE1BQU0sQ0FBQyxzQkFBc0IsS0FBSyxJQUFJO2dCQUNwQyxDQUFDO2dCQUNELENBQUMsMkJBQWlCO1lBQ3RCLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7Z0JBQ2pELENBQUM7Z0JBQ0QsQ0FBQywyQkFBaUI7WUFDcEIsR0FBRyxxQkFBcUI7U0FDekIsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLGFBQWEsQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUN2RCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYTthQUN0QixvQkFBb0IsQ0FBQyxhQUFhLENBQUM7YUFDbkMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwQyxPQUFPLGtCQUFrQixDQUFDO1lBQzVCLENBQUM7WUFFRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGVBQWUsQ0FDaEQsa0JBQWtCLENBQUMsV0FBVyxDQUMvQixDQUFDO1lBRUYsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNuRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXdDLEVBQVEsRUFBRTtvQkFDbEUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FDckMsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQ3ZDLHVCQUF1QixDQUFDLE1BQU0sRUFDOUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUN6RCxDQUFDO2dCQUNKLENBQUMsQ0FBQztnQkFFRixrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FDeEMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDdEMsQ0FDRixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sa0JBQWtCLENBQUM7UUFDNUIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsV0FBd0I7UUFDdEQsTUFBTSxjQUFjLEdBQXNCLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMvRCxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLENBQzlDLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQTFGVSxpQkFBaUIsa0JBRWxCLDhCQUE4QjtrSEFGN0IsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTaG93RXJyb3JzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uL2FjdGlvbnMvc2hvdy1lcnJvcnMvc2hvdy1lcnJvcnMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Rm9ybSB9IGZyb20gJy4uL3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgSW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeSxcbiAgaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL2luaXRpYWxpemUtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEluaXRpYWxpemVSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9pbml0aWFsaXplLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXJyb3JzLW1hcHBpbmcveHBzLXJlc3BvbnNlLWVycm9ycy1tYXBwaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3BheW1lbnQtc2V0dGluZ3MvcGF5bWVudC1zZXR0aW5ncy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEluaXRpYWxpemVTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IEluaXRpYWxpemVSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlOiBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlOiBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2V0dGluZ3NTZXJ2aWNlOiBQYXltZW50U2V0dGluZ3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgcmVxdWVzdChcbiAgICBjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uXG4gICk6IFByb21pc2U8SW5pdGlhbGl6ZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcGF5bWVudFNldHRpbmdzUGFyYW1zID1cbiAgICAgIHRoaXMucGF5bWVudFNldHRpbmdzU2VydmljZS5nZXRQYXltZW50U2V0dGluZ3NQYXJhbXMoY29uZmlnKTtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zOiBJbml0aWFsaXplUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBwaWQ6IFN0cmluZyhjb25maWcucGF5bWVudE1ldGhvZElkKSxcbiAgICAgIGNvdW50cnk6IHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpLFxuICAgICAgcmV0dXJuVXJsOiBjb25maWcucmV0dXJuVXJsLFxuICAgICAgcGF5bWVudFdpdGhTYXZlZE1ldGhvZDpcbiAgICAgICAgY29uZmlnLnBheW1lbnRXaXRoU2F2ZWRNZXRob2QgPT09IHRydWVcbiAgICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICAgIDogWHBzQm9vbGVhbi5mYWxzZSxcbiAgICAgIHNhdmVfcGF5bWVudF9hY2NvdW50X29ubHk6IGNvbmZpZy5zYXZlUGF5bWVudE1ldGhvZFxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgICAuLi5wYXltZW50U2V0dGluZ3NQYXJhbXMsXG4gICAgfTtcblxuICAgIGlmIChjb25maWcuc2F2ZWRNZXRob2RJZCkge1xuICAgICAgcmVxdWVzdFBhcmFtcy5zYXZlZF9tZXRob2RfaWQgPSBjb25maWcuc2F2ZWRNZXRob2RJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QocmVxdWVzdFBhcmFtcylcbiAgICAgIC50aGVuKCh4cHNSZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdGhpcy54cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLm1hcEVycm9ycyh4cHNSZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxpemVSZXNwb25zZSA9IHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlKTtcblxuICAgICAgICBpZiAoIWluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybSkge1xuICAgICAgICAgIHJldHVybiBpbml0aWFsaXplUmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldENyZWRpdENhcmRFbmNyeXB0S2V5KGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybSk7XG4gICAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UuZmlsbFVzZXJTZXNzaW9uKFxuICAgICAgICAgIGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpbml0aWFsaXplUmVzcG9uc2UucGF5bWVudEZvcm0/LmVycm9ycz8ubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgbG9nRXJyb3IgPSAoZXJyb3I6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLnNob3dFcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICAgICAgeyB2YWx1ZTogU3RyaW5nKGVycm9yLmNvZGUpLCBleHRyYVZhbHVlOiBlcnJvci5tZXNzYWdlIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGluaXRpYWxpemVSZXNwb25zZS5wYXltZW50Rm9ybS5lcnJvcnMuZm9yRWFjaChsb2dFcnJvcik7XG5cbiAgICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShcbiAgICAgICAgICAgICAgaW5pdGlhbGl6ZVJlc3BvbnNlLnBheW1lbnRGb3JtLmVycm9yc1xuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZVJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldENyZWRpdENhcmRFbmNyeXB0S2V5KHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSk6IHZvaWQge1xuICAgIGNvbnN0IHB1YmxpY0tleUZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZCA9IHBheW1lbnRGb3JtLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ3B1YmxpY19rZXknXG4gICAgKTtcblxuICAgIGlmICghcHVibGljS2V5RmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVuY3J5cHRDcmVkaXRDYXJkU2VydmljZS5zZXRQdWJsaWNLZXkoYXRvYihwdWJsaWNLZXlGaWVsZC52YWx1ZSkpO1xuICB9XG59XG4iXX0=
|