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 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,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="epp-lib" />
5
+ export * from './public-api';
@@ -0,0 +1,6 @@
1
+ export declare const ApiRoute: {
2
+ GET_DOMAIN: {
3
+ url: string;
4
+ method: string;
5
+ };
6
+ };
@@ -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,4 @@
1
+ export declare class CallbackMessage {
2
+ errorMessage: string;
3
+ constructor(errorMessage: string);
4
+ }
@@ -0,0 +1,9 @@
1
+ import { PaymentType } from "./payment-type";
2
+ export declare class Checkout {
3
+ requestId: string;
4
+ paymentType: PaymentType;
5
+ url: string;
6
+ errorMessage: string;
7
+ callback: any;
8
+ popup: any;
9
+ }
@@ -0,0 +1,7 @@
1
+ export declare class Domain {
2
+ defaultDomain: string;
3
+ allowedOrigins: string[];
4
+ specialDomain: string[];
5
+ jetonDomain: string;
6
+ constructor();
7
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum IframeMessageType {
2
+ OPEN_PAYMENT_FORM = 0,
3
+ PAYMENT_CALLBACK = 1
4
+ }
@@ -0,0 +1,5 @@
1
+ import { IframeMessageType } from "./iframe-message-type";
2
+ export interface IframeMessage<T = unknown> {
3
+ type: IframeMessageType;
4
+ payload?: T;
5
+ }
@@ -0,0 +1,5 @@
1
+ export declare class IParam {
2
+ getMobileFlag(): boolean;
3
+ toJson(): string;
4
+ toFormUrlEncoded(): string;
5
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum PaymentType {
2
+ NA = 0,
3
+ JETON = 1
4
+ }
@@ -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
+ }
@@ -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';