@xsolla/payment-client-core 0.2.52 → 0.2.53
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/session-handlers/apple-pay-session.interface.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +27 -4
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +27 -4
- 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 +256 -13
- 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/session-handlers/apple-pay-session.interface.d.ts +17 -8
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +3 -1
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +3 -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.53.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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { InitializeResponse } from './initialize-response.class';
|
|
3
|
+
export const initializeResponseFactoryToken = new InjectionToken('InitializeResponse');
|
|
4
|
+
export const initializeResponseFactoryProvider = {
|
|
5
|
+
provide: initializeResponseFactoryToken,
|
|
6
|
+
useValue: (...args) => new InitializeResponse(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBVWpFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUN6QyxJQUFJLGNBQWMsQ0FBNEIsb0JBQW9CLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBa0I7SUFDOUQsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVBhcmFtZXRlcnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8XG4gIHR5cGVvZiBJbml0aWFsaXplUmVzcG9uc2Vcbj47XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVSZXNwb25zZUZhY3RvcnkgPSAoXG4gIC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVyc1xuKSA9PiBJbml0aWFsaXplUmVzcG9uc2U7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5VG9rZW46IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+ID1cbiAgbmV3IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+KCdJbml0aWFsaXplUmVzcG9uc2UnKTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVSZXNwb25zZUZhY3RvcnlQcm92aWRlcjogVmFsdWVQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IEluaXRpYWxpemVSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
|
package/esm2022/lib/core/payment/{submit/response → requests/submit}/is-submit-response.function.mjs
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SubmitResponse } from './submit-response.class';
|
|
1
|
+
import { SubmitResponse } from './response/submit-response.class';
|
|
2
2
|
export const isSubmitResponse = (value) => {
|
|
3
3
|
return value instanceof SubmitResponse;
|
|
4
4
|
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtJQUMxRSxPQUFPLEtBQUssWUFBWSxjQUFjLENBQUM7QUFDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBpc1N1Ym1pdFJlc3BvbnNlID0gKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgU3VibWl0UmVzcG9uc2UgPT4ge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
|
|
2
|
+
import { TokenError } from '../../../../exceptions-handling/errors/token-error.class';
|
|
3
|
+
import { FieldNames } from '../../../field-names.enum';
|
|
4
|
+
export class SubmitRequest extends XpsApiPartRequest {
|
|
5
|
+
constructor(parameters) {
|
|
6
|
+
super();
|
|
7
|
+
const { token, fields, form, dfpHash, ...restParameters } = parameters;
|
|
8
|
+
if (token === null) {
|
|
9
|
+
throw new TokenError();
|
|
10
|
+
}
|
|
11
|
+
this.addParameters(restParameters);
|
|
12
|
+
this.access_token = token;
|
|
13
|
+
if (dfpHash) {
|
|
14
|
+
this.xps_dfp_hash = dfpHash;
|
|
15
|
+
}
|
|
16
|
+
this.addXpsParameters(this.getFieldsValues(fields, form));
|
|
17
|
+
}
|
|
18
|
+
getFieldsValues(fields, form) {
|
|
19
|
+
const fieldValues = fields.reduce((xpsParams, field) => {
|
|
20
|
+
const formControl = form.get(field.name);
|
|
21
|
+
xpsParams[field.name] = formControl ? formControl.value : field?.value;
|
|
22
|
+
return xpsParams;
|
|
23
|
+
}, {});
|
|
24
|
+
return this.splitCreditCardExpiration(fieldValues);
|
|
25
|
+
}
|
|
26
|
+
splitCreditCardExpiration(fieldsValues) {
|
|
27
|
+
const creditCardExpiration = fieldsValues[FieldNames.cardExpire];
|
|
28
|
+
if (creditCardExpiration) {
|
|
29
|
+
const [month, year] = creditCardExpiration.split('/');
|
|
30
|
+
fieldsValues['card_month'] = month;
|
|
31
|
+
fieldsValues['card_year'] = year;
|
|
32
|
+
}
|
|
33
|
+
return fieldsValues;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlcXVlc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBbUIsVUFNbEI7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQUVSLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFFdkUsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLGVBQWUsQ0FDckIsTUFBZSxFQUNmLElBQXNCO1FBRXRCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBb0MsRUFBRSxLQUFZLEVBQUUsRUFBRTtZQUNyRCxNQUFNLFdBQVcsR0FBMkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakUsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7WUFFdkUsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFlBQXdDO1FBR3hFLE1BQU0sb0JBQW9CLEdBQVcsWUFBWSxDQUMvQyxVQUFVLENBQUMsVUFBVSxDQUNaLENBQUM7UUFFWixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsWUFBWSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNuQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0FwaVBhcnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4veHBzLWFwaS94cHMtYXBpLXBhcnQtcmVxdWVzdC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBUb2tlbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvdG9rZW4tZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgU3VibWl0UmVxdWVzdCBleHRlbmRzIFhwc0FwaVBhcnRSZXF1ZXN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgeHBzX2RmcF9oYXNoPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzOiB7XG4gICAgdG9rZW46IHN0cmluZyB8IG51bGw7XG4gICAgZmllbGRzOiBGaWVsZFtdO1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXG4gICAgZGZwSGFzaDogc3RyaW5nIHwgbnVsbDtcbiAgfSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7IHRva2VuLCBmaWVsZHMsIGZvcm0sIGRmcEhhc2gsIC4uLnJlc3RQYXJhbWV0ZXJzIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgaWYgKHRva2VuID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcigpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkUGFyYW1ldGVycyhyZXN0UGFyYW1ldGVycyk7XG5cbiAgICB0aGlzLmFjY2Vzc190b2tlbiA9IHRva2VuO1xuXG4gICAgaWYgKGRmcEhhc2gpIHtcbiAgICAgIHRoaXMueHBzX2RmcF9oYXNoID0gZGZwSGFzaDtcbiAgICB9XG5cbiAgICB0aGlzLmFkZFhwc1BhcmFtZXRlcnModGhpcy5nZXRGaWVsZHNWYWx1ZXMoZmllbGRzLCBmb3JtKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkc1ZhbHVlcyhcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cFxuICApOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB7XG4gICAgY29uc3QgZmllbGRWYWx1ZXMgPSBmaWVsZHMucmVkdWNlKFxuICAgICAgKHhwc1BhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgZmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gZm9ybS5nZXQoZmllbGQubmFtZSk7XG5cbiAgICAgICAgeHBzUGFyYW1zW2ZpZWxkLm5hbWVdID0gZm9ybUNvbnRyb2wgPyBmb3JtQ29udHJvbC52YWx1ZSA6IGZpZWxkPy52YWx1ZTtcblxuICAgICAgICByZXR1cm4geHBzUGFyYW1zO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnNwbGl0Q3JlZGl0Q2FyZEV4cGlyYXRpb24oZmllbGRWYWx1ZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzcGxpdENyZWRpdENhcmRFeHBpcmF0aW9uKGZpZWxkc1ZhbHVlczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSB7XG4gICAgY29uc3QgY3JlZGl0Q2FyZEV4cGlyYXRpb246IHN0cmluZyA9IGZpZWxkc1ZhbHVlc1tcbiAgICAgIEZpZWxkTmFtZXMuY2FyZEV4cGlyZVxuICAgIF0gYXMgc3RyaW5nO1xuXG4gICAgaWYgKGNyZWRpdENhcmRFeHBpcmF0aW9uKSB7XG4gICAgICBjb25zdCBbbW9udGgsIHllYXJdID0gY3JlZGl0Q2FyZEV4cGlyYXRpb24uc3BsaXQoJy8nKTtcbiAgICAgIGZpZWxkc1ZhbHVlc1snY2FyZF9tb250aCddID0gbW9udGg7XG4gICAgICBmaWVsZHNWYWx1ZXNbJ2NhcmRfeWVhciddID0geWVhcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzVmFsdWVzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { SubmitRequest } from './submit-request.class';
|
|
3
|
+
export const submitRequestFactoryToken = new InjectionToken('SubmitRequest');
|
|
4
|
+
export const submitRequestFactoryProvider = {
|
|
5
|
+
provide: submitRequestFactoryToken,
|
|
6
|
+
useValue: (...args) => new SubmitRequest(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlcXVlc3QudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVV2RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FDcEMsSUFBSSxjQUFjLENBQXVCLGVBQWUsQ0FBQyxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFrQjtJQUN6RCxPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXF1ZXN0IH0gZnJvbSAnLi9zdWJtaXQtcmVxdWVzdC5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFxuICB0eXBlb2YgU3VibWl0UmVxdWVzdFxuPjtcblxuZXhwb3J0IHR5cGUgU3VibWl0UmVxdWVzdEZhY3RvcnkgPSAoXG4gIC4uLmFyZ3M6IFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzXG4pID0+IFN1Ym1pdFJlcXVlc3Q7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuOiBJbmplY3Rpb25Ub2tlbjxTdWJtaXRSZXF1ZXN0RmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3VibWl0UmVxdWVzdEZhY3Rvcnk+KCdTdWJtaXRSZXF1ZXN0Jyk7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXF1ZXN0RmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzKSA9PiBuZXcgU3VibWl0UmVxdWVzdCguLi5hcmdzKSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { XpsCommand } from '../../../xps-comand.enum';
|
|
2
|
+
import { FieldNames } from '../../../field-names.enum';
|
|
3
|
+
export class SubmitResponse {
|
|
4
|
+
constructor(parameters, responseNumber = 0) {
|
|
5
|
+
this.responseNumber = responseNumber;
|
|
6
|
+
/* Todo split into properties */
|
|
7
|
+
this.parameters = parameters;
|
|
8
|
+
this.fields = Object.keys(parameters.form).map((key) => parameters.form[key]);
|
|
9
|
+
if (parameters.onlineBanking) {
|
|
10
|
+
this.onlineBanking = {
|
|
11
|
+
url: parameters.onlineBanking.value,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
this.isNeedRedirect =
|
|
15
|
+
parameters.currentCommand === XpsCommand.account ||
|
|
16
|
+
(parameters.currentCommand === XpsCommand.checkout &&
|
|
17
|
+
Boolean(parameters.checkout));
|
|
18
|
+
this.buyData = parameters.buyData;
|
|
19
|
+
this.fixInvoice = this.fields.find((field) => field.name === FieldNames.fixInvoice)?.value;
|
|
20
|
+
this.signature = this.fields.find((field) => field.name === FieldNames.signature)?.value;
|
|
21
|
+
this.hasFatalErrors = parameters.textAll?.fatal;
|
|
22
|
+
this.userSession = parameters.userSession;
|
|
23
|
+
this.pid = parameters.pid;
|
|
24
|
+
this.errors = parameters.errors;
|
|
25
|
+
this.summary = parameters.summary;
|
|
26
|
+
this.title = parameters.title;
|
|
27
|
+
this.currentCommand = parameters.currentCommand;
|
|
28
|
+
this.messages = parameters.messages;
|
|
29
|
+
this.xsollaNumber = {
|
|
30
|
+
accountXsolla: parameters.accountXsolla,
|
|
31
|
+
isMap: parameters.isMap,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlc3BvbnNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQsTUFBTSxPQUFPLGNBQWM7SUF1QnpCLFlBQ0UsVUFBdUIsRUFDUCxpQkFBeUIsQ0FBQztRQUExQixtQkFBYyxHQUFkLGNBQWMsQ0FBWTtRQUUxQyxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQzVDLENBQUMsR0FBVyxFQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUM3QyxDQUFDO1FBRUYsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDbkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSzthQUNwQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjO1lBQ2pCLFVBQVUsQ0FBQyxjQUFjLEtBQUssVUFBVSxDQUFDLE9BQU87Z0JBQ2hELENBQUMsVUFBVSxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQUMsUUFBUTtvQkFDaEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUVsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsVUFBVSxDQUN2RCxFQUFFLEtBQUssQ0FBQztRQUVULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9CLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxTQUFTLENBQ3RELEVBQUUsS0FBSyxDQUFDO1FBRVQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUVoRCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFFcEMsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7WUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1NBQ3hCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4uLy4uLy4uL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi94cHMtY29tYW5kLmVudW0nO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgWHNvbGxhTnVtYmVyIH0gZnJvbSAnLi94c29sbGEtbnVtYmVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBTdWJtaXRSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJzOiBYcHNSZXNwb25zZTtcbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkczogRmllbGRbXTtcbiAgcHVibGljIG9ubGluZUJhbmtpbmc/OiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHB1YmxpYyByZWFkb25seSBkYXRhPzogdW5rbm93bjtcbiAgcHVibGljIGlzTmVlZFJlZGlyZWN0OiBib29sZWFuO1xuXG4gIHB1YmxpYyBidXlEYXRhOiBYcHNSZXNwb25zZVsnYnV5RGF0YSddO1xuXG4gIHB1YmxpYyBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIHB1YmxpYyBmaXhJbnZvaWNlPzogc3RyaW5nO1xuICBwdWJsaWMgaGFzRmF0YWxFcnJvcnM/OiBib29sZWFuO1xuICBwdWJsaWMgdXNlclNlc3Npb24/OiBJbnZvaWNlO1xuICBwdWJsaWMgcGlkOiBYcHNSZXNwb25zZVsncGlkJ107XG4gIHB1YmxpYyBlcnJvcnM6IFhwc1Jlc3BvbnNlWydlcnJvcnMnXTtcbiAgcHVibGljIHN1bW1hcnk6IFhwc1Jlc3BvbnNlWydzdW1tYXJ5J107XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBwdWJsaWMgY3VycmVudENvbW1hbmQ6IFhwc0NvbW1hbmQgfCBudWxsO1xuICBwdWJsaWMgbWVzc2FnZXM6IFhwc1Jlc3BvbnNlWydtZXNzYWdlcyddO1xuICBwdWJsaWMgeHNvbGxhTnVtYmVyOiBYc29sbGFOdW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHBhcmFtZXRlcnM6IFhwc1Jlc3BvbnNlLFxuICAgIHB1YmxpYyByZWFkb25seSByZXNwb25zZU51bWJlcjogbnVtYmVyID0gMFxuICApIHtcbiAgICAvKiBUb2RvIHNwbGl0IGludG8gcHJvcGVydGllcyAqL1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5maWVsZHMgPSBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzLmZvcm0pLm1hcChcbiAgICAgIChrZXk6IHN0cmluZyk6IEZpZWxkID0+IHBhcmFtZXRlcnMuZm9ybVtrZXldXG4gICAgKTtcblxuICAgIGlmIChwYXJhbWV0ZXJzLm9ubGluZUJhbmtpbmcpIHtcbiAgICAgIHRoaXMub25saW5lQmFua2luZyA9IHtcbiAgICAgICAgdXJsOiBwYXJhbWV0ZXJzLm9ubGluZUJhbmtpbmcudmFsdWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuaXNOZWVkUmVkaXJlY3QgPVxuICAgICAgcGFyYW1ldGVycy5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5hY2NvdW50IHx8XG4gICAgICAocGFyYW1ldGVycy5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5jaGVja291dCAmJlxuICAgICAgICBCb29sZWFuKHBhcmFtZXRlcnMuY2hlY2tvdXQpKTtcblxuICAgIHRoaXMuYnV5RGF0YSA9IHBhcmFtZXRlcnMuYnV5RGF0YTtcblxuICAgIHRoaXMuZml4SW52b2ljZSA9IHRoaXMuZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQ6IEZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBGaWVsZE5hbWVzLmZpeEludm9pY2VcbiAgICApPy52YWx1ZTtcblxuICAgIHRoaXMuc2lnbmF0dXJlID0gdGhpcy5maWVsZHMuZmluZChcbiAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkLm5hbWUgPT09IEZpZWxkTmFtZXMuc2lnbmF0dXJlXG4gICAgKT8udmFsdWU7XG5cbiAgICB0aGlzLmhhc0ZhdGFsRXJyb3JzID0gcGFyYW1ldGVycy50ZXh0QWxsPy5mYXRhbDtcblxuICAgIHRoaXMudXNlclNlc3Npb24gPSBwYXJhbWV0ZXJzLnVzZXJTZXNzaW9uO1xuICAgIHRoaXMucGlkID0gcGFyYW1ldGVycy5waWQ7XG4gICAgdGhpcy5lcnJvcnMgPSBwYXJhbWV0ZXJzLmVycm9ycztcbiAgICB0aGlzLnN1bW1hcnkgPSBwYXJhbWV0ZXJzLnN1bW1hcnk7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtZXRlcnMudGl0bGU7XG4gICAgdGhpcy5jdXJyZW50Q29tbWFuZCA9IHBhcmFtZXRlcnMuY3VycmVudENvbW1hbmQ7XG4gICAgdGhpcy5tZXNzYWdlcyA9IHBhcmFtZXRlcnMubWVzc2FnZXM7XG5cbiAgICB0aGlzLnhzb2xsYU51bWJlciA9IHtcbiAgICAgIGFjY291bnRYc29sbGE6IHBhcmFtZXRlcnMuYWNjb3VudFhzb2xsYSxcbiAgICAgIGlzTWFwOiBwYXJhbWV0ZXJzLmlzTWFwLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { SubmitResponse } from './submit-response.class';
|
|
3
|
+
export const submitResponseFactoryToken = new InjectionToken('SubmitResponse');
|
|
4
|
+
export const submitResponseFactoryProvider = {
|
|
5
|
+
provide: submitResponseFactoryToken,
|
|
6
|
+
useValue: (...args) => new SubmitResponse(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlc3BvbnNlLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVV6RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxjQUFjLENBQXdCLGdCQUFnQixDQUFDLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWtCO0lBQzFELE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBTdWJtaXRSZXNwb25zZVBhcmFtZXRlcnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8XG4gIHR5cGVvZiBTdWJtaXRSZXNwb25zZVxuPjtcblxuZXhwb3J0IHR5cGUgU3VibWl0UmVzcG9uc2VGYWN0b3J5ID0gKFxuICAuLi5hcmdzOiBTdWJtaXRSZXNwb25zZVBhcmFtZXRlcnNcbikgPT4gU3VibWl0UmVzcG9uc2U7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXNwb25zZUZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48U3VibWl0UmVzcG9uc2VGYWN0b3J5PiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxTdWJtaXRSZXNwb25zZUZhY3Rvcnk+KCdTdWJtaXRSZXNwb25zZScpO1xuXG5leHBvcnQgY29uc3Qgc3VibWl0UmVzcG9uc2VGYWN0b3J5UHJvdmlkZXI6IFZhbHVlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IHN1Ym1pdFJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFN1Ym1pdFJlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IFN1Ym1pdFJlc3BvbnNlKC4uLmFyZ3MpLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHNvbGxhLW51bWJlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS94c29sbGEtbnVtYmVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBYc29sbGFOdW1iZXIge1xuICBhY2NvdW50WHNvbGxhOiBzdHJpbmc7XG4gIGlzTWFwOiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { submitRequestFactoryToken, } from './request/submit-request.token';
|
|
3
|
+
import { submitResponseFactoryToken, } from './response/submit-response.token';
|
|
4
|
+
import { ResponseError } from '../../../exceptions-handling/errors/response-error.class';
|
|
5
|
+
import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
6
|
+
import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../settings/settings.service";
|
|
9
|
+
import * as i2 from "../../../device-finger-print/device-finger-print.service";
|
|
10
|
+
import * as i3 from "../../xps-api/xps-api.service";
|
|
11
|
+
import * as i4 from "../../../errors-mapping/xps-response-errors-mapping.service";
|
|
12
|
+
import * as i5 from "../../../encrypt-credit-card/encrypt-credit-card.service";
|
|
13
|
+
import * as i6 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
14
|
+
import * as i7 from "../../payment-settings/payment-settings.service";
|
|
15
|
+
export class SubmitService {
|
|
16
|
+
constructor(requestFactory, responseFactory, settingsService, deviceFingerPrintService, xpsApiService, xpsResponseErrorsMappingService, encryptCreditCardService, userBehaviourAnalyticsService, paymentSettingsService) {
|
|
17
|
+
this.requestFactory = requestFactory;
|
|
18
|
+
this.responseFactory = responseFactory;
|
|
19
|
+
this.settingsService = settingsService;
|
|
20
|
+
this.deviceFingerPrintService = deviceFingerPrintService;
|
|
21
|
+
this.xpsApiService = xpsApiService;
|
|
22
|
+
this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
|
|
23
|
+
this.encryptCreditCardService = encryptCreditCardService;
|
|
24
|
+
this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
|
|
25
|
+
this.paymentSettingsService = paymentSettingsService;
|
|
26
|
+
}
|
|
27
|
+
// NB: Never add 'async' statement for this method!
|
|
28
|
+
// 'Async' statement wraps current promise into another.
|
|
29
|
+
// In this way two promises become unequal, that can broke XPS API requests logic.
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
31
|
+
request(fields, form, config) {
|
|
32
|
+
return (this.deviceFingerPrintService
|
|
33
|
+
.getHash()
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
35
|
+
.then((dfpHash) => {
|
|
36
|
+
const paymentSettingsParams = this.paymentSettingsService.getPaymentSettingsParams(config);
|
|
37
|
+
const requestParams = this.requestFactory({
|
|
38
|
+
token: this.settingsService.token,
|
|
39
|
+
fields,
|
|
40
|
+
form,
|
|
41
|
+
dfpHash,
|
|
42
|
+
...paymentSettingsParams,
|
|
43
|
+
});
|
|
44
|
+
const encryptedRequest = this.encryptCreditCardService.encryptCreditCard(requestParams);
|
|
45
|
+
return this.xpsApiService
|
|
46
|
+
.directPaymentRequest(encryptedRequest)
|
|
47
|
+
.then((xpsResponse) => {
|
|
48
|
+
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
49
|
+
this.fillUserSession(xpsResponse);
|
|
50
|
+
if (response.errors) {
|
|
51
|
+
const logError = (error) => {
|
|
52
|
+
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
|
|
53
|
+
};
|
|
54
|
+
response.errors.forEach(logError);
|
|
55
|
+
}
|
|
56
|
+
return this.responseFactory(response);
|
|
57
|
+
})
|
|
58
|
+
.catch((error) => {
|
|
59
|
+
throw new ResponseError(error.message);
|
|
60
|
+
});
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
fillUserSession(xpsResponse) {
|
|
64
|
+
this.userBehaviourAnalyticsService.fillUserSession({
|
|
65
|
+
...xpsResponse,
|
|
66
|
+
fields: Object.keys(xpsResponse.form).map((key) => xpsResponse.form[key]),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, deps: [{ token: submitRequestFactoryToken }, { token: submitResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.DeviceFingerPrintService }, { token: i3.XpsApiService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.UserBehaviourAnalyticsService }, { token: i7.PaymentSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, providedIn: 'root' }); }
|
|
71
|
+
}
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, decorators: [{
|
|
73
|
+
type: Injectable,
|
|
74
|
+
args: [{ providedIn: 'root' }]
|
|
75
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
76
|
+
type: Inject,
|
|
77
|
+
args: [submitRequestFactoryToken]
|
|
78
|
+
}] }, { type: undefined, decorators: [{
|
|
79
|
+
type: Inject,
|
|
80
|
+
args: [submitResponseFactoryToken]
|
|
81
|
+
}] }, { type: i1.SettingsService }, { type: i2.DeviceFingerPrintService }, { type: i3.XpsApiService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.UserBehaviourAnalyticsService }, { type: i7.PaymentSettingsService }] });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9zdWJtaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBSzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQU16RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7Ozs7O0FBTTVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBRW1CLGNBQW9DLEVBRXBDLGVBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLHdCQUFrRCxFQUNsRCxhQUE0QixFQUM1QiwrQkFBZ0UsRUFDaEUsd0JBQWtELEVBQ2xELDZCQUE0RCxFQUM1RCxzQkFBOEM7UUFUOUMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBRXBDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBQ2hFLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQzlELENBQUM7SUFFSixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGtGQUFrRjtJQUVsRixxRUFBcUU7SUFDOUQsT0FBTyxDQUNaLE1BQWUsRUFDZixJQUFzQixFQUN0QixNQUE0QjtRQUU1QixPQUFPLENBQ0wsSUFBSSxDQUFDLHdCQUF3QjthQUMxQixPQUFPLEVBQUU7WUFDVixxRUFBcUU7YUFDcEUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsTUFBTSxxQkFBcUIsR0FDekIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7Z0JBQ2pDLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixPQUFPO2dCQUNQLEdBQUcscUJBQXFCO2FBQ3pCLENBQUMsQ0FBQztZQUVILE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FDN0MsYUFBYSxDQUNkLENBQUM7WUFFSixPQUFPLElBQUksQ0FBQyxhQUFhO2lCQUN0QixvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDdEMsSUFBSSxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO2dCQUNqQyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsK0JBQStCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUU5RCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUVsQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUdqQixFQUFRLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FDckMsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQ3ZDLHVCQUF1QixDQUFDLE1BQU0sRUFDOUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUN6RCxDQUFDO29CQUNKLENBQUMsQ0FBQztvQkFFRixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztnQkFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN0QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQXdCO1FBQzlDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxlQUFlLENBQUM7WUFDakQsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDdkMsQ0FBQyxHQUFXLEVBQVMsRUFBRSxDQUFFLFdBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUMvRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckZVLGFBQWEsa0JBRWQseUJBQXlCLGFBRXpCLDBCQUEwQjtrSEFKekIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1Ym1pdFJlcXVlc3RGYWN0b3J5LFxuICBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3JlcXVlc3Qvc3VibWl0LXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHtcbiAgU3VibWl0UmVzcG9uc2VGYWN0b3J5LFxuICBzdWJtaXRSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kZXZpY2UtZmluZ2VyLXByaW50L2RldmljZS1maW5nZXItcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvcmVzcG9uc2UtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LmNsYXNzJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMtbWFwcGluZy94cHMtcmVzcG9uc2UtZXJyb3JzLW1hcHBpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQtc2V0dGluZ3MvcGF5bWVudC1zZXR0aW5ncy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdWJtaXRTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qoc3VibWl0UmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTdWJtaXRSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KHN1Ym1pdFJlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBTdWJtaXRSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeHBzQXBpU2VydmljZTogWHBzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2U6IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2U6IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXR0aW5nc1NlcnZpY2U6IFBheW1lbnRTZXR0aW5nc1NlcnZpY2VcbiAgKSB7fVxuXG4gIC8vIE5COiBOZXZlciBhZGQgJ2FzeW5jJyBzdGF0ZW1lbnQgZm9yIHRoaXMgbWV0aG9kIVxuICAvLyAnQXN5bmMnIHN0YXRlbWVudCB3cmFwcyBjdXJyZW50IHByb21pc2UgaW50byBhbm90aGVyLlxuICAvLyBJbiB0aGlzIHdheSB0d28gcHJvbWlzZXMgYmVjb21lIHVuZXF1YWwsIHRoYXQgY2FuIGJyb2tlIFhQUyBBUEkgcmVxdWVzdHMgbG9naWMuXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcm9taXNlLWZ1bmN0aW9uLWFzeW5jXG4gIHB1YmxpYyByZXF1ZXN0KFxuICAgIGZpZWxkczogRmllbGRbXSxcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIGNvbmZpZzogUGF5bWVudENvbmZpZ3VyYXRpb25cbiAgKTogUHJvbWlzZTxTdWJtaXRSZXNwb25zZT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZVxuICAgICAgICAuZ2V0SGFzaCgpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICAgICAgICAudGhlbigoZGZwSGFzaCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheW1lbnRTZXR0aW5nc1BhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLnBheW1lbnRTZXR0aW5nc1NlcnZpY2UuZ2V0UGF5bWVudFNldHRpbmdzUGFyYW1zKGNvbmZpZyk7XG5cbiAgICAgICAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0RmFjdG9yeSh7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBmb3JtLFxuICAgICAgICAgICAgZGZwSGFzaCxcbiAgICAgICAgICAgIC4uLnBheW1lbnRTZXR0aW5nc1BhcmFtcyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IGVuY3J5cHRlZFJlcXVlc3QgPVxuICAgICAgICAgICAgdGhpcy5lbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UuZW5jcnlwdENyZWRpdENhcmQ8U3VibWl0UmVxdWVzdD4oXG4gICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QoZW5jcnlwdGVkUmVxdWVzdClcbiAgICAgICAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuXG4gICAgICAgICAgICAgIHRoaXMuZmlsbFVzZXJTZXNzaW9uKHhwc1Jlc3BvbnNlKTtcblxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9nRXJyb3IgPSAoZXJyb3I6IHtcbiAgICAgICAgICAgICAgICAgIGNvZGU6IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgICAgICAgICB9KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuc2hvd0Vycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiBTdHJpbmcoZXJyb3IuY29kZSksIGV4dHJhVmFsdWU6IGVycm9yLm1lc3NhZ2UgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3JzLmZvckVhY2gobG9nRXJyb3IpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxVc2VyU2Vzc2lvbih4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmZpbGxVc2VyU2Vzc2lvbih7XG4gICAgICAuLi54cHNSZXNwb25zZSxcbiAgICAgIGZpZWxkczogT2JqZWN0LmtleXMoeHBzUmVzcG9uc2UuZm9ybSkubWFwKFxuICAgICAgICAoa2V5OiBzdHJpbmcpOiBGaWVsZCA9PiAoeHBzUmVzcG9uc2UgYXMgWHBzUmVzcG9uc2UpLmZvcm1ba2V5XVxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRBc3luY1ZhbGlkYXRpb24ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgZmllbGQ6IEZpZWxkO1xuICByZXNwb25zZTogU3luY1Jlc3BvbnNlO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTeW5jU3RhdGUge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgcmVzdWx0OiBQcm9taXNlPFN5bmNSZXNwb25zZSB8IG51bGw+O1xufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
export class SyncRequest extends XpsApiPartRequest {
|
|
4
|
+
constructor({ token, changedField, fields, form, ...parameters }) {
|
|
5
|
+
super();
|
|
6
|
+
this.xps_fix_command = 'calculate';
|
|
7
|
+
this.access_token = token;
|
|
8
|
+
const fieldsValues = this.getFieldsValues(changedField, fields, form);
|
|
9
|
+
this.addParameters(parameters);
|
|
10
|
+
this.addXpsParameters({
|
|
11
|
+
...fieldsValues,
|
|
12
|
+
change_element: changedField.name,
|
|
13
|
+
fix_command: changedField.javascript?.change?.staticParams?.fix_command ??
|
|
14
|
+
this.xps_fix_command,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
getFieldsValues(changedField, fields, form) {
|
|
18
|
+
const fieldsMap = this.getFieldsMap(fields);
|
|
19
|
+
return changedField?.javascript?.change.params.reduce((xpsParams, fieldName) => {
|
|
20
|
+
const formControl = form.get(fieldName);
|
|
21
|
+
const field = fieldsMap.get(fieldName);
|
|
22
|
+
if (formControl || field) {
|
|
23
|
+
xpsParams[fieldName] = formControl?.value ?? field?.value;
|
|
24
|
+
}
|
|
25
|
+
return xpsParams;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
getFieldsMap(fields) {
|
|
29
|
+
const map = new Map();
|
|
30
|
+
fields.forEach((field) => map.set(field.name, field));
|
|
31
|
+
return map;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXF1ZXN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3JlcXVlc3Qvc3luYy1yZXF1ZXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRW5GLHlEQUF5RDtBQUN6RCxNQUFNLE9BQU8sV0FBWSxTQUFRLGlCQUFpQjtJQUloRCxZQUFtQixFQUNqQixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFDTixJQUFJLEVBQ0osR0FBRyxVQUFVLEVBT2Q7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQWZNLG9CQUFlLEdBQUcsV0FBVyxDQUFDO1FBaUI1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDcEIsR0FBRyxZQUFZO1lBQ2YsY0FBYyxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQ2pDLFdBQVcsRUFDVCxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVztnQkFDMUQsSUFBSSxDQUFDLGVBQWU7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FDckIsWUFBbUIsRUFDbkIsTUFBZSxFQUNmLElBQXNCO1FBRXRCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNuRCxDQUFDLFNBQW9DLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQzFELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQXNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFMUQsSUFBSSxXQUFXLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDNUQsQ0FBQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBZTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3hwcy1hcGkveHBzLWFwaS1wYXJ0LXJlcXVlc3QuYWJzdHJhY3QnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjbGFzcyBTeW5jUmVxdWVzdCBleHRlbmRzIFhwc0FwaVBhcnRSZXF1ZXN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgeHBzX2ZpeF9jb21tYW5kID0gJ2NhbGN1bGF0ZSc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICB0b2tlbixcbiAgICBjaGFuZ2VkRmllbGQsXG4gICAgZmllbGRzLFxuICAgIGZvcm0sXG4gICAgLi4ucGFyYW1ldGVyc1xuICB9OiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkO1xuICAgIGZpZWxkczogRmllbGRbXTtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gIH0pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hY2Nlc3NfdG9rZW4gPSB0b2tlbjtcblxuICAgIGNvbnN0IGZpZWxkc1ZhbHVlcyA9IHRoaXMuZ2V0RmllbGRzVmFsdWVzKGNoYW5nZWRGaWVsZCwgZmllbGRzLCBmb3JtKTtcblxuICAgIHRoaXMuYWRkUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcblxuICAgIHRoaXMuYWRkWHBzUGFyYW1ldGVycyh7XG4gICAgICAuLi5maWVsZHNWYWx1ZXMsXG4gICAgICBjaGFuZ2VfZWxlbWVudDogY2hhbmdlZEZpZWxkLm5hbWUsXG4gICAgICBmaXhfY29tbWFuZDpcbiAgICAgICAgY2hhbmdlZEZpZWxkLmphdmFzY3JpcHQ/LmNoYW5nZT8uc3RhdGljUGFyYW1zPy5maXhfY29tbWFuZCA/P1xuICAgICAgICB0aGlzLnhwc19maXhfY29tbWFuZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRzVmFsdWVzKFxuICAgIGNoYW5nZWRGaWVsZDogRmllbGQsXG4gICAgZmllbGRzOiBGaWVsZFtdLFxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXBcbiAgKTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGZpZWxkc01hcCA9IHRoaXMuZ2V0RmllbGRzTWFwKGZpZWxkcyk7XG4gICAgcmV0dXJuIGNoYW5nZWRGaWVsZD8uamF2YXNjcmlwdD8uY2hhbmdlLnBhcmFtcy5yZWR1Y2UoXG4gICAgICAoeHBzUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IGZvcm0uZ2V0KGZpZWxkTmFtZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZCA9IGZpZWxkc01hcC5nZXQoZmllbGROYW1lKTtcblxuICAgICAgICBpZiAoZm9ybUNvbnRyb2wgfHwgZmllbGQpIHtcbiAgICAgICAgICB4cHNQYXJhbXNbZmllbGROYW1lXSA9IGZvcm1Db250cm9sPy52YWx1ZSA/PyBmaWVsZD8udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geHBzUGFyYW1zO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRzTWFwKGZpZWxkczogRmllbGRbXSk6IE1hcDxzdHJpbmcsIEZpZWxkPiB7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIEZpZWxkPigpO1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4gbWFwLnNldChmaWVsZC5uYW1lLCBmaWVsZCkpO1xuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { SyncRequest } from './sync-request.class';
|
|
3
|
+
export const syncRequestFactoryToken = new InjectionToken('SyncRequest');
|
|
4
|
+
export const syncRequestFactoryProvider = {
|
|
5
|
+
provide: syncRequestFactoryToken,
|
|
6
|
+
useValue: (...args) => new SyncRequest(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXF1ZXN0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3JlcXVlc3Qvc3luYy1yZXF1ZXN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFuRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDbEMsSUFBSSxjQUFjLENBQXFCLGFBQWEsQ0FBQyxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFrQjtJQUN2RCxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTeW5jUmVxdWVzdCB9IGZyb20gJy4vc3luYy1yZXF1ZXN0LmNsYXNzJztcblxuZXhwb3J0IHR5cGUgU3luY1JlcXVlc3RQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTeW5jUmVxdWVzdD47XG5cbmV4cG9ydCB0eXBlIFN5bmNSZXF1ZXN0RmFjdG9yeSA9IChcbiAgLi4uYXJnczogU3luY1JlcXVlc3RQYXJhbWV0ZXJzXG4pID0+IFN5bmNSZXF1ZXN0O1xuXG5leHBvcnQgY29uc3Qgc3luY1JlcXVlc3RGYWN0b3J5VG9rZW46IEluamVjdGlvblRva2VuPFN5bmNSZXF1ZXN0RmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3luY1JlcXVlc3RGYWN0b3J5PignU3luY1JlcXVlc3QnKTtcblxuZXhwb3J0IGNvbnN0IHN5bmNSZXF1ZXN0RmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbixcbiAgdXNlVmFsdWU6ICguLi5hcmdzOiBTeW5jUmVxdWVzdFBhcmFtZXRlcnMpID0+IG5ldyBTeW5jUmVxdWVzdCguLi5hcmdzKSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class SyncResponse {
|
|
2
|
+
constructor(changedField, response) {
|
|
3
|
+
this.error = null;
|
|
4
|
+
const fieldError = response?.errors?.find((error) => error.element_name === changedField.name);
|
|
5
|
+
if (fieldError) {
|
|
6
|
+
this.error = {
|
|
7
|
+
asyncError: {
|
|
8
|
+
code: fieldError.code,
|
|
9
|
+
message: fieldError.message,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
this.fields = Object.keys(response.form).map((key) => response.form[key]);
|
|
14
|
+
this.parameters = response;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3luYy9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW1CLFlBQW1CLEVBQUUsUUFBcUI7UUFKN0MsVUFBSyxHQUE0QixJQUFJLENBQUM7UUFLcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQ3BELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDWCxVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87aUJBQzVCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDMUMsQ0FBQyxHQUFXLEVBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzNDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFN5bmNSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzOiBGaWVsZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogWHBzUmVzcG9uc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNoYW5nZWRGaWVsZDogRmllbGQsIHJlc3BvbnNlOiBYcHNSZXNwb25zZSkge1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSByZXNwb25zZT8uZXJyb3JzPy5maW5kKFxuICAgICAgKGVycm9yKSA9PiBlcnJvci5lbGVtZW50X25hbWUgPT09IGNoYW5nZWRGaWVsZC5uYW1lXG4gICAgKTtcblxuICAgIGlmIChmaWVsZEVycm9yKSB7XG4gICAgICB0aGlzLmVycm9yID0ge1xuICAgICAgICBhc3luY0Vycm9yOiB7XG4gICAgICAgICAgY29kZTogZmllbGRFcnJvci5jb2RlLFxuICAgICAgICAgIG1lc3NhZ2U6IGZpZWxkRXJyb3IubWVzc2FnZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZHMgPSBPYmplY3Qua2V5cyhyZXNwb25zZS5mb3JtKS5tYXAoXG4gICAgICAoa2V5OiBzdHJpbmcpOiBGaWVsZCA9PiByZXNwb25zZS5mb3JtW2tleV1cbiAgICApO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcmVzcG9uc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { SyncResponse } from './sync-response.class';
|
|
3
|
+
export const syncResponseFactoryToken = new InjectionToken('SyncResponse');
|
|
4
|
+
export const syncResponseFactoryProvider = {
|
|
5
|
+
provide: syncResponseFactoryToken,
|
|
6
|
+
useValue: (...args) => new SyncResponse(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3luYy9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVFyRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FDbkMsSUFBSSxjQUFjLENBQXNCLGNBQWMsQ0FBQyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFrQjtJQUN4RCxPQUFPLEVBQUUsd0JBQXdCO0lBQ2pDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTeW5jUmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VGYWN0b3J5ID0gKFxuICAuLi5hcmdzOiBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzXG4pID0+IFN5bmNSZXNwb25zZTtcblxuZXhwb3J0IGNvbnN0IHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4oJ1N5bmNSZXNwb25zZScpO1xuXG5leHBvcnQgY29uc3Qgc3luY1Jlc3BvbnNlRmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG4gIHVzZVZhbHVlOiAoLi4uYXJnczogU3luY1Jlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IFN5bmNSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { UntypedFormGroup, } from '@angular/forms';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { EmitDataService } from '../../emit-data.service.abstract';
|
|
5
|
+
import { syncRequestFactoryToken, } from './request/sync-request.token';
|
|
6
|
+
import { syncResponseFactoryToken, } from './response/sync-response.token';
|
|
7
|
+
import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
8
|
+
import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../../xps-api/xps-api.service";
|
|
11
|
+
import * as i2 from "../../actions/next-action.service";
|
|
12
|
+
import * as i3 from "../../../settings/settings.service";
|
|
13
|
+
import * as i4 from "../../../errors-mapping/xps-response-errors-mapping.service";
|
|
14
|
+
import * as i5 from "../../../encrypt-credit-card/encrypt-credit-card.service";
|
|
15
|
+
import * as i6 from "../../actions/show-errors/show-errors.action.class";
|
|
16
|
+
import * as i7 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
17
|
+
import * as i8 from "../../payment-settings/payment-settings.service";
|
|
18
|
+
export class SyncService extends EmitDataService {
|
|
19
|
+
constructor(requestFactory, responseFactory, xpsApiService, nextActionService, settingsService, xpsResponseErrorsMappingService, encryptCreditCardService, showErrorsActionCreator, userBehaviourAnalyticsService, paymentSettingsService) {
|
|
20
|
+
super();
|
|
21
|
+
this.requestFactory = requestFactory;
|
|
22
|
+
this.responseFactory = responseFactory;
|
|
23
|
+
this.xpsApiService = xpsApiService;
|
|
24
|
+
this.nextActionService = nextActionService;
|
|
25
|
+
this.settingsService = settingsService;
|
|
26
|
+
this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
|
|
27
|
+
this.encryptCreditCardService = encryptCreditCardService;
|
|
28
|
+
this.showErrorsActionCreator = showErrorsActionCreator;
|
|
29
|
+
this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
|
|
30
|
+
this.paymentSettingsService = paymentSettingsService;
|
|
31
|
+
this.prevFieldSyncStates = {};
|
|
32
|
+
this.form = new UntypedFormGroup({});
|
|
33
|
+
this.paymentConfiguration = null;
|
|
34
|
+
this.fields = [];
|
|
35
|
+
this.fieldSyncTimers = {};
|
|
36
|
+
this.fieldAsyncValidation = new Subject();
|
|
37
|
+
}
|
|
38
|
+
get fieldAsyncValidation$() {
|
|
39
|
+
return this.fieldAsyncValidation.asObservable();
|
|
40
|
+
}
|
|
41
|
+
setup(form, fields, config) {
|
|
42
|
+
this.reset();
|
|
43
|
+
this.form = form;
|
|
44
|
+
this.fields = fields;
|
|
45
|
+
this.paymentConfiguration = config;
|
|
46
|
+
}
|
|
47
|
+
reset() {
|
|
48
|
+
this.prevFieldSyncStates = {};
|
|
49
|
+
this.form = new UntypedFormGroup({});
|
|
50
|
+
this.fields = [];
|
|
51
|
+
this.paymentConfiguration = null;
|
|
52
|
+
}
|
|
53
|
+
async validate(field, delay = Number('750')) {
|
|
54
|
+
if (!this.isReadyField(field)) {
|
|
55
|
+
return Promise.resolve(null);
|
|
56
|
+
}
|
|
57
|
+
const control = this.form.get(field.name);
|
|
58
|
+
const value = control?.value;
|
|
59
|
+
const prevFieldState = this.getPrevFieldSyncState(field);
|
|
60
|
+
const isInitialValue = value === field.value && !prevFieldState;
|
|
61
|
+
if (isInitialValue) {
|
|
62
|
+
return Promise.resolve(null);
|
|
63
|
+
}
|
|
64
|
+
if (prevFieldState && value === prevFieldState.value) {
|
|
65
|
+
return Promise.resolve(prevFieldState.result).then((response) => {
|
|
66
|
+
return response?.error ?? null;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const updateFieldState = async () => {
|
|
70
|
+
const requestPromise = this.request(field);
|
|
71
|
+
this.setPrevFieldSyncState(field, value, requestPromise);
|
|
72
|
+
return requestPromise.then((response) => {
|
|
73
|
+
this.fieldAsyncValidation.next({
|
|
74
|
+
value,
|
|
75
|
+
field,
|
|
76
|
+
response,
|
|
77
|
+
});
|
|
78
|
+
return response.error ?? null;
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
return new Promise((resolve) => {
|
|
82
|
+
if (delay) {
|
|
83
|
+
const timerId = setTimeout(() => {
|
|
84
|
+
if (value !== control?.value) {
|
|
85
|
+
return resolve(null);
|
|
86
|
+
}
|
|
87
|
+
void updateFieldState().then((errors) => resolve(errors));
|
|
88
|
+
}, delay);
|
|
89
|
+
this.resetFieldSyncTimer(field, Number(timerId));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
void updateFieldState().then((errors) => resolve(errors));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async forceValidate(field) {
|
|
97
|
+
const control = this.form.get(field.name);
|
|
98
|
+
const value = control?.value;
|
|
99
|
+
const isHaveField = this.fields.some((savedFields) => savedFields.name === field.name);
|
|
100
|
+
if (!isHaveField) {
|
|
101
|
+
this.fields.push(field);
|
|
102
|
+
}
|
|
103
|
+
return this.request(field).then((syncResponse) => {
|
|
104
|
+
this.setPrevFieldSyncState(field, value, Promise.resolve(syncResponse));
|
|
105
|
+
this.fieldAsyncValidation.next({
|
|
106
|
+
value,
|
|
107
|
+
field,
|
|
108
|
+
response: syncResponse,
|
|
109
|
+
});
|
|
110
|
+
return syncResponse;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
removeField(fieldName) {
|
|
114
|
+
this.fields = this.fields.filter((field) => field.name !== fieldName);
|
|
115
|
+
}
|
|
116
|
+
getSyncValidationErrors(field) {
|
|
117
|
+
const control = this.form.get(field.name);
|
|
118
|
+
return control?.errors ?? null;
|
|
119
|
+
}
|
|
120
|
+
async request(field, fields, form) {
|
|
121
|
+
const paymentSettingsParams = this.paymentSettingsService.getPaymentSettingsParams(this.paymentConfiguration);
|
|
122
|
+
const requestParams = this.requestFactory({
|
|
123
|
+
token: this.settingsService.token,
|
|
124
|
+
changedField: field,
|
|
125
|
+
fields: fields ?? this.fields,
|
|
126
|
+
form: form ?? this.form,
|
|
127
|
+
...paymentSettingsParams,
|
|
128
|
+
});
|
|
129
|
+
const encryptedRequest = this.encryptCreditCardService.encryptCreditCard(requestParams);
|
|
130
|
+
return this.xpsApiService
|
|
131
|
+
.directPaymentRequest(encryptedRequest)
|
|
132
|
+
.then((xpsResponse) => {
|
|
133
|
+
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
134
|
+
this.emitFormErrors(response);
|
|
135
|
+
this.emit(response);
|
|
136
|
+
return this.responseFactory(field, response);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
isReadyField(field) {
|
|
140
|
+
const isSyncEnabled = !!field.javascript?.change;
|
|
141
|
+
const isExistsInForm = !!this.form?.get(field.name);
|
|
142
|
+
return isSyncEnabled && isExistsInForm;
|
|
143
|
+
}
|
|
144
|
+
getPrevFieldSyncState(field) {
|
|
145
|
+
return this.prevFieldSyncStates[field.name];
|
|
146
|
+
}
|
|
147
|
+
setPrevFieldSyncState(field, value, result) {
|
|
148
|
+
this.prevFieldSyncStates[field.name] = { value, result };
|
|
149
|
+
}
|
|
150
|
+
emitFormErrors(response) {
|
|
151
|
+
if (response.errors) {
|
|
152
|
+
const logError = (error) => {
|
|
153
|
+
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
|
|
154
|
+
};
|
|
155
|
+
response.errors.forEach(logError);
|
|
156
|
+
}
|
|
157
|
+
const formErrors = response.errors?.filter((error) => !error.element_name);
|
|
158
|
+
if (formErrors?.length) {
|
|
159
|
+
this.nextActionService.emitFlowUpdates(this.showErrorsActionCreator.getActionData(formErrors));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
resetFieldSyncTimer(field, timerId) {
|
|
163
|
+
const prevTimerId = this.fieldSyncTimers[field.name];
|
|
164
|
+
if (prevTimerId) {
|
|
165
|
+
clearTimeout(prevTimerId);
|
|
166
|
+
}
|
|
167
|
+
this.fieldSyncTimers[field.name] = timerId;
|
|
168
|
+
}
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, deps: [{ token: syncRequestFactoryToken }, { token: syncResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.NextActionService }, { token: i3.SettingsService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.ShowErrorsActionCreator }, { token: i7.UserBehaviourAnalyticsService }, { token: i8.PaymentSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
170
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, providedIn: 'root' }); }
|
|
171
|
+
}
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, decorators: [{
|
|
173
|
+
type: Injectable,
|
|
174
|
+
args: [{
|
|
175
|
+
providedIn: 'root',
|
|
176
|
+
}]
|
|
177
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
178
|
+
type: Inject,
|
|
179
|
+
args: [syncRequestFactoryToken]
|
|
180
|
+
}] }, { type: undefined, decorators: [{
|
|
181
|
+
type: Inject,
|
|
182
|
+
args: [syncResponseFactoryToken]
|
|
183
|
+
}] }, { type: i1.XpsApiService }, { type: i2.NextActionService }, { type: i3.SettingsService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.ShowErrorsActionCreator }, { type: i7.UserBehaviourAnalyticsService }, { type: i8.PaymentSettingsService }] });
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwsZ0JBQWdCLEdBRWpCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbkUsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSxnQ0FBZ0MsQ0FBQztBQVN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQTRCO0lBUTNELFlBRW1CLGNBQWtDLEVBRWxDLGVBQW9DLEVBQ3BDLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQywrQkFBZ0UsRUFDaEUsd0JBQWtELEVBQ2xELHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsc0JBQThDO1FBRS9ELEtBQUssRUFBRSxDQUFDO1FBWlMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBRWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxv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V0FBVyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUM3QyxDQUFDOzhHQXJPVSxXQUFXLGtCQVNaLHVCQUF1QixhQUV2Qix3QkFBd0I7a0hBWHZCLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEVtaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2VtaXQtZGF0YS5zZXJ2aWNlLmFic3RyYWN0JztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZFN5bmNTdGF0ZSB9IGZyb20gJy4vZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgU3luY1JlcXVlc3RGYWN0b3J5LFxuICBzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L3N5bmMtcmVxdWVzdC50b2tlbic7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHtcbiAgU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgc3luY1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBYcHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4veHBzLWFwaS94cHMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRBc3luY1ZhbGlkYXRpb24gfSBmcm9tICcuL2ZpZWxkLWFzeW5jLXZhbGlkYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VuY3J5cHQtY3JlZGl0LWNhcmQvZW5jcnlwdC1jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0L3N5bmMtcmVxdWVzdC5jbGFzcyc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzLW1hcHBpbmcveHBzLXJlc3BvbnNlLWVycm9ycy1tYXBwaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50LXNldHRpbmdzL3BheW1lbnQtc2V0dGluZ3Muc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTeW5jU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxYcHNSZXNwb25zZT4ge1xuICBwcml2YXRlIHByZXZGaWVsZFN5bmNTdGF0ZXM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogRmllbGRTeW5jU3RhdGUgfSA9IHt9O1xuICBwcml2YXRlIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gIHByaXZhdGUgcGF5bWVudENvbmZpZ3VyYXRpb246IFBheW1lbnRDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZmllbGRTeW5jVGltZXJzOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRBc3luY1ZhbGlkYXRpb24gPSBuZXcgU3ViamVjdDxGaWVsZEFzeW5jVmFsaWRhdGlvbj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTeW5jUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN5bmNSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlOiBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlOiBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2V0dGluZ3NTZXJ2aWNlOiBQYXltZW50U2V0dGluZ3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkQXN5bmNWYWxpZGF0aW9uJCgpOiBPYnNlcnZhYmxlPEZpZWxkQXN5bmNWYWxpZGF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXAoXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0KCk7XG5cbiAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHRoaXMucGF5bWVudENvbmZpZ3VyYXRpb24gPSBjb25maWc7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzID0ge307XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5wYXltZW50Q29uZmlndXJhdGlvbiA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGRlbGF5ID0gTnVtYmVyKCc3NTAnKVxuICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlPy5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlRmllbGRTdGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFxuICAgICAgc3RyaW5nIHwgVmFsaWRhdGlvbkVycm9ycyB8IG51bGxcbiAgICA+ID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gdGhpcy5yZXF1ZXN0KGZpZWxkKTtcblxuICAgICAgdGhpcy5zZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQsIHZhbHVlLCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0UHJvbWlzZS50aGVuKChyZXNwb25zZTogU3luY1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24ubmV4dCh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IGNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2b2lkIHVwZGF0ZUZpZWxkU3RhdGUoKS50aGVuKFxuICAgICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICAgIHJlc29sdmUoZXJyb3JzIGFzIFZhbGlkYXRpb25FcnJvcnMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuXG4gICAgICAgIHRoaXMucmVzZXRGaWVsZFN5bmNUaW1lcihmaWVsZCwgTnVtYmVyKHRpbWVySWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZvaWQgdXBkYXRlRmllbGRTdGF0ZSgpLnRoZW4oXG4gICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICByZXNvbHZlKGVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGZvcmNlVmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxTeW5jUmVzcG9uc2UgfCBudWxsPiB7XG4gICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIGNvbnN0IGlzSGF2ZUZpZWxkID0gdGhpcy5maWVsZHMuc29tZShcbiAgICAgIChzYXZlZEZpZWxkcykgPT4gc2F2ZWRGaWVsZHMubmFtZSA9PT0gZmllbGQubmFtZVxuICAgICk7XG5cbiAgICBpZiAoIWlzSGF2ZUZpZWxkKSB7XG4gICAgICB0aGlzLmZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGZpZWxkKS50aGVuKChzeW5jUmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuc2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkLCB2YWx1ZSwgUHJvbWlzZS5yZXNvbHZlKHN5bmNSZXNwb25zZSkpO1xuICAgICAgdGhpcy5maWVsZEFzeW5jVmFsaWRhdGlvbi5uZXh0KHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICByZXNwb25zZTogc3luY1Jlc3BvbnNlLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBzeW5jUmVzcG9uc2U7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmllbGQoZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLm5hbWUgIT09IGZpZWxkTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpO1xuICAgIHJldHVybiBjb250cm9sPy5lcnJvcnMgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0KFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmaWVsZHM/OiBGaWVsZFtdLFxuICAgIGZvcm0/OiBVbnR5cGVkRm9ybUdyb3VwXG4gICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcGF5bWVudFNldHRpbmdzUGFyYW1zID1cbiAgICAgIHRoaXMucGF5bWVudFNldHRpbmdzU2VydmljZS5nZXRQYXltZW50U2V0dGluZ3NQYXJhbXMoXG4gICAgICAgIHRoaXMucGF5bWVudENvbmZpZ3VyYXRpb25cbiAgICAgICk7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3Rvcnkoe1xuICAgICAgdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgY2hhbmdlZEZpZWxkOiBmaWVsZCxcbiAgICAgIGZpZWxkczogZmllbGRzID8/IHRoaXMuZmllbGRzLFxuICAgICAgZm9ybTogZm9ybSA/PyB0aGlzLmZvcm0sXG4gICAgICAuLi5wYXltZW50U2V0dGluZ3NQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBlbmNyeXB0ZWRSZXF1ZXN0ID1cbiAgICAgIHRoaXMuZW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlLmVuY3J5cHRDcmVkaXRDYXJkPFN5bmNSZXF1ZXN0PihcbiAgICAgICAgcmVxdWVzdFBhcmFtc1xuICAgICAgKTtcblxuICAgIHJldHVybiB0aGlzLnhwc0FwaVNlcnZpY2VcbiAgICAgIC5kaXJlY3RQYXltZW50UmVxdWVzdChlbmNyeXB0ZWRSZXF1ZXN0KVxuICAgICAgLnRoZW4oKHhwc1Jlc3BvbnNlOiBYcHNSZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdGhpcy54cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLm1hcEVycm9ycyh4cHNSZXNwb25zZSk7XG5cbiAgICAgICAgdGhpcy5lbWl0Rm9ybUVycm9ycyhyZXNwb25zZSk7XG4gICAgICAgIHRoaXMuZW1pdChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlRmFjdG9yeShmaWVsZCwgcmVzcG9uc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVhZHlGaWVsZChmaWVsZDogRmllbGQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1N5bmNFbmFibGVkID0gISFmaWVsZC5qYXZhc2NyaXB0Py5jaGFuZ2U7XG4gICAgY29uc3QgaXNFeGlzdHNJbkZvcm0gPSAhIXRoaXMuZm9ybT8uZ2V0KGZpZWxkLm5hbWUpO1xuXG4gICAgcmV0dXJuIGlzU3luY0VuYWJsZWQgJiYgaXNFeGlzdHNJbkZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldFByZXZGaWVsZFN5bmNTdGF0ZShmaWVsZDogRmllbGQpOiBGaWVsZFN5bmNTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJldkZpZWxkU3luY1N0YXRlKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICByZXN1bHQ6IFByb21pc2U8U3luY1Jlc3BvbnNlPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXNbZmllbGQubmFtZV0gPSB7IHZhbHVlLCByZXN1bHQgfTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1FcnJvcnMocmVzcG9uc2U6IFhwc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgY29uc3QgbG9nRXJyb3IgPSAoZXJyb3I6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5zaG93RXJyb3JNZXNzYWdlLFxuICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICB7IHZhbHVlOiBTdHJpbmcoZXJyb3IuY29kZSksIGV4dHJhVmFsdWU6IGVycm9yLm1lc3NhZ2UgfVxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgcmVzcG9uc2UuZXJyb3JzLmZvckVhY2gobG9nRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1FcnJvcnMgPSByZXNwb25zZS5lcnJvcnM/LmZpbHRlcigoZXJyb3IpID0+ICFlcnJvci5lbGVtZW50X25hbWUpO1xuXG4gICAgaWYgKGZvcm1FcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShmb3JtRXJyb3JzKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRTeW5jVGltZXIoZmllbGQ6IEZpZWxkLCB0aW1lcklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2VGltZXJJZDogbnVtYmVyID0gdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV07XG5cbiAgICBpZiAocHJldlRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dChwcmV2VGltZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV0gPSB0aW1lcklkO1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { ResponseError } from '../../../exceptions-handling/errors/response-error.class';
|
|
3
3
|
import { checkStatusRequestFactoryToken, } from './request/check-status-request.token';
|
|
4
4
|
import { checkStatusResponseFactoryToken, } from './response/check-status-response.token';
|
|
5
|
-
import { XpsApiPart } from '../../xps-api-part.abstract';
|
|
5
|
+
import { XpsApiPart } from '../../xps-api/xps-api-part.abstract';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../../xps-api/xps-api.service";
|
|
8
8
|
import * as i2 from "../../../settings/settings.service";
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
51
51
|
type: Inject,
|
|
52
52
|
args: [checkStatusResponseFactoryToken]
|
|
53
53
|
}] }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pGLE9BQU8sRUFFTCw4QkFBOEIsR0FDL0IsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBRUwsK0JBQStCLEdBQ2hDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQVFqRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBK0I7SUFHckUsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsK0JBQWdFLEVBRWhFLGNBQXlDLEVBRXpDLGVBQTJDO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBUlMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFFaEUsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBRXpDLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtJQUc5RCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsT0FBZTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUMxQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYTthQUNmLG9CQUFvQixDQUFDLGFBQWEsQ0FBQzthQUNuQyxJQUFJLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBb0I7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLDJCQUEyQjthQUMvRCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXpDVSxrQkFBa0IsNkhBT25CLDhCQUE4QixhQUU5QiwrQkFBK0I7a0hBVDlCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L2NoZWNrLXN0YXR1cy1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5LFxuICBjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0IH0gZnJvbSAnLi4vLi4veHBzLWFwaS94cHMtYXBpLXBhcnQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgWHBzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3hwcy1hcGkveHBzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzLW1hcHBpbmcveHBzLXJlc3BvbnNlLWVycm9ycy1tYXBwaW5nLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNTZXJ2aWNlIGV4dGVuZHMgWHBzQXBpUGFydDxDaGVja1N0YXR1c1Jlc3BvbnNlPiB7XG4gIHByaXZhdGUgaW52b2ljZSE6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlOiBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLFxuICAgIEBJbmplY3QoY2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBDaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFJlcXVlc3RQYXJhbXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlID0gaW52b2ljZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KFxuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICB0aGlzLmludm9pY2VcbiAgICApO1xuXG4gICAgdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QocmVxdWVzdFBhcmFtcylcbiAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuICAgICAgICBjb25zdCBjaGVja1N0YXR1c1Jlc3BvbnNlID0gdGhpcy5yZXNwb25zZUZhY3Rvcnkoe1xuICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIGFzIFN0YXR1c0VudW0sXG4gICAgICAgICAgZmluYWw6IHJlc3BvbnNlLmZpbmFsLFxuICAgICAgICAgIGlzUGF5bWVudEFjY291bnRBdHRhY2hlZDogcmVzcG9uc2UuaXNfcGF5bWVudF9hY2NvdW50X2F0dGFjaGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVtaXRSZXNwb25zZShjaGVja1N0YXR1c1Jlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|