epp-lib 0.0.1
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/README.md +24 -0
- package/esm2022/epp-lib.mjs +5 -0
- package/esm2022/lib/api-route.const.mjs +4 -0
- package/esm2022/lib/iframe-message.service.mjs +74 -0
- package/esm2022/lib/model/base-form.mjs +49 -0
- package/esm2022/lib/model/callback-message.mjs +7 -0
- package/esm2022/lib/model/checkout.mjs +10 -0
- package/esm2022/lib/model/domain.mjs +9 -0
- package/esm2022/lib/model/iframe-message-type.mjs +6 -0
- package/esm2022/lib/model/iframe-message.mjs +2 -0
- package/esm2022/lib/model/iparam.mjs +12 -0
- package/esm2022/lib/model/payment-type.mjs +6 -0
- package/esm2022/lib/vodds-http.service.mjs +57 -0
- package/esm2022/public-api.mjs +17 -0
- package/fesm2022/epp-lib.mjs +236 -0
- package/fesm2022/epp-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/api-route.const.d.ts +6 -0
- package/lib/iframe-message.service.d.ts +22 -0
- package/lib/model/base-form.d.ts +28 -0
- package/lib/model/callback-message.d.ts +4 -0
- package/lib/model/checkout.d.ts +9 -0
- package/lib/model/domain.d.ts +7 -0
- package/lib/model/iframe-message-type.d.ts +4 -0
- package/lib/model/iframe-message.d.ts +5 -0
- package/lib/model/iparam.d.ts +5 -0
- package/lib/model/payment-type.d.ts +4 -0
- package/lib/vodds-http.service.d.ts +16 -0
- package/package.json +25 -0
- package/public-api.d.ts +10 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# EppLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project epp-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project epp-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project epp-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build epp-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build epp-lib`, go to the dist folder `cd dist/epp-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test epp-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBwLWxpYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2VwcC1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const ApiRoute = {
|
|
2
|
+
GET_DOMAIN: { url: "/getDomain", method: "get" }
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJvdXRlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL2FwaS1yb3V0ZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDcEIsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO0NBQ25ELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQXBpUm91dGUgPSB7XHJcbiAgICBHRVRfRE9NQUlOOiB7IHVybDogXCIvZ2V0RG9tYWluXCIsIG1ldGhvZDogXCJnZXRcIiB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { Domain } from './model/domain';
|
|
4
|
+
import { ApiRoute } from './api-route.const';
|
|
5
|
+
import { PaymentType } from './model/payment-type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./vodds-http.service";
|
|
8
|
+
export class IframeMessageService {
|
|
9
|
+
constructor(ngZone, http) {
|
|
10
|
+
this.ngZone = ngZone;
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.messages$ = new Subject();
|
|
13
|
+
this.thirdPartyMessages$ = new Subject();
|
|
14
|
+
this.listener = (event) => {
|
|
15
|
+
if (!this.domain.allowedOrigins.includes(event.origin)) {
|
|
16
|
+
if (this.domain.jetonDomain == event.origin) {
|
|
17
|
+
this.ngZone.run(() => {
|
|
18
|
+
this.thirdPartyMessages$.next(event);
|
|
19
|
+
});
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.ngZone.run(() => {
|
|
25
|
+
this.messages$.next(event.data);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
this.domain = new Domain();
|
|
29
|
+
this.http.get(ApiRoute.GET_DOMAIN.url).subscribe({
|
|
30
|
+
next: (resp) => {
|
|
31
|
+
if (resp.data) {
|
|
32
|
+
this.domain = resp.data;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
error: err => { }
|
|
36
|
+
});
|
|
37
|
+
window.addEventListener('message', this.listener);
|
|
38
|
+
}
|
|
39
|
+
messages() {
|
|
40
|
+
return this.messages$.asObservable();
|
|
41
|
+
}
|
|
42
|
+
thirdPartyMessages() {
|
|
43
|
+
return this.thirdPartyMessages$.asObservable();
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
window.removeEventListener('message', this.listener);
|
|
47
|
+
this.messages$.complete();
|
|
48
|
+
this.thirdPartyMessages$.complete();
|
|
49
|
+
}
|
|
50
|
+
isValidDomain(paymentType, origin) {
|
|
51
|
+
if (paymentType == null)
|
|
52
|
+
return false;
|
|
53
|
+
switch (paymentType) {
|
|
54
|
+
case PaymentType.JETON:
|
|
55
|
+
return this.domain.jetonDomain == origin;
|
|
56
|
+
default:
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
sendMessageToIframe(iframe, message) {
|
|
61
|
+
if (iframe == undefined)
|
|
62
|
+
return;
|
|
63
|
+
iframe.nativeElement.contentWindow?.postMessage(message, window.location.hostname);
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, deps: [{ token: i0.NgZone }, { token: i1.VoddsHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, providedIn: 'root' }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, decorators: [{
|
|
69
|
+
type: Injectable,
|
|
70
|
+
args: [{
|
|
71
|
+
providedIn: 'root'
|
|
72
|
+
}]
|
|
73
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.VoddsHttpService }] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLW1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9pZnJhbWUtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS25ELE1BQU0sT0FBTyxvQkFBb0I7SUFvQjdCLFlBQTZCLE1BQWMsRUFBVSxJQUFzQjtRQUE5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFuQjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN6Qyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUdsRCxhQUFRLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsT0FBTztnQkFDWCxDQUFDO2dCQUNELE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFHRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDNUIsQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRSxDQUFDO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztRQUNQLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxhQUFhLENBQUMsV0FBd0IsRUFBRSxNQUFjO1FBQ2xELElBQUksV0FBVyxJQUFJLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN0QyxRQUFPLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO1lBQzdDO2dCQUNJLE9BQU8sS0FBSyxDQUFDO1FBQ3JCLENBQUM7SUFFTCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsTUFBcUMsRUFBRSxPQUFzQjtRQUM3RSxJQUFJLE1BQU0sSUFBSSxTQUFTO1lBQUUsT0FBTztRQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQzNDLE9BQU8sRUFDUCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDM0IsQ0FBQztJQUNOLENBQUM7K0dBOURRLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJZnJhbWVNZXNzYWdlIH0gZnJvbSAnLi9tb2RlbC9pZnJhbWUtbWVzc2FnZSc7XHJcbmltcG9ydCB7IERvbWFpbiB9IGZyb20gJy4vbW9kZWwvZG9tYWluJztcclxuaW1wb3J0IHsgVm9kZHNIdHRwU2VydmljZSB9IGZyb20gJy4vdm9kZHMtaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpUm91dGUgfSBmcm9tICcuL2FwaS1yb3V0ZS5jb25zdCc7XHJcbmltcG9ydCB7IFBheW1lbnRUeXBlIH0gZnJvbSAnLi9tb2RlbC9wYXltZW50LXR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSWZyYW1lTWVzc2FnZVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlcyQgPSBuZXcgU3ViamVjdDxJZnJhbWVNZXNzYWdlPigpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGlyZFBhcnR5TWVzc2FnZXMkID0gbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpO1xyXG4gICAgcHJpdmF0ZSBkb21haW46IERvbWFpbjtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZG9tYWluLmFsbG93ZWRPcmlnaW5zLmluY2x1ZGVzKGV2ZW50Lm9yaWdpbikpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZG9tYWluLmpldG9uRG9tYWluID09IGV2ZW50Lm9yaWdpbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoaXJkUGFydHlNZXNzYWdlcyQubmV4dChldmVudCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMkLm5leHQoZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgaHR0cDogVm9kZHNIdHRwU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuZG9tYWluID0gbmV3IERvbWFpbigpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQoQXBpUm91dGUuR0VUX0RPTUFJTi51cmwpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbWFpbiA9IHJlc3AuZGF0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7fVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5saXN0ZW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgbWVzc2FnZXMoKTogT2JzZXJ2YWJsZTxJZnJhbWVNZXNzYWdlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZXMkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcmRQYXJ0eU1lc3NhZ2VzKCk6IE9ic2VydmFibGU8TWVzc2FnZUV2ZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGhpcmRQYXJ0eU1lc3NhZ2VzJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMubGlzdGVuZXIpO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMkLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy50aGlyZFBhcnR5TWVzc2FnZXMkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWYWxpZERvbWFpbihwYXltZW50VHlwZTogUGF5bWVudFR5cGUsIG9yaWdpbjogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHBheW1lbnRUeXBlID09IG51bGwpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBzd2l0Y2gocGF5bWVudFR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBQYXltZW50VHlwZS5KRVRPTjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbWFpbi5qZXRvbkRvbWFpbiA9PSBvcmlnaW47XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHNlbmRNZXNzYWdlVG9JZnJhbWUoaWZyYW1lOiBFbGVtZW50UmVmPEhUTUxJRnJhbWVFbGVtZW50PiwgbWVzc2FnZTogSWZyYW1lTWVzc2FnZSkge1xyXG4gICAgICAgIGlmIChpZnJhbWUgPT0gdW5kZWZpbmVkKSByZXR1cm47XHJcbiAgICAgICAgaWZyYW1lLm5hdGl2ZUVsZW1lbnQuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2UoXHJcbiAgICAgICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { HttpParams, HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { IParam } from './iparam';
|
|
3
|
+
export class BaseForm extends IParam {
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this.isMobile = 'false';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Use this function for building POST params with form url encoded content type.
|
|
10
|
+
* Remeber to call params.toString() when passing to http request
|
|
11
|
+
*/
|
|
12
|
+
getUrlSearchParam() {
|
|
13
|
+
const params = new URLSearchParams();
|
|
14
|
+
params.set('isMobile', this.isMobile);
|
|
15
|
+
return params;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Use this function for building GET params
|
|
19
|
+
*/
|
|
20
|
+
getHttpParams() {
|
|
21
|
+
let params = new HttpParams();
|
|
22
|
+
params = params.append('isMobile', this.isMobile);
|
|
23
|
+
return params;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Add isMobile = 'true' to paramters
|
|
27
|
+
* @param params : object
|
|
28
|
+
*/
|
|
29
|
+
addIsMobile(params) {
|
|
30
|
+
params['isMobile'] = this.isMobile;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* For POST request with form-urlencoded
|
|
34
|
+
*/
|
|
35
|
+
getHeaderWithContentTypeForm() {
|
|
36
|
+
const headers = new HttpHeaders()
|
|
37
|
+
.set('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
|
|
38
|
+
return headers;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* For POST request with json body
|
|
42
|
+
*/
|
|
43
|
+
getHeaderWithContentTypeJson() {
|
|
44
|
+
const headers = new HttpHeaders()
|
|
45
|
+
.set('Content-Type', 'application/json; charset=utf-8');
|
|
46
|
+
return headers;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL2Jhc2UtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsTUFBTSxPQUFPLFFBQVMsU0FBUSxNQUFNO0lBR25DO1FBQ08sS0FBSyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNaLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsTUFBVztRQUN0QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0QkFBNEI7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUU7YUFDL0IsR0FBRyxDQUFDLGNBQWMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILDRCQUE0QjtRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTthQUMvQixHQUFHLENBQUMsY0FBYyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7UUFDekQsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IElQYXJhbSB9IGZyb20gJy4vaXBhcmFtJztcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlRm9ybSBleHRlbmRzIElQYXJhbSB7XHJcblx0aXNNb2JpbGU6IHN0cmluZztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHRcdHRoaXMuaXNNb2JpbGUgPSAnZmFsc2UnO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVXNlIHRoaXMgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIFBPU1QgcGFyYW1zIHdpdGggZm9ybSB1cmwgZW5jb2RlZCBjb250ZW50IHR5cGUuXHJcblx0ICogUmVtZWJlciB0byBjYWxsIHBhcmFtcy50b1N0cmluZygpIHdoZW4gcGFzc2luZyB0byBodHRwIHJlcXVlc3RcclxuXHQgKi9cclxuXHRnZXRVcmxTZWFyY2hQYXJhbSgpIHtcclxuXHRcdGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcclxuXHRcdHBhcmFtcy5zZXQoJ2lzTW9iaWxlJywgdGhpcy5pc01vYmlsZSk7XHJcblx0XHRyZXR1cm4gcGFyYW1zO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVXNlIHRoaXMgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIEdFVCBwYXJhbXNcclxuXHQgKi9cclxuXHRnZXRIdHRwUGFyYW1zKCkge1xyXG5cdFx0bGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblx0XHRwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdpc01vYmlsZScsIHRoaXMuaXNNb2JpbGUpO1xyXG5cdFx0cmV0dXJuIHBhcmFtcztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFkZCBpc01vYmlsZSA9ICd0cnVlJyB0byBwYXJhbXRlcnNcclxuXHQgKiBAcGFyYW0gcGFyYW1zIDogb2JqZWN0XHJcblx0ICovXHJcblx0YWRkSXNNb2JpbGUocGFyYW1zOiBhbnkpIHtcclxuXHRcdHBhcmFtc1snaXNNb2JpbGUnXSA9IHRoaXMuaXNNb2JpbGU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBGb3IgUE9TVCByZXF1ZXN0IHdpdGggZm9ybS11cmxlbmNvZGVkXHJcblx0ICovXHJcblx0Z2V0SGVhZGVyV2l0aENvbnRlbnRUeXBlRm9ybSgpIHtcclxuXHRcdGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxyXG5cdFx0XHQuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04Jyk7XHJcblx0XHRyZXR1cm4gaGVhZGVycztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEZvciBQT1NUIHJlcXVlc3Qgd2l0aCBqc29uIGJvZHlcclxuXHQgKi9cclxuXHRnZXRIZWFkZXJXaXRoQ29udGVudFR5cGVKc29uKCkge1xyXG5cdFx0Y29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcblx0XHRcdC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Jyk7XHJcblx0XHRyZXR1cm4gaGVhZGVycztcclxuXHR9XHJcbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class CallbackMessage {
|
|
2
|
+
constructor(errorMessage) {
|
|
3
|
+
this.errorMessage = '';
|
|
4
|
+
this.errorMessage = errorMessage;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2stbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9tb2RlbC9jYWxsYmFjay1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQVksWUFBb0I7UUFGaEMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENhbGxiYWNrTWVzc2FnZSB7XHJcbiAgICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PaymentType } from "./payment-type";
|
|
2
|
+
export class Checkout {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.requestId = '';
|
|
5
|
+
this.paymentType = PaymentType.NA;
|
|
6
|
+
this.url = '';
|
|
7
|
+
this.errorMessage = '';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvbW9kZWwvY2hlY2tvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0ksY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFnQixXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzFDLFFBQUcsR0FBWSxFQUFFLENBQUM7UUFDbEIsaUJBQVksR0FBVyxFQUFFLENBQUM7SUFHOUIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bWVudFR5cGUgfSBmcm9tIFwiLi9wYXltZW50LXR5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dCB7XHJcbiAgICByZXF1ZXN0SWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcGF5bWVudFR5cGU6IFBheW1lbnRUeXBlID0gUGF5bWVudFR5cGUuTkE7XHJcbiAgICB1cmw6IHN0cmluZyAgPSAnJztcclxuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcbiAgICBjYWxsYmFjazogYW55O1xyXG4gICAgcG9wdXA6IGFueTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class Domain {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.defaultDomain = '';
|
|
4
|
+
this.allowedOrigins = [];
|
|
5
|
+
this.specialDomain = [];
|
|
6
|
+
this.jetonDomain = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sTUFBTTtJQUtmO1FBSkEsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7SUFDVixDQUFDO0NBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERvbWFpbiB7XHJcbiAgICBkZWZhdWx0RG9tYWluOiBzdHJpbmcgPSAnJztcclxuICAgIGFsbG93ZWRPcmlnaW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgc3BlY2lhbERvbWFpbjogc3RyaW5nW10gPSBbXTtcclxuICAgIGpldG9uRG9tYWluOiBzdHJpbmcgPSAnJztcclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var IframeMessageType;
|
|
2
|
+
(function (IframeMessageType) {
|
|
3
|
+
IframeMessageType[IframeMessageType["OPEN_PAYMENT_FORM"] = 0] = "OPEN_PAYMENT_FORM";
|
|
4
|
+
IframeMessageType[IframeMessageType["PAYMENT_CALLBACK"] = 1] = "PAYMENT_CALLBACK";
|
|
5
|
+
})(IframeMessageType || (IframeMessageType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9tb2RlbC9pZnJhbWUtbWVzc2FnZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsbUZBQWlCLENBQUE7SUFDakIsaUZBQWdCLENBQUE7QUFDcEIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJZnJhbWVNZXNzYWdlVHlwZSB7XHJcbiAgICBPUEVOX1BBWU1FTlRfRk9STSxcclxuICAgIFBBWU1FTlRfQ0FMTEJBQ0tcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvbW9kZWwvaWZyYW1lLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElmcmFtZU1lc3NhZ2VUeXBlIH0gZnJvbSBcIi4vaWZyYW1lLW1lc3NhZ2UtdHlwZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJZnJhbWVNZXNzYWdlPFQgPSB1bmtub3duPiB7XHJcbiAgICB0eXBlOiBJZnJhbWVNZXNzYWdlVHlwZTtcclxuICAgIHBheWxvYWQ/OiBUO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class IParam {
|
|
2
|
+
getMobileFlag() {
|
|
3
|
+
return /android|mobi/i.test(navigator.userAgent.toLowerCase());
|
|
4
|
+
}
|
|
5
|
+
toJson() {
|
|
6
|
+
return JSON.stringify(this);
|
|
7
|
+
}
|
|
8
|
+
toFormUrlEncoded() {
|
|
9
|
+
return new URLSearchParams(Object.entries(this).map(([key, value]) => [key, String(value)])).toString();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhcmFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL2lwYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sTUFBTTtJQUNmLGFBQWE7UUFDVCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1RyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSVBhcmFtIHtcclxuICAgIGdldE1vYmlsZUZsYWcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIC9hbmRyb2lkfG1vYmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRvSnNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICB0b0Zvcm1VcmxFbmNvZGVkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMoT2JqZWN0LmVudHJpZXModGhpcykubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIFN0cmluZyh2YWx1ZSldKSkudG9TdHJpbmcoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var PaymentType;
|
|
2
|
+
(function (PaymentType) {
|
|
3
|
+
PaymentType[PaymentType["NA"] = 0] = "NA";
|
|
4
|
+
PaymentType[PaymentType["JETON"] = 1] = "JETON";
|
|
5
|
+
})(PaymentType || (PaymentType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL3BheW1lbnQtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLHlDQUFFLENBQUE7SUFDRiwrQ0FBSyxDQUFBO0FBQ1QsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUGF5bWVudFR5cGUge1xyXG4gICAgTkEsXHJcbiAgICBKRVRPTlxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class VoddsHttpService {
|
|
7
|
+
constructor(httpClient) {
|
|
8
|
+
this.httpClient = httpClient;
|
|
9
|
+
}
|
|
10
|
+
postJson(url, request) {
|
|
11
|
+
const headers = new HttpHeaders({ 'Content-type': 'application/json' });
|
|
12
|
+
return this.httpClient.post(url, request.toJson(), { headers });
|
|
13
|
+
}
|
|
14
|
+
get(url, param) {
|
|
15
|
+
if (param) {
|
|
16
|
+
url = url + '?' + param.toFormUrlEncoded();
|
|
17
|
+
}
|
|
18
|
+
return this.httpClient.get(url);
|
|
19
|
+
}
|
|
20
|
+
get2(url, option) {
|
|
21
|
+
const observable = new Observable(observer => {
|
|
22
|
+
this.httpClient.get(url, option).subscribe(res => {
|
|
23
|
+
observer.next(res);
|
|
24
|
+
}, err => {
|
|
25
|
+
observer.next(err);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
return observable;
|
|
29
|
+
}
|
|
30
|
+
postFormUrlEncoded(url, request) {
|
|
31
|
+
let options = {
|
|
32
|
+
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
|
|
33
|
+
};
|
|
34
|
+
return this.httpClient.post(url, request.toFormUrlEncoded(), options);
|
|
35
|
+
}
|
|
36
|
+
getMainDomain(url) {
|
|
37
|
+
let mainDomain = url;
|
|
38
|
+
let domain = window.location.origin;
|
|
39
|
+
if (domain.includes("promo.")) {
|
|
40
|
+
domain = domain.replace("promo.", "");
|
|
41
|
+
mainDomain = domain + url;
|
|
42
|
+
}
|
|
43
|
+
return mainDomain;
|
|
44
|
+
}
|
|
45
|
+
getFullUrl(url, param) {
|
|
46
|
+
return `${url}?${param.toFormUrlEncoded()}`;
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, providedIn: 'root' }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, decorators: [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{
|
|
54
|
+
providedIn: 'root',
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9kZHMtaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL3ZvZGRzLWh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTWxDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFJLENBQUM7SUFFOUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxPQUFlO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLEtBQWM7UUFDOUIsSUFBRyxLQUFLLEVBQUUsQ0FBQztZQUNQLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLENBQUksR0FBVyxFQUFFLE1BQVk7UUFDN0IsTUFBTSxVQUFVLEdBQW9CLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFNLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQzNDLEdBQUcsQ0FBQyxFQUFFO2dCQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkIsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO2dCQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUMzQyxJQUFJLE9BQU8sR0FBRztZQUNWLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsbUNBQW1DLENBQUM7U0FDdEYsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBVztRQUNyQixJQUFJLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLFVBQVUsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQzlCLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2pDLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDOytHQWpEUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVBhcmFtIH0gZnJvbSAnLi9tb2RlbC9pcGFyYW0nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVm9kZHNIdHRwU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIHBvc3RKc29uKHVybDogc3RyaW5nLCByZXF1ZXN0OiBJUGFyYW0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIHJlcXVlc3QudG9Kc29uKCksIHsgaGVhZGVycyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQ8VD4odXJsOiBzdHJpbmcsIHBhcmFtPzogSVBhcmFtKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgaWYocGFyYW0pIHtcclxuICAgICAgICAgICAgdXJsID0gdXJsICsgJz8nICsgcGFyYW0udG9Gb3JtVXJsRW5jb2RlZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPih1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0MjxUPih1cmw6IHN0cmluZywgb3B0aW9uPzogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+ID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4odXJsLCBvcHRpb24pLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3RGb3JtVXJsRW5jb2RlZCh1cmw6IHN0cmluZywgcmVxdWVzdDogSVBhcmFtKSB7XHJcbiAgICAgICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCByZXF1ZXN0LnRvRm9ybVVybEVuY29kZWQoKSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TWFpbkRvbWFpbih1cmw6IHN0cmluZyl7XHJcbiAgICAgICAgbGV0IG1haW5Eb21haW4gPSB1cmw7XHJcbiAgICAgICAgbGV0IGRvbWFpbiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XHJcbiAgICAgICAgaWYoZG9tYWluLmluY2x1ZGVzKFwicHJvbW8uXCIpKXtcclxuICAgICAgICAgICAgZG9tYWluID0gZG9tYWluLnJlcGxhY2UoXCJwcm9tby5cIiwgXCJcIik7XHJcbiAgICAgICAgICAgIG1haW5Eb21haW4gPSBkb21haW4gKyB1cmw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWFpbkRvbWFpbjtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGdWxsVXJsKHVybDogc3RyaW5nLCBwYXJhbTogSVBhcmFtKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dXJsfT8ke3BhcmFtLnRvRm9ybVVybEVuY29kZWQoKX1gO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of epp-lib
|
|
3
|
+
*/
|
|
4
|
+
// Models
|
|
5
|
+
export * from './lib/model/base-form';
|
|
6
|
+
export * from './lib/model/callback-message';
|
|
7
|
+
export * from './lib/model/checkout';
|
|
8
|
+
export * from './lib/model/domain';
|
|
9
|
+
export * from './lib/model/iframe-message';
|
|
10
|
+
export * from './lib/model/iframe-message-type';
|
|
11
|
+
export * from './lib/model/iparam';
|
|
12
|
+
export * from './lib/model/payment-type';
|
|
13
|
+
// Services
|
|
14
|
+
export * from './lib/iframe-message.service';
|
|
15
|
+
// Constants
|
|
16
|
+
export * from './lib/api-route.const';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxTQUFTO0FBQ1QsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLFdBQVc7QUFDWCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLFlBQVk7QUFDWixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGVwcC1saWJcclxuICovXHJcblxyXG4vLyBNb2RlbHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvYmFzZS1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvY2FsbGJhY2stbWVzc2FnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL2NoZWNrb3V0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvZG9tYWluJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvaWZyYW1lLW1lc3NhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC9pZnJhbWUtbWVzc2FnZS10eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvaXBhcmFtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvcGF5bWVudC10eXBlJztcclxuXHJcbi8vIFNlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lmcmFtZS1tZXNzYWdlLnNlcnZpY2UnO1xyXG5cclxuLy8gQ29uc3RhbnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS1yb3V0ZS5jb25zdCc7Il19
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import * as i1 from '@angular/common/http';
|
|
2
|
+
import { HttpParams, HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import { Observable, Subject } from 'rxjs';
|
|
6
|
+
|
|
7
|
+
class IParam {
|
|
8
|
+
getMobileFlag() {
|
|
9
|
+
return /android|mobi/i.test(navigator.userAgent.toLowerCase());
|
|
10
|
+
}
|
|
11
|
+
toJson() {
|
|
12
|
+
return JSON.stringify(this);
|
|
13
|
+
}
|
|
14
|
+
toFormUrlEncoded() {
|
|
15
|
+
return new URLSearchParams(Object.entries(this).map(([key, value]) => [key, String(value)])).toString();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class BaseForm extends IParam {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.isMobile = 'false';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Use this function for building POST params with form url encoded content type.
|
|
26
|
+
* Remeber to call params.toString() when passing to http request
|
|
27
|
+
*/
|
|
28
|
+
getUrlSearchParam() {
|
|
29
|
+
const params = new URLSearchParams();
|
|
30
|
+
params.set('isMobile', this.isMobile);
|
|
31
|
+
return params;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Use this function for building GET params
|
|
35
|
+
*/
|
|
36
|
+
getHttpParams() {
|
|
37
|
+
let params = new HttpParams();
|
|
38
|
+
params = params.append('isMobile', this.isMobile);
|
|
39
|
+
return params;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Add isMobile = 'true' to paramters
|
|
43
|
+
* @param params : object
|
|
44
|
+
*/
|
|
45
|
+
addIsMobile(params) {
|
|
46
|
+
params['isMobile'] = this.isMobile;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* For POST request with form-urlencoded
|
|
50
|
+
*/
|
|
51
|
+
getHeaderWithContentTypeForm() {
|
|
52
|
+
const headers = new HttpHeaders()
|
|
53
|
+
.set('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
|
|
54
|
+
return headers;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* For POST request with json body
|
|
58
|
+
*/
|
|
59
|
+
getHeaderWithContentTypeJson() {
|
|
60
|
+
const headers = new HttpHeaders()
|
|
61
|
+
.set('Content-Type', 'application/json; charset=utf-8');
|
|
62
|
+
return headers;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
class CallbackMessage {
|
|
67
|
+
constructor(errorMessage) {
|
|
68
|
+
this.errorMessage = '';
|
|
69
|
+
this.errorMessage = errorMessage;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
var PaymentType;
|
|
74
|
+
(function (PaymentType) {
|
|
75
|
+
PaymentType[PaymentType["NA"] = 0] = "NA";
|
|
76
|
+
PaymentType[PaymentType["JETON"] = 1] = "JETON";
|
|
77
|
+
})(PaymentType || (PaymentType = {}));
|
|
78
|
+
|
|
79
|
+
class Checkout {
|
|
80
|
+
constructor() {
|
|
81
|
+
this.requestId = '';
|
|
82
|
+
this.paymentType = PaymentType.NA;
|
|
83
|
+
this.url = '';
|
|
84
|
+
this.errorMessage = '';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
class Domain {
|
|
89
|
+
constructor() {
|
|
90
|
+
this.defaultDomain = '';
|
|
91
|
+
this.allowedOrigins = [];
|
|
92
|
+
this.specialDomain = [];
|
|
93
|
+
this.jetonDomain = '';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var IframeMessageType;
|
|
98
|
+
(function (IframeMessageType) {
|
|
99
|
+
IframeMessageType[IframeMessageType["OPEN_PAYMENT_FORM"] = 0] = "OPEN_PAYMENT_FORM";
|
|
100
|
+
IframeMessageType[IframeMessageType["PAYMENT_CALLBACK"] = 1] = "PAYMENT_CALLBACK";
|
|
101
|
+
})(IframeMessageType || (IframeMessageType = {}));
|
|
102
|
+
|
|
103
|
+
const ApiRoute = {
|
|
104
|
+
GET_DOMAIN: { url: "/getDomain", method: "get" }
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
class VoddsHttpService {
|
|
108
|
+
constructor(httpClient) {
|
|
109
|
+
this.httpClient = httpClient;
|
|
110
|
+
}
|
|
111
|
+
postJson(url, request) {
|
|
112
|
+
const headers = new HttpHeaders({ 'Content-type': 'application/json' });
|
|
113
|
+
return this.httpClient.post(url, request.toJson(), { headers });
|
|
114
|
+
}
|
|
115
|
+
get(url, param) {
|
|
116
|
+
if (param) {
|
|
117
|
+
url = url + '?' + param.toFormUrlEncoded();
|
|
118
|
+
}
|
|
119
|
+
return this.httpClient.get(url);
|
|
120
|
+
}
|
|
121
|
+
get2(url, option) {
|
|
122
|
+
const observable = new Observable(observer => {
|
|
123
|
+
this.httpClient.get(url, option).subscribe(res => {
|
|
124
|
+
observer.next(res);
|
|
125
|
+
}, err => {
|
|
126
|
+
observer.next(err);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
return observable;
|
|
130
|
+
}
|
|
131
|
+
postFormUrlEncoded(url, request) {
|
|
132
|
+
let options = {
|
|
133
|
+
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
|
|
134
|
+
};
|
|
135
|
+
return this.httpClient.post(url, request.toFormUrlEncoded(), options);
|
|
136
|
+
}
|
|
137
|
+
getMainDomain(url) {
|
|
138
|
+
let mainDomain = url;
|
|
139
|
+
let domain = window.location.origin;
|
|
140
|
+
if (domain.includes("promo.")) {
|
|
141
|
+
domain = domain.replace("promo.", "");
|
|
142
|
+
mainDomain = domain + url;
|
|
143
|
+
}
|
|
144
|
+
return mainDomain;
|
|
145
|
+
}
|
|
146
|
+
getFullUrl(url, param) {
|
|
147
|
+
return `${url}?${param.toFormUrlEncoded()}`;
|
|
148
|
+
}
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, providedIn: 'root' }); }
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsHttpService, decorators: [{
|
|
153
|
+
type: Injectable,
|
|
154
|
+
args: [{
|
|
155
|
+
providedIn: 'root',
|
|
156
|
+
}]
|
|
157
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
158
|
+
|
|
159
|
+
class IframeMessageService {
|
|
160
|
+
constructor(ngZone, http) {
|
|
161
|
+
this.ngZone = ngZone;
|
|
162
|
+
this.http = http;
|
|
163
|
+
this.messages$ = new Subject();
|
|
164
|
+
this.thirdPartyMessages$ = new Subject();
|
|
165
|
+
this.listener = (event) => {
|
|
166
|
+
if (!this.domain.allowedOrigins.includes(event.origin)) {
|
|
167
|
+
if (this.domain.jetonDomain == event.origin) {
|
|
168
|
+
this.ngZone.run(() => {
|
|
169
|
+
this.thirdPartyMessages$.next(event);
|
|
170
|
+
});
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
this.ngZone.run(() => {
|
|
176
|
+
this.messages$.next(event.data);
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
this.domain = new Domain();
|
|
180
|
+
this.http.get(ApiRoute.GET_DOMAIN.url).subscribe({
|
|
181
|
+
next: (resp) => {
|
|
182
|
+
if (resp.data) {
|
|
183
|
+
this.domain = resp.data;
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
error: err => { }
|
|
187
|
+
});
|
|
188
|
+
window.addEventListener('message', this.listener);
|
|
189
|
+
}
|
|
190
|
+
messages() {
|
|
191
|
+
return this.messages$.asObservable();
|
|
192
|
+
}
|
|
193
|
+
thirdPartyMessages() {
|
|
194
|
+
return this.thirdPartyMessages$.asObservable();
|
|
195
|
+
}
|
|
196
|
+
ngOnDestroy() {
|
|
197
|
+
window.removeEventListener('message', this.listener);
|
|
198
|
+
this.messages$.complete();
|
|
199
|
+
this.thirdPartyMessages$.complete();
|
|
200
|
+
}
|
|
201
|
+
isValidDomain(paymentType, origin) {
|
|
202
|
+
if (paymentType == null)
|
|
203
|
+
return false;
|
|
204
|
+
switch (paymentType) {
|
|
205
|
+
case PaymentType.JETON:
|
|
206
|
+
return this.domain.jetonDomain == origin;
|
|
207
|
+
default:
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
sendMessageToIframe(iframe, message) {
|
|
212
|
+
if (iframe == undefined)
|
|
213
|
+
return;
|
|
214
|
+
iframe.nativeElement.contentWindow?.postMessage(message, window.location.hostname);
|
|
215
|
+
}
|
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, deps: [{ token: i0.NgZone }, { token: VoddsHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
217
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, providedIn: 'root' }); }
|
|
218
|
+
}
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IframeMessageService, decorators: [{
|
|
220
|
+
type: Injectable,
|
|
221
|
+
args: [{
|
|
222
|
+
providedIn: 'root'
|
|
223
|
+
}]
|
|
224
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: VoddsHttpService }] });
|
|
225
|
+
|
|
226
|
+
/*
|
|
227
|
+
* Public API Surface of epp-lib
|
|
228
|
+
*/
|
|
229
|
+
// Models
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Generated bundle index. Do not edit.
|
|
233
|
+
*/
|
|
234
|
+
|
|
235
|
+
export { ApiRoute, BaseForm, CallbackMessage, Checkout, Domain, IParam, IframeMessageService, IframeMessageType, PaymentType };
|
|
236
|
+
//# sourceMappingURL=epp-lib.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epp-lib.mjs","sources":["../../../projects/epp-lib/src/lib/model/iparam.ts","../../../projects/epp-lib/src/lib/model/base-form.ts","../../../projects/epp-lib/src/lib/model/callback-message.ts","../../../projects/epp-lib/src/lib/model/payment-type.ts","../../../projects/epp-lib/src/lib/model/checkout.ts","../../../projects/epp-lib/src/lib/model/domain.ts","../../../projects/epp-lib/src/lib/model/iframe-message-type.ts","../../../projects/epp-lib/src/lib/api-route.const.ts","../../../projects/epp-lib/src/lib/vodds-http.service.ts","../../../projects/epp-lib/src/lib/iframe-message.service.ts","../../../projects/epp-lib/src/public-api.ts","../../../projects/epp-lib/src/epp-lib.ts"],"sourcesContent":["export class IParam {\r\n getMobileFlag(): boolean {\r\n return /android|mobi/i.test(navigator.userAgent.toLowerCase());\r\n }\r\n \r\n toJson(): string {\r\n return JSON.stringify(this);\r\n }\r\n\r\n toFormUrlEncoded(): string {\r\n return new URLSearchParams(Object.entries(this).map(([key, value]) => [key, String(value)])).toString();\r\n }\r\n}\r\n","import { HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { IParam } from './iparam';\r\n\r\nexport class BaseForm extends IParam {\r\n\tisMobile: string;\r\n\r\n\tconstructor() {\r\n super();\r\n\t\tthis.isMobile = 'false';\r\n\t}\r\n\r\n\t/**\r\n\t * Use this function for building POST params with form url encoded content type.\r\n\t * Remeber to call params.toString() when passing to http request\r\n\t */\r\n\tgetUrlSearchParam() {\r\n\t\tconst params = new URLSearchParams();\r\n\t\tparams.set('isMobile', this.isMobile);\r\n\t\treturn params;\r\n\t}\r\n\r\n\t/**\r\n\t * Use this function for building GET params\r\n\t */\r\n\tgetHttpParams() {\r\n\t\tlet params = new HttpParams();\r\n\t\tparams = params.append('isMobile', this.isMobile);\r\n\t\treturn params;\r\n\t}\r\n\r\n\t/**\r\n\t * Add isMobile = 'true' to paramters\r\n\t * @param params : object\r\n\t */\r\n\taddIsMobile(params: any) {\r\n\t\tparams['isMobile'] = this.isMobile;\r\n\t}\r\n\r\n\t/**\r\n\t * For POST request with form-urlencoded\r\n\t */\r\n\tgetHeaderWithContentTypeForm() {\r\n\t\tconst headers = new HttpHeaders()\r\n\t\t\t.set('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\r\n\t\treturn headers;\r\n\t}\r\n\r\n\t/**\r\n\t * For POST request with json body\r\n\t */\r\n\tgetHeaderWithContentTypeJson() {\r\n\t\tconst headers = new HttpHeaders()\r\n\t\t\t.set('Content-Type', 'application/json; charset=utf-8');\r\n\t\treturn headers;\r\n\t}\r\n}","export class CallbackMessage {\r\n errorMessage: string = '';\r\n \r\n constructor(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n }\r\n}\r\n","export enum PaymentType {\r\n NA,\r\n JETON\r\n}\r\n","import { PaymentType } from \"./payment-type\";\r\n\r\nexport class Checkout {\r\n requestId: string = '';\r\n paymentType: PaymentType = PaymentType.NA;\r\n url: string = '';\r\n errorMessage: string = '';\r\n callback: any;\r\n popup: any;\r\n}\r\n","export class Domain {\r\n defaultDomain: string = '';\r\n allowedOrigins: string[] = [];\r\n specialDomain: string[] = [];\r\n jetonDomain: string = '';\r\n constructor() {}\r\n}\r\n","export enum IframeMessageType {\r\n OPEN_PAYMENT_FORM,\r\n PAYMENT_CALLBACK\r\n}\r\n","export const ApiRoute = {\r\n GET_DOMAIN: { url: \"/getDomain\", method: \"get\" }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IParam } from './model/iparam';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class VoddsHttpService {\r\n\r\n constructor(public httpClient: HttpClient) { }\r\n\r\n postJson(url: string, request: IParam): Observable<any> {\r\n const headers = new HttpHeaders({ 'Content-type': 'application/json' });\r\n return this.httpClient.post(url, request.toJson(), { headers });\r\n }\r\n\r\n get<T>(url: string, param?: IParam): Observable<T> {\r\n if(param) {\r\n url = url + '?' + param.toFormUrlEncoded();\r\n }\r\n return this.httpClient.get<T>(url);\r\n }\r\n get2<T>(url: string, option?: any): Observable<T> {\r\n const observable: Observable<any> = new Observable(observer => {\r\n this.httpClient.get<any>(url, option).subscribe(\r\n res => {\r\n observer.next(res);\r\n },\r\n err => {\r\n observer.next(err);\r\n }\r\n );\r\n });\r\n return observable;\r\n }\r\n\r\n postFormUrlEncoded(url: string, request: IParam) {\r\n let options = {\r\n headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')\r\n };\r\n return this.httpClient.post(url, request.toFormUrlEncoded(), options);\r\n }\r\n\r\n getMainDomain(url: string){\r\n let mainDomain = url;\r\n let domain = window.location.origin;\r\n if(domain.includes(\"promo.\")){\r\n domain = domain.replace(\"promo.\", \"\");\r\n mainDomain = domain + url;\r\n }\r\n\r\n return mainDomain;\r\n }\r\n\r\n getFullUrl(url: string, param: IParam): string {\r\n return `${url}?${param.toFormUrlEncoded()}`;\r\n }\r\n}\r\n","import { ElementRef, Injectable, NgZone } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { IframeMessage } from './model/iframe-message';\r\nimport { Domain } from './model/domain';\r\nimport { VoddsHttpService } from './vodds-http.service';\r\nimport { ApiRoute } from './api-route.const';\r\nimport { PaymentType } from './model/payment-type';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IframeMessageService {\r\n private readonly messages$ = new Subject<IframeMessage>();\r\n private readonly thirdPartyMessages$ = new Subject<MessageEvent>();\r\n private domain: Domain;\r\n\r\n private readonly listener = (event: MessageEvent) => {\r\n if (!this.domain.allowedOrigins.includes(event.origin)) {\r\n if (this.domain.jetonDomain == event.origin) {\r\n this.ngZone.run(() => {\r\n this.thirdPartyMessages$.next(event);\r\n });\r\n return;\r\n }\r\n return;\r\n }\r\n this.ngZone.run(() => {\r\n this.messages$.next(event.data);\r\n });\r\n };\r\n\r\n constructor(private readonly ngZone: NgZone, private http: VoddsHttpService) {\r\n this.domain = new Domain();\r\n this.http.get(ApiRoute.GET_DOMAIN.url).subscribe({\r\n next: (resp: any) => {\r\n if (resp.data) {\r\n this.domain = resp.data;\r\n }\r\n },\r\n error: err => {}\r\n });\r\n window.addEventListener('message', this.listener);\r\n }\r\n\r\n messages(): Observable<IframeMessage> {\r\n return this.messages$.asObservable();\r\n }\r\n thirdPartyMessages(): Observable<MessageEvent> {\r\n return this.thirdPartyMessages$.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener('message', this.listener);\r\n this.messages$.complete();\r\n this.thirdPartyMessages$.complete();\r\n }\r\n\r\n isValidDomain(paymentType: PaymentType, origin: string) {\r\n if (paymentType == null) return false;\r\n switch(paymentType) {\r\n case PaymentType.JETON:\r\n return this.domain.jetonDomain == origin;\r\n default:\r\n return false;\r\n }\r\n\r\n }\r\n sendMessageToIframe(iframe: ElementRef<HTMLIFrameElement>, message: IframeMessage) {\r\n if (iframe == undefined) return;\r\n iframe.nativeElement.contentWindow?.postMessage(\r\n message,\r\n window.location.hostname\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of epp-lib\r\n */\r\n\r\n// Models\r\nexport * from './lib/model/base-form';\r\nexport * from './lib/model/callback-message';\r\nexport * from './lib/model/checkout';\r\nexport * from './lib/model/domain';\r\nexport * from './lib/model/iframe-message';\r\nexport * from './lib/model/iframe-message-type';\r\nexport * from './lib/model/iparam';\r\nexport * from './lib/model/payment-type';\r\n\r\n// Services\r\nexport * from './lib/iframe-message.service';\r\n\r\n// Constants\r\nexport * from './lib/api-route.const';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VoddsHttpService"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ElementRef, NgZone } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { IframeMessage } from './model/iframe-message';
|
|
4
|
+
import { VoddsHttpService } from './vodds-http.service';
|
|
5
|
+
import { PaymentType } from './model/payment-type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class IframeMessageService {
|
|
8
|
+
private readonly ngZone;
|
|
9
|
+
private http;
|
|
10
|
+
private readonly messages$;
|
|
11
|
+
private readonly thirdPartyMessages$;
|
|
12
|
+
private domain;
|
|
13
|
+
private readonly listener;
|
|
14
|
+
constructor(ngZone: NgZone, http: VoddsHttpService);
|
|
15
|
+
messages(): Observable<IframeMessage>;
|
|
16
|
+
thirdPartyMessages(): Observable<MessageEvent>;
|
|
17
|
+
ngOnDestroy(): void;
|
|
18
|
+
isValidDomain(paymentType: PaymentType, origin: string): boolean;
|
|
19
|
+
sendMessageToIframe(iframe: ElementRef<HTMLIFrameElement>, message: IframeMessage): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IframeMessageService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IframeMessageService>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HttpParams, HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { IParam } from './iparam';
|
|
3
|
+
export declare class BaseForm extends IParam {
|
|
4
|
+
isMobile: string;
|
|
5
|
+
constructor();
|
|
6
|
+
/**
|
|
7
|
+
* Use this function for building POST params with form url encoded content type.
|
|
8
|
+
* Remeber to call params.toString() when passing to http request
|
|
9
|
+
*/
|
|
10
|
+
getUrlSearchParam(): URLSearchParams;
|
|
11
|
+
/**
|
|
12
|
+
* Use this function for building GET params
|
|
13
|
+
*/
|
|
14
|
+
getHttpParams(): HttpParams;
|
|
15
|
+
/**
|
|
16
|
+
* Add isMobile = 'true' to paramters
|
|
17
|
+
* @param params : object
|
|
18
|
+
*/
|
|
19
|
+
addIsMobile(params: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* For POST request with form-urlencoded
|
|
22
|
+
*/
|
|
23
|
+
getHeaderWithContentTypeForm(): HttpHeaders;
|
|
24
|
+
/**
|
|
25
|
+
* For POST request with json body
|
|
26
|
+
*/
|
|
27
|
+
getHeaderWithContentTypeJson(): HttpHeaders;
|
|
28
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { IParam } from './model/iparam';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class VoddsHttpService {
|
|
6
|
+
httpClient: HttpClient;
|
|
7
|
+
constructor(httpClient: HttpClient);
|
|
8
|
+
postJson(url: string, request: IParam): Observable<any>;
|
|
9
|
+
get<T>(url: string, param?: IParam): Observable<T>;
|
|
10
|
+
get2<T>(url: string, option?: any): Observable<T>;
|
|
11
|
+
postFormUrlEncoded(url: string, request: IParam): Observable<Object>;
|
|
12
|
+
getMainDomain(url: string): string;
|
|
13
|
+
getFullUrl(url: string, param: IParam): string;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VoddsHttpService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<VoddsHttpService>;
|
|
16
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "epp-lib",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^17.3.0",
|
|
6
|
+
"@angular/core": "^17.3.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/epp-lib.mjs",
|
|
13
|
+
"typings": "index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"esm2022": "./esm2022/epp-lib.mjs",
|
|
21
|
+
"esm": "./esm2022/epp-lib.mjs",
|
|
22
|
+
"default": "./fesm2022/epp-lib.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './lib/model/base-form';
|
|
2
|
+
export * from './lib/model/callback-message';
|
|
3
|
+
export * from './lib/model/checkout';
|
|
4
|
+
export * from './lib/model/domain';
|
|
5
|
+
export * from './lib/model/iframe-message';
|
|
6
|
+
export * from './lib/model/iframe-message-type';
|
|
7
|
+
export * from './lib/model/iparam';
|
|
8
|
+
export * from './lib/model/payment-type';
|
|
9
|
+
export * from './lib/iframe-message.service';
|
|
10
|
+
export * from './lib/api-route.const';
|