@von-development-studio/angular-rest-service 18.2.0 → 19.2.0
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/fesm2022/von-development-studio-angular-rest-service.mjs +43 -4
- package/fesm2022/von-development-studio-angular-rest-service.mjs.map +1 -1
- package/lib/von-rest-interceptor.service.d.ts +31 -4
- package/lib/von-rest.service.d.ts +7 -7
- package/package.json +5 -7
- package/public-api.d.ts +1 -0
- package/esm2022/lib/models/von-error-rest-interceptor.model.mjs +0 -2
- package/esm2022/lib/models/von-header-params.model.mjs +0 -2
- package/esm2022/lib/models/von-http-options.model.mjs +0 -2
- package/esm2022/lib/models/von-page-response.model.mjs +0 -2
- package/esm2022/lib/models/von-rest-definition.model.mjs +0 -2
- package/esm2022/lib/von-rest-interceptor.service.mjs +0 -68
- package/esm2022/lib/von-rest.service.mjs +0 -185
- package/esm2022/public-api.mjs +0 -7
- package/esm2022/von-development-studio-angular-rest-service.mjs +0 -5
|
@@ -7,9 +7,6 @@ class VonRestInterceptorService {
|
|
|
7
7
|
consoleDebug = false;
|
|
8
8
|
errorResponseUnknown = 'Unknown Error';
|
|
9
9
|
errorResponseForbidden = 'Forbidden Error';
|
|
10
|
-
urlWhoAmI = 'api/who-am-i';
|
|
11
|
-
redirectOn403 = true;
|
|
12
|
-
redirect403Url = ['403'];
|
|
13
10
|
constructor(router) {
|
|
14
11
|
this.router = router;
|
|
15
12
|
}
|
|
@@ -18,10 +15,11 @@ class VonRestInterceptorService {
|
|
|
18
15
|
.handle(request)
|
|
19
16
|
.pipe(map(this.mapEvent), catchError(this.catchError));
|
|
20
17
|
}
|
|
21
|
-
postHttpRequest = () => { };
|
|
22
18
|
mapEvent = (event) => {
|
|
23
19
|
if (event instanceof HttpResponse) {
|
|
24
20
|
if (event.status === 200 || event.status === 204) {
|
|
21
|
+
this.executeBeforePipesOnSuccess();
|
|
22
|
+
// TODO: Remove this call
|
|
25
23
|
this.postHttpRequest();
|
|
26
24
|
return event;
|
|
27
25
|
}
|
|
@@ -56,15 +54,56 @@ class VonRestInterceptorService {
|
|
|
56
54
|
? errorResponse.error
|
|
57
55
|
: this.errorResponseForbidden;
|
|
58
56
|
}
|
|
57
|
+
this.execute403Redirect();
|
|
58
|
+
// TODO: Remove all this section.
|
|
59
59
|
if (this.redirectOn403) {
|
|
60
60
|
if (errorResponse.status === 403 ||
|
|
61
61
|
(errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {
|
|
62
62
|
this.router.navigate(this.redirect403Url);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
this.execute403Redirect();
|
|
66
|
+
this.executeBeforePipesOnError();
|
|
67
|
+
// TODO: Remove this call
|
|
65
68
|
this.postHttpRequest();
|
|
66
69
|
return throwError(error);
|
|
67
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Execute custom implementation before any other pipe from the subscription.
|
|
73
|
+
*/
|
|
74
|
+
executeBeforePipesOnSuccess = () => { };
|
|
75
|
+
/**
|
|
76
|
+
* Execute custom implementation before any other pipe from the subscription.
|
|
77
|
+
*/
|
|
78
|
+
executeBeforePipesOnError = () => { };
|
|
79
|
+
/**
|
|
80
|
+
* Execute custom implementation to redirect to 403 page based on a specific condition.
|
|
81
|
+
*/
|
|
82
|
+
execute403Redirect = () => { };
|
|
83
|
+
// ****
|
|
84
|
+
// ****
|
|
85
|
+
// ****
|
|
86
|
+
// TODO: Remove all below this line
|
|
87
|
+
// ****
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
90
|
+
* TODO: Remove this property
|
|
91
|
+
*/
|
|
92
|
+
urlWhoAmI = 'api/who-am-i';
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
95
|
+
* TODO: Remove this property
|
|
96
|
+
*/
|
|
97
|
+
redirectOn403 = true;
|
|
98
|
+
/**
|
|
99
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
100
|
+
* TODO: Remove this property
|
|
101
|
+
*/
|
|
102
|
+
redirect403Url = ['403'];
|
|
103
|
+
/**
|
|
104
|
+
* @deprecated Use either executeBeforePipesOnSuccess() or executeBeforePipesOnError() base on your case. This method is marked to be removed.
|
|
105
|
+
*/
|
|
106
|
+
postHttpRequest = () => { };
|
|
68
107
|
}
|
|
69
108
|
|
|
70
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/ng-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/ng-rest-service/src/lib/von-rest.service.ts","../../../projects/ng-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './models/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n protected urlWhoAmI = 'api/who-am-i';\n protected redirectOn403 = true;\n protected redirect403Url = ['403'];\n\n constructor(protected router: Router) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next\n .handle(request)\n .pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected postHttpRequest = () => {};\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error\n ? errorResponse.error\n : this.errorResponseForbidden;\n }\n if (this.redirectOn403) {\n if (\n errorResponse.status === 403 ||\n (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)\n ) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.postHttpRequest();\n return throwError(error);\n };\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { HeaderParams } from './models/von-header-params.model';\nimport { VonHttpOptionsModel } from './models/von-http-options.model';\nimport {\n BaseParams,\n BodyParams,\n GenericParams,\n} from './models/von-rest-definition.model';\n\n/**\n * Rest service wrapper for API calls. This class needs to be extended in a `@Injectable({ providedIn: 'root' })` service.\n * Parameters needed:\n * @HttpClient\n * @DomSanitizer\n */\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n /**\n * Allows to set the default headers\n * @param headerParams Check HeaderParams interface to verify allowed overrides\n * @returns\n * ```json\n * {\n * \"Content-Type\": \"application/json\",\n * \"Accept\": \"application/json\",\n * \"Access-Control-Allow-Origin\": \"*\"\n * }\n * ```\n */\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = ({\n headerParams,\n queryParams: params,\n }: {\n headerParams?: HeaderParams;\n queryParams?: GenericParams;\n } = {}): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n headers: this.setHeaders(headerParams),\n params,\n withCredentials: true,\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setOptionsForFile = ({\n headerParams,\n queryParams,\n }: {\n headerParams?: HeaderParams;\n queryParams?: GenericParams;\n } = {}): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n ...this.setOptions({\n headerParams,\n queryParams,\n }),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n get = <R = any>({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(\n url,\n this.setOptions({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n })\n );\n };\n\n delete = <R = any>({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(\n url,\n this.setOptions({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n })\n );\n };\n\n post = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.post<R>(url, body, options);\n };\n\n put = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.put<R>(url, body, options);\n };\n\n patch = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.patch<R>(url, body, options);\n };\n\n file = ({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n }),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.['contentType'] });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"von-development-studio-angular-rest-service.mjs","sources":["../../../projects/ng-rest-service/src/lib/von-rest-interceptor.service.ts","../../../projects/ng-rest-service/src/lib/von-rest.service.ts","../../../projects/ng-rest-service/src/von-development-studio-angular-rest-service.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { VonErrorRestInterceptorModel } from './models/von-error-rest-interceptor.model';\n\nexport abstract class VonRestInterceptorService implements HttpInterceptor {\n protected consoleDebug = false;\n protected errorResponseUnknown = 'Unknown Error';\n protected errorResponseForbidden = 'Forbidden Error';\n\n constructor(protected router: Router) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next\n .handle(request)\n .pipe(map(this.mapEvent), catchError(this.catchError));\n }\n\n protected mapEvent = (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n if (event.status === 200 || event.status === 204) {\n this.executeBeforePipesOnSuccess();\n // TODO: Remove this call\n this.postHttpRequest();\n return event;\n }\n if (event.status !== 200) {\n const error: VonErrorRestInterceptorModel = {\n status: event.status,\n message: event.statusText,\n body: event.body,\n };\n if (this.consoleDebug) {\n console.error('[ErrorWS]: ', error);\n }\n throw error;\n }\n }\n return event;\n };\n\n protected catchError = (errorResponse: HttpErrorResponse) => {\n if (this.consoleDebug) {\n console.error('[Fatal]: ', errorResponse);\n }\n const error: VonErrorRestInterceptorModel = {\n status: errorResponse.status,\n message: '',\n body: errorResponse.error || {},\n };\n if (errorResponse.status === 0) {\n error.message = this.errorResponseUnknown;\n }\n if (errorResponse.status === 401) {\n error.message = errorResponse.error\n ? errorResponse.error\n : this.errorResponseForbidden;\n }\n\n this.execute403Redirect();\n // TODO: Remove all this section.\n if (this.redirectOn403) {\n if (\n errorResponse.status === 403 ||\n (errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)\n ) {\n this.router.navigate(this.redirect403Url);\n }\n }\n this.execute403Redirect();\n\n this.executeBeforePipesOnError();\n // TODO: Remove this call\n this.postHttpRequest();\n return throwError(error);\n };\n\n /**\n * Execute custom implementation before any other pipe from the subscription.\n */\n protected executeBeforePipesOnSuccess = () => {};\n\n /**\n * Execute custom implementation before any other pipe from the subscription.\n */\n protected executeBeforePipesOnError = () => {};\n\n /**\n * Execute custom implementation to redirect to 403 page based on a specific condition.\n */\n protected execute403Redirect = () => {};\n\n // ****\n // ****\n // ****\n // TODO: Remove all below this line\n // ****\n\n /**\n * @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.\n * TODO: Remove this property\n */\n protected urlWhoAmI = 'api/who-am-i';\n /**\n * @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.\n * TODO: Remove this property\n */\n protected redirectOn403 = true;\n /**\n * @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.\n * TODO: Remove this property\n */\n protected redirect403Url = ['403'];\n /**\n * @deprecated Use either executeBeforePipesOnSuccess() or executeBeforePipesOnError() base on your case. This method is marked to be removed.\n */\n protected postHttpRequest = () => {};\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { map, share, take } from 'rxjs/operators';\nimport { HeaderParams } from './models/von-header-params.model';\nimport { VonHttpOptionsModel } from './models/von-http-options.model';\nimport {\n BaseParams,\n BodyParams,\n GenericParams,\n} from './models/von-rest-definition.model';\n\n/**\n * Rest service wrapper for API calls. This class needs to be extended in a `@Injectable({ providedIn: 'root' })` service.\n * Parameters needed:\n * @HttpClient\n * @DomSanitizer\n */\nexport abstract class VonRestService {\n constructor(protected http: HttpClient, protected sanitizer: DomSanitizer) {}\n\n /**\n * Allows to set the default headers\n * @param headerParams Check HeaderParams interface to verify allowed overrides\n * @returns\n * ```json\n * {\n * \"Content-Type\": \"application/json\",\n * \"Accept\": \"application/json\",\n * \"Access-Control-Allow-Origin\": \"*\"\n * }\n * ```\n */\n protected setHeaders = (headerParams?: HeaderParams): HttpHeaders => {\n return new HttpHeaders({\n 'Content-Type': headerParams?.contentType ?? 'application/json',\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n });\n };\n\n protected setOptions = ({\n headerParams,\n queryParams: params,\n }: {\n headerParams?: HeaderParams;\n queryParams?: GenericParams;\n } = {}): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n headers: this.setHeaders(headerParams),\n params,\n withCredentials: true,\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setOptionsForFile = ({\n headerParams,\n queryParams,\n }: {\n headerParams?: HeaderParams;\n queryParams?: GenericParams;\n } = {}): VonHttpOptionsModel => {\n const options: VonHttpOptionsModel = {\n ...this.setOptions({\n headerParams,\n queryParams,\n }),\n headers: new HttpHeaders({\n Accept: headerParams?.accept ?? 'application/json',\n 'Access-Control-Allow-Origin': '*',\n }),\n };\n if (headerParams?.responseType) {\n options.responseType = headerParams.responseType;\n }\n return options;\n };\n\n protected setUrlParams = (url: string, params?: GenericParams) => {\n if (params != null) {\n for (const p in params) {\n if (p != null) {\n url = url.replace(`{${p}}`, params[p]);\n }\n }\n }\n return url;\n };\n\n protected authenticate = (\n url: string,\n username: string,\n password: string\n ): Observable<any> => {\n const authorization = btoa(`${username}:${password}`);\n const headers = new HttpHeaders({\n authorization: `Basic ${authorization}`,\n });\n return this.http\n .get(url, {\n headers,\n withCredentials: true,\n })\n .pipe(take(1), share());\n };\n\n protected get = <R = any>({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.get<R>(\n url,\n this.setOptions({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n })\n );\n };\n\n protected delete = <R = any>({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n return this.http.delete<R>(\n url,\n this.setOptions({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n })\n );\n };\n\n protected post = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.post<R>(url, body, options);\n };\n\n protected put = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.put<R>(url, body, options);\n };\n\n protected patch = <R = any, B = GenericParams | FormData>({\n url,\n body,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BodyParams<B>): Observable<R> => {\n url = this.setUrlParams(url, urlParams);\n const optionsParams = {\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n };\n let options =\n body && body instanceof FormData\n ? this.setOptionsForFile(optionsParams)\n : this.setOptions(optionsParams);\n return this.http.patch<R>(url, body, options);\n };\n\n protected file = ({\n url,\n urlParams,\n queryParams: params,\n headerParams,\n header: oldHeaderParams,\n params: oldParams,\n }: BaseParams): Observable<SafeResourceUrl> => {\n url = this.setUrlParams(url, urlParams);\n return this.http\n .get(url, {\n ...this.setOptionsForFile({\n headerParams: {\n ...headerParams,\n ...oldHeaderParams,\n },\n queryParams: {\n ...params,\n ...oldParams,\n },\n }),\n responseType: 'blob' as 'json',\n })\n .pipe(\n map((res: any) => {\n const fileBlob = new Blob([res], { type: params?.['contentType'] });\n const objUrl = URL.createObjectURL(fileBlob);\n const sanitized =\n this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);\n return sanitized;\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,39 @@ export declare abstract class VonRestInterceptorService implements HttpIntercept
|
|
|
6
6
|
protected consoleDebug: boolean;
|
|
7
7
|
protected errorResponseUnknown: string;
|
|
8
8
|
protected errorResponseForbidden: string;
|
|
9
|
-
protected urlWhoAmI: string;
|
|
10
|
-
protected redirectOn403: boolean;
|
|
11
|
-
protected redirect403Url: string[];
|
|
12
9
|
constructor(router: Router);
|
|
13
10
|
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
|
|
14
|
-
protected postHttpRequest: () => void;
|
|
15
11
|
protected mapEvent: (event: HttpEvent<any>) => HttpEvent<any>;
|
|
16
12
|
protected catchError: (errorResponse: HttpErrorResponse) => Observable<never>;
|
|
13
|
+
/**
|
|
14
|
+
* Execute custom implementation before any other pipe from the subscription.
|
|
15
|
+
*/
|
|
16
|
+
protected executeBeforePipesOnSuccess: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Execute custom implementation before any other pipe from the subscription.
|
|
19
|
+
*/
|
|
20
|
+
protected executeBeforePipesOnError: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Execute custom implementation to redirect to 403 page based on a specific condition.
|
|
23
|
+
*/
|
|
24
|
+
protected execute403Redirect: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
27
|
+
* TODO: Remove this property
|
|
28
|
+
*/
|
|
29
|
+
protected urlWhoAmI: string;
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
32
|
+
* TODO: Remove this property
|
|
33
|
+
*/
|
|
34
|
+
protected redirectOn403: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use the new custom method execute403Redirect() to trigger redirect to 403. This property is marked to be removed.
|
|
37
|
+
* TODO: Remove this property
|
|
38
|
+
*/
|
|
39
|
+
protected redirect403Url: string[];
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Use either executeBeforePipesOnSuccess() or executeBeforePipesOnError() base on your case. This method is marked to be removed.
|
|
42
|
+
*/
|
|
43
|
+
protected postHttpRequest: () => void;
|
|
17
44
|
}
|
|
@@ -36,11 +36,11 @@ export declare abstract class VonRestService {
|
|
|
36
36
|
queryParams?: GenericParams;
|
|
37
37
|
}) => VonHttpOptionsModel;
|
|
38
38
|
protected setUrlParams: (url: string, params?: GenericParams) => string;
|
|
39
|
-
authenticate: (url: string, username: string, password: string) => Observable<any>;
|
|
40
|
-
get: <R = any>({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<R>;
|
|
41
|
-
delete: <R = any>({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<R>;
|
|
42
|
-
post: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
43
|
-
put: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
44
|
-
patch: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
45
|
-
file: ({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<SafeResourceUrl>;
|
|
39
|
+
protected authenticate: (url: string, username: string, password: string) => Observable<any>;
|
|
40
|
+
protected get: <R = any>({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<R>;
|
|
41
|
+
protected delete: <R = any>({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<R>;
|
|
42
|
+
protected post: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
43
|
+
protected put: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
44
|
+
protected patch: <R = any, B = GenericParams | FormData>({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BodyParams<B>) => Observable<R>;
|
|
45
|
+
protected file: ({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }: BaseParams) => Observable<SafeResourceUrl>;
|
|
46
46
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@von-development-studio/angular-rest-service",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.2.0",
|
|
4
4
|
"description": "Angular Rest Service wrapper.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
10
|
"angular",
|
|
11
|
-
"angular
|
|
11
|
+
"angular 19",
|
|
12
12
|
"rest client"
|
|
13
13
|
],
|
|
14
14
|
"author": "Luis García Castro",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@angular/common": "^
|
|
18
|
-
"@angular/core": "^
|
|
17
|
+
"@angular/common": "^19.2.0",
|
|
18
|
+
"@angular/core": "^19.2.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"tslib": "^2.
|
|
21
|
+
"tslib": "^2.4.0"
|
|
22
22
|
},
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"module": "fesm2022/von-development-studio-angular-rest-service.mjs",
|
|
@@ -29,8 +29,6 @@
|
|
|
29
29
|
},
|
|
30
30
|
".": {
|
|
31
31
|
"types": "./index.d.ts",
|
|
32
|
-
"esm2022": "./esm2022/von-development-studio-angular-rest-service.mjs",
|
|
33
|
-
"esm": "./esm2022/von-development-studio-angular-rest-service.mjs",
|
|
34
32
|
"default": "./fesm2022/von-development-studio-angular-rest-service.mjs"
|
|
35
33
|
}
|
|
36
34
|
}
|
package/public-api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './lib/models/von-error-rest-interceptor.model';
|
|
2
2
|
export * from './lib/models/von-header-params.model';
|
|
3
|
+
export * from './lib/models/von-http-options.model';
|
|
3
4
|
export * from './lib/models/von-page-response.model';
|
|
4
5
|
export * from './lib/models/von-rest-definition.model';
|
|
5
6
|
export * from './lib/von-rest-interceptor.service';
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLWVycm9yLXJlc3QtaW50ZXJjZXB0b3IubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1yZXN0LXNlcnZpY2Uvc3JjL2xpYi9tb2RlbHMvdm9uLWVycm9yLXJlc3QtaW50ZXJjZXB0b3IubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVm9uRXJyb3JSZXN0SW50ZXJjZXB0b3JNb2RlbCB7XG4gIHN0YXR1czogbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGJvZHk/OiBhbnk7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLWhlYWRlci1wYXJhbXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1yZXN0LXNlcnZpY2Uvc3JjL2xpYi9tb2RlbHMvdm9uLWhlYWRlci1wYXJhbXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhlYWRlclBhcmFtcyA9IHtcclxuICBjb250ZW50VHlwZT86IHN0cmluZztcclxuICBhY2NlcHQ/OiBzdHJpbmc7XHJcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLWh0dHAtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvbGliL21vZGVscy92b24taHR0cC1vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuZXhwb3J0IGludGVyZmFjZSBWb25IdHRwT3B0aW9uc01vZGVsIHtcbiAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICBvYnNlcnZlPzogJ2JvZHknO1xuICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXBhZ2UtcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1yZXN0LXNlcnZpY2Uvc3JjL2xpYi9tb2RlbHMvdm9uLXBhZ2UtcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlcHJlY2F0ZWQgRGVmaW5lIHRoaXMgbW9kZWwgaW4gdGhlIHNvbHV0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVm9uUGFnZVJlc3BvbnNlTW9kZWw8VD4ge1xuICBjb250ZW50OiBUW107XG4gIGxhc3Q6IGJvb2xlYW47XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgdG90YWxFbGVtZW50czogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIG51bWJlck9mRWxlbWVudHM6IG51bWJlcjtcbiAgbnVtYmVyOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3QtZGVmaW5pdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvbGliL21vZGVscy92b24tcmVzdC1kZWZpbml0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJQYXJhbXMgfSBmcm9tICcuL3Zvbi1oZWFkZXItcGFyYW1zLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmljUGFyYW1zIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VQYXJhbXMge1xuICB1cmw6IHN0cmluZztcbiAgdXJsUGFyYW1zPzogR2VuZXJpY1BhcmFtcztcbiAgcXVlcnlQYXJhbXM/OiBHZW5lcmljUGFyYW1zO1xuICBoZWFkZXJQYXJhbXM/OiBIZWFkZXJQYXJhbXM7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBoZWFkZXJQYXJhbXMgaW5zdGVhZFxuICAgKi9cbiAgaGVhZGVyPzogSGVhZGVyUGFyYW1zO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHF1ZXJ5UGFyYW1zIGluc3RlYWRcbiAgICovXG4gIHBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG59XG5cbmV4cG9ydCB0eXBlIEJvZHlQYXJhbXM8QiA9IEdlbmVyaWNQYXJhbXMgfCBGb3JtRGF0YT4gPSBCYXNlUGFyYW1zICYge1xuICBib2R5PzogQjtcbn07XG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { HttpResponse, } from '@angular/common/http';
|
|
2
|
-
import { throwError } from 'rxjs';
|
|
3
|
-
import { catchError, map } from 'rxjs/operators';
|
|
4
|
-
export class VonRestInterceptorService {
|
|
5
|
-
router;
|
|
6
|
-
consoleDebug = false;
|
|
7
|
-
errorResponseUnknown = 'Unknown Error';
|
|
8
|
-
errorResponseForbidden = 'Forbidden Error';
|
|
9
|
-
urlWhoAmI = 'api/who-am-i';
|
|
10
|
-
redirectOn403 = true;
|
|
11
|
-
redirect403Url = ['403'];
|
|
12
|
-
constructor(router) {
|
|
13
|
-
this.router = router;
|
|
14
|
-
}
|
|
15
|
-
intercept(request, next) {
|
|
16
|
-
return next
|
|
17
|
-
.handle(request)
|
|
18
|
-
.pipe(map(this.mapEvent), catchError(this.catchError));
|
|
19
|
-
}
|
|
20
|
-
postHttpRequest = () => { };
|
|
21
|
-
mapEvent = (event) => {
|
|
22
|
-
if (event instanceof HttpResponse) {
|
|
23
|
-
if (event.status === 200 || event.status === 204) {
|
|
24
|
-
this.postHttpRequest();
|
|
25
|
-
return event;
|
|
26
|
-
}
|
|
27
|
-
if (event.status !== 200) {
|
|
28
|
-
const error = {
|
|
29
|
-
status: event.status,
|
|
30
|
-
message: event.statusText,
|
|
31
|
-
body: event.body,
|
|
32
|
-
};
|
|
33
|
-
if (this.consoleDebug) {
|
|
34
|
-
console.error('[ErrorWS]: ', error);
|
|
35
|
-
}
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return event;
|
|
40
|
-
};
|
|
41
|
-
catchError = (errorResponse) => {
|
|
42
|
-
if (this.consoleDebug) {
|
|
43
|
-
console.error('[Fatal]: ', errorResponse);
|
|
44
|
-
}
|
|
45
|
-
const error = {
|
|
46
|
-
status: errorResponse.status,
|
|
47
|
-
message: '',
|
|
48
|
-
body: errorResponse.error || {},
|
|
49
|
-
};
|
|
50
|
-
if (errorResponse.status === 0) {
|
|
51
|
-
error.message = this.errorResponseUnknown;
|
|
52
|
-
}
|
|
53
|
-
if (errorResponse.status === 401) {
|
|
54
|
-
error.message = errorResponse.error
|
|
55
|
-
? errorResponse.error
|
|
56
|
-
: this.errorResponseForbidden;
|
|
57
|
-
}
|
|
58
|
-
if (this.redirectOn403) {
|
|
59
|
-
if (errorResponse.status === 403 ||
|
|
60
|
-
(errorResponse.url && errorResponse.url.indexOf(this.urlWhoAmI) > -1)) {
|
|
61
|
-
this.router.navigate(this.redirect403Url);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this.postHttpRequest();
|
|
65
|
-
return throwError(error);
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3QtaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvbGliL3Zvbi1yZXN0LWludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU1MLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxNQUFNLE9BQWdCLHlCQUF5QjtJQVF2QjtJQVBaLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDckIsb0JBQW9CLEdBQUcsZUFBZSxDQUFDO0lBQ3ZDLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDO0lBQzNDLFNBQVMsR0FBRyxjQUFjLENBQUM7SUFDM0IsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixjQUFjLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVuQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFeEMsU0FBUyxDQUNQLE9BQXlCLEVBQ3pCLElBQWlCO1FBRWpCLE9BQU8sSUFBSTthQUNSLE1BQU0sQ0FBQyxPQUFPLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVTLGVBQWUsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFM0IsUUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO1FBQzdDLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO1lBQ2xDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sS0FBSyxHQUFpQztvQkFDMUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO29CQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVU7b0JBQ3pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakIsQ0FBQztnQkFDRixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7Z0JBQ0QsTUFBTSxLQUFLLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRVEsVUFBVSxHQUFHLENBQUMsYUFBZ0MsRUFBRSxFQUFFO1FBQzFELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBaUM7WUFDMUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1lBQzVCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRTtTQUNoQyxDQUFDO1FBQ0YsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakMsS0FBSyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSztnQkFDakMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLO2dCQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQ2xDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUNFLGFBQWEsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFDNUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNyRSxDQUFDO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwUmVzcG9uc2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWb25FcnJvclJlc3RJbnRlcmNlcHRvck1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdm9uLWVycm9yLXJlc3QtaW50ZXJjZXB0b3IubW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVm9uUmVzdEludGVyY2VwdG9yU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByb3RlY3RlZCBjb25zb2xlRGVidWcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGVycm9yUmVzcG9uc2VVbmtub3duID0gJ1Vua25vd24gRXJyb3InO1xuICBwcm90ZWN0ZWQgZXJyb3JSZXNwb25zZUZvcmJpZGRlbiA9ICdGb3JiaWRkZW4gRXJyb3InO1xuICBwcm90ZWN0ZWQgdXJsV2hvQW1JID0gJ2FwaS93aG8tYW0taSc7XG4gIHByb3RlY3RlZCByZWRpcmVjdE9uNDAzID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIHJlZGlyZWN0NDAzVXJsID0gWyc0MDMnXTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgaW50ZXJjZXB0KFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiBuZXh0XG4gICAgICAuaGFuZGxlKHJlcXVlc3QpXG4gICAgICAucGlwZShtYXAodGhpcy5tYXBFdmVudCksIGNhdGNoRXJyb3IodGhpcy5jYXRjaEVycm9yKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcG9zdEh0dHBSZXF1ZXN0ID0gKCkgPT4ge307XG5cbiAgcHJvdGVjdGVkIG1hcEV2ZW50ID0gKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgaWYgKGV2ZW50LnN0YXR1cyA9PT0gMjAwIHx8IGV2ZW50LnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgIHRoaXMucG9zdEh0dHBSZXF1ZXN0KCk7XG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICBjb25zdCBlcnJvcjogVm9uRXJyb3JSZXN0SW50ZXJjZXB0b3JNb2RlbCA9IHtcbiAgICAgICAgICBzdGF0dXM6IGV2ZW50LnN0YXR1cyxcbiAgICAgICAgICBtZXNzYWdlOiBldmVudC5zdGF0dXNUZXh0LFxuICAgICAgICAgIGJvZHk6IGV2ZW50LmJvZHksXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLmNvbnNvbGVEZWJ1Zykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tFcnJvcldTXTogJywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXZlbnQ7XG4gIH07XG5cbiAgcHJvdGVjdGVkIGNhdGNoRXJyb3IgPSAoZXJyb3JSZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICBpZiAodGhpcy5jb25zb2xlRGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tGYXRhbF06ICcsIGVycm9yUmVzcG9uc2UpO1xuICAgIH1cbiAgICBjb25zdCBlcnJvcjogVm9uRXJyb3JSZXN0SW50ZXJjZXB0b3JNb2RlbCA9IHtcbiAgICAgIHN0YXR1czogZXJyb3JSZXNwb25zZS5zdGF0dXMsXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICAgIGJvZHk6IGVycm9yUmVzcG9uc2UuZXJyb3IgfHwge30sXG4gICAgfTtcbiAgICBpZiAoZXJyb3JSZXNwb25zZS5zdGF0dXMgPT09IDApIHtcbiAgICAgIGVycm9yLm1lc3NhZ2UgPSB0aGlzLmVycm9yUmVzcG9uc2VVbmtub3duO1xuICAgIH1cbiAgICBpZiAoZXJyb3JSZXNwb25zZS5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yUmVzcG9uc2UuZXJyb3JcbiAgICAgICAgPyBlcnJvclJlc3BvbnNlLmVycm9yXG4gICAgICAgIDogdGhpcy5lcnJvclJlc3BvbnNlRm9yYmlkZGVuO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWRpcmVjdE9uNDAzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGVycm9yUmVzcG9uc2Uuc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgKGVycm9yUmVzcG9uc2UudXJsICYmIGVycm9yUmVzcG9uc2UudXJsLmluZGV4T2YodGhpcy51cmxXaG9BbUkpID4gLTEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodGhpcy5yZWRpcmVjdDQwM1VybCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucG9zdEh0dHBSZXF1ZXN0KCk7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICB9O1xufVxuIl19
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { map, share, take } from 'rxjs/operators';
|
|
3
|
-
/**
|
|
4
|
-
* Rest service wrapper for API calls. This class needs to be extended in a `@Injectable({ providedIn: 'root' })` service.
|
|
5
|
-
* Parameters needed:
|
|
6
|
-
* @HttpClient
|
|
7
|
-
* @DomSanitizer
|
|
8
|
-
*/
|
|
9
|
-
export class VonRestService {
|
|
10
|
-
http;
|
|
11
|
-
sanitizer;
|
|
12
|
-
constructor(http, sanitizer) {
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.sanitizer = sanitizer;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Allows to set the default headers
|
|
18
|
-
* @param headerParams Check HeaderParams interface to verify allowed overrides
|
|
19
|
-
* @returns
|
|
20
|
-
* ```json
|
|
21
|
-
* {
|
|
22
|
-
* "Content-Type": "application/json",
|
|
23
|
-
* "Accept": "application/json",
|
|
24
|
-
* "Access-Control-Allow-Origin": "*"
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
setHeaders = (headerParams) => {
|
|
29
|
-
return new HttpHeaders({
|
|
30
|
-
'Content-Type': headerParams?.contentType ?? 'application/json',
|
|
31
|
-
Accept: headerParams?.accept ?? 'application/json',
|
|
32
|
-
'Access-Control-Allow-Origin': '*',
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
setOptions = ({ headerParams, queryParams: params, } = {}) => {
|
|
36
|
-
const options = {
|
|
37
|
-
headers: this.setHeaders(headerParams),
|
|
38
|
-
params,
|
|
39
|
-
withCredentials: true,
|
|
40
|
-
};
|
|
41
|
-
if (headerParams?.responseType) {
|
|
42
|
-
options.responseType = headerParams.responseType;
|
|
43
|
-
}
|
|
44
|
-
return options;
|
|
45
|
-
};
|
|
46
|
-
setOptionsForFile = ({ headerParams, queryParams, } = {}) => {
|
|
47
|
-
const options = {
|
|
48
|
-
...this.setOptions({
|
|
49
|
-
headerParams,
|
|
50
|
-
queryParams,
|
|
51
|
-
}),
|
|
52
|
-
headers: new HttpHeaders({
|
|
53
|
-
Accept: headerParams?.accept ?? 'application/json',
|
|
54
|
-
'Access-Control-Allow-Origin': '*',
|
|
55
|
-
}),
|
|
56
|
-
};
|
|
57
|
-
if (headerParams?.responseType) {
|
|
58
|
-
options.responseType = headerParams.responseType;
|
|
59
|
-
}
|
|
60
|
-
return options;
|
|
61
|
-
};
|
|
62
|
-
setUrlParams = (url, params) => {
|
|
63
|
-
if (params != null) {
|
|
64
|
-
for (const p in params) {
|
|
65
|
-
if (p != null) {
|
|
66
|
-
url = url.replace(`{${p}}`, params[p]);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return url;
|
|
71
|
-
};
|
|
72
|
-
authenticate = (url, username, password) => {
|
|
73
|
-
const authorization = btoa(`${username}:${password}`);
|
|
74
|
-
const headers = new HttpHeaders({
|
|
75
|
-
authorization: `Basic ${authorization}`,
|
|
76
|
-
});
|
|
77
|
-
return this.http
|
|
78
|
-
.get(url, {
|
|
79
|
-
headers,
|
|
80
|
-
withCredentials: true,
|
|
81
|
-
})
|
|
82
|
-
.pipe(take(1), share());
|
|
83
|
-
};
|
|
84
|
-
get = ({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
85
|
-
url = this.setUrlParams(url, urlParams);
|
|
86
|
-
return this.http.get(url, this.setOptions({
|
|
87
|
-
headerParams: {
|
|
88
|
-
...headerParams,
|
|
89
|
-
...oldHeaderParams,
|
|
90
|
-
},
|
|
91
|
-
queryParams: {
|
|
92
|
-
...params,
|
|
93
|
-
...oldParams,
|
|
94
|
-
},
|
|
95
|
-
}));
|
|
96
|
-
};
|
|
97
|
-
delete = ({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
98
|
-
url = this.setUrlParams(url, urlParams);
|
|
99
|
-
return this.http.delete(url, this.setOptions({
|
|
100
|
-
headerParams: {
|
|
101
|
-
...headerParams,
|
|
102
|
-
...oldHeaderParams,
|
|
103
|
-
},
|
|
104
|
-
queryParams: {
|
|
105
|
-
...params,
|
|
106
|
-
...oldParams,
|
|
107
|
-
},
|
|
108
|
-
}));
|
|
109
|
-
};
|
|
110
|
-
post = ({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
111
|
-
url = this.setUrlParams(url, urlParams);
|
|
112
|
-
const optionsParams = {
|
|
113
|
-
headerParams: {
|
|
114
|
-
...headerParams,
|
|
115
|
-
...oldHeaderParams,
|
|
116
|
-
},
|
|
117
|
-
queryParams: {
|
|
118
|
-
...params,
|
|
119
|
-
...oldParams,
|
|
120
|
-
},
|
|
121
|
-
};
|
|
122
|
-
let options = body && body instanceof FormData
|
|
123
|
-
? this.setOptionsForFile(optionsParams)
|
|
124
|
-
: this.setOptions(optionsParams);
|
|
125
|
-
return this.http.post(url, body, options);
|
|
126
|
-
};
|
|
127
|
-
put = ({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
128
|
-
url = this.setUrlParams(url, urlParams);
|
|
129
|
-
const optionsParams = {
|
|
130
|
-
headerParams: {
|
|
131
|
-
...headerParams,
|
|
132
|
-
...oldHeaderParams,
|
|
133
|
-
},
|
|
134
|
-
queryParams: {
|
|
135
|
-
...params,
|
|
136
|
-
...oldParams,
|
|
137
|
-
},
|
|
138
|
-
};
|
|
139
|
-
let options = body && body instanceof FormData
|
|
140
|
-
? this.setOptionsForFile(optionsParams)
|
|
141
|
-
: this.setOptions(optionsParams);
|
|
142
|
-
return this.http.put(url, body, options);
|
|
143
|
-
};
|
|
144
|
-
patch = ({ url, body, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
145
|
-
url = this.setUrlParams(url, urlParams);
|
|
146
|
-
const optionsParams = {
|
|
147
|
-
headerParams: {
|
|
148
|
-
...headerParams,
|
|
149
|
-
...oldHeaderParams,
|
|
150
|
-
},
|
|
151
|
-
queryParams: {
|
|
152
|
-
...params,
|
|
153
|
-
...oldParams,
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
let options = body && body instanceof FormData
|
|
157
|
-
? this.setOptionsForFile(optionsParams)
|
|
158
|
-
: this.setOptions(optionsParams);
|
|
159
|
-
return this.http.patch(url, body, options);
|
|
160
|
-
};
|
|
161
|
-
file = ({ url, urlParams, queryParams: params, headerParams, header: oldHeaderParams, params: oldParams, }) => {
|
|
162
|
-
url = this.setUrlParams(url, urlParams);
|
|
163
|
-
return this.http
|
|
164
|
-
.get(url, {
|
|
165
|
-
...this.setOptionsForFile({
|
|
166
|
-
headerParams: {
|
|
167
|
-
...headerParams,
|
|
168
|
-
...oldHeaderParams,
|
|
169
|
-
},
|
|
170
|
-
queryParams: {
|
|
171
|
-
...params,
|
|
172
|
-
...oldParams,
|
|
173
|
-
},
|
|
174
|
-
}),
|
|
175
|
-
responseType: 'blob',
|
|
176
|
-
})
|
|
177
|
-
.pipe(map((res) => {
|
|
178
|
-
const fileBlob = new Blob([res], { type: params?.['contentType'] });
|
|
179
|
-
const objUrl = URL.createObjectURL(fileBlob);
|
|
180
|
-
const sanitized = this.sanitizer.bypassSecurityTrustResourceUrl(objUrl);
|
|
181
|
-
return sanitized;
|
|
182
|
-
}));
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLXJlc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvbGliL3Zvbi1yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU2xEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixjQUFjO0lBQ1o7SUFBNEI7SUFBbEQsWUFBc0IsSUFBZ0IsRUFBWSxTQUF1QjtRQUFuRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVksY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFN0U7Ozs7Ozs7Ozs7O09BV0c7SUFDTyxVQUFVLEdBQUcsQ0FBQyxZQUEyQixFQUFlLEVBQUU7UUFDbEUsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixjQUFjLEVBQUUsWUFBWSxFQUFFLFdBQVcsSUFBSSxrQkFBa0I7WUFDL0QsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksa0JBQWtCO1lBQ2xELDZCQUE2QixFQUFFLEdBQUc7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRVEsVUFBVSxHQUFHLENBQUMsRUFDdEIsWUFBWSxFQUNaLFdBQVcsRUFBRSxNQUFNLE1BSWpCLEVBQUUsRUFBdUIsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBd0I7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1lBQ3RDLE1BQU07WUFDTixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO1FBQ0YsSUFBSSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDL0IsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFUSxpQkFBaUIsR0FBRyxDQUFDLEVBQzdCLFlBQVksRUFDWixXQUFXLE1BSVQsRUFBRSxFQUF1QixFQUFFO1FBQzdCLE1BQU0sT0FBTyxHQUF3QjtZQUNuQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ2pCLFlBQVk7Z0JBQ1osV0FBVzthQUNaLENBQUM7WUFDRixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLGtCQUFrQjtnQkFDbEQsNkJBQTZCLEVBQUUsR0FBRzthQUNuQyxDQUFDO1NBQ0gsQ0FBQztRQUNGLElBQUksWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQy9CLE9BQU8sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRVEsWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQXNCLEVBQUUsRUFBRTtRQUMvRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDZCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztJQUVGLFlBQVksR0FBRyxDQUNiLEdBQVcsRUFDWCxRQUFnQixFQUNoQixRQUFnQixFQUNDLEVBQUU7UUFDbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsUUFBUSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDOUIsYUFBYSxFQUFFLFNBQVMsYUFBYSxFQUFFO1NBQ3hDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTztZQUNQLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUM7YUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDO0lBRUYsR0FBRyxHQUFHLENBQVUsRUFDZCxHQUFHLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFBRSxNQUFNLEVBQ25CLFlBQVksRUFDWixNQUFNLEVBQUUsZUFBZSxFQUN2QixNQUFNLEVBQUUsU0FBUyxHQUNOLEVBQWlCLEVBQUU7UUFDOUIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsRUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEdBQUcsWUFBWTtnQkFDZixHQUFHLGVBQWU7YUFDbkI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxNQUFNO2dCQUNULEdBQUcsU0FBUzthQUNiO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixNQUFNLEdBQUcsQ0FBVSxFQUNqQixHQUFHLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFBRSxNQUFNLEVBQ25CLFlBQVksRUFDWixNQUFNLEVBQUUsZUFBZSxFQUN2QixNQUFNLEVBQUUsU0FBUyxHQUNOLEVBQWlCLEVBQUU7UUFDOUIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3JCLEdBQUcsRUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEdBQUcsWUFBWTtnQkFDZixHQUFHLGVBQWU7YUFDbkI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxNQUFNO2dCQUNULEdBQUcsU0FBUzthQUNiO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixJQUFJLEdBQUcsQ0FBd0MsRUFDN0MsR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEVBQ1QsV0FBVyxFQUFFLE1BQU0sRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLE1BQU0sRUFBRSxTQUFTLEdBQ0gsRUFBaUIsRUFBRTtRQUNqQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEMsTUFBTSxhQUFhLEdBQUc7WUFDcEIsWUFBWSxFQUFFO2dCQUNaLEdBQUcsWUFBWTtnQkFDZixHQUFHLGVBQWU7YUFDbkI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxNQUFNO2dCQUNULEdBQUcsU0FBUzthQUNiO1NBQ0YsQ0FBQztRQUNGLElBQUksT0FBTyxHQUNULElBQUksSUFBSSxJQUFJLFlBQVksUUFBUTtZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBRUYsR0FBRyxHQUFHLENBQXdDLEVBQzVDLEdBQUcsRUFDSCxJQUFJLEVBQ0osU0FBUyxFQUNULFdBQVcsRUFBRSxNQUFNLEVBQ25CLFlBQVksRUFDWixNQUFNLEVBQUUsZUFBZSxFQUN2QixNQUFNLEVBQUUsU0FBUyxHQUNILEVBQWlCLEVBQUU7UUFDakMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sYUFBYSxHQUFHO1lBQ3BCLFlBQVksRUFBRTtnQkFDWixHQUFHLFlBQVk7Z0JBQ2YsR0FBRyxlQUFlO2FBQ25CO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsTUFBTTtnQkFDVCxHQUFHLFNBQVM7YUFDYjtTQUNGLENBQUM7UUFDRixJQUFJLE9BQU8sR0FDVCxJQUFJLElBQUksSUFBSSxZQUFZLFFBQVE7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGLEtBQUssR0FBRyxDQUF3QyxFQUM5QyxHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDVCxXQUFXLEVBQUUsTUFBTSxFQUNuQixZQUFZLEVBQ1osTUFBTSxFQUFFLGVBQWUsRUFDdkIsTUFBTSxFQUFFLFNBQVMsR0FDSCxFQUFpQixFQUFFO1FBQ2pDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxNQUFNLGFBQWEsR0FBRztZQUNwQixZQUFZLEVBQUU7Z0JBQ1osR0FBRyxZQUFZO2dCQUNmLEdBQUcsZUFBZTthQUNuQjtZQUNELFdBQVcsRUFBRTtnQkFDWCxHQUFHLE1BQU07Z0JBQ1QsR0FBRyxTQUFTO2FBQ2I7U0FDRixDQUFDO1FBQ0YsSUFBSSxPQUFPLEdBQ1QsSUFBSSxJQUFJLElBQUksWUFBWSxRQUFRO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUksR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUM7SUFFRixJQUFJLEdBQUcsQ0FBQyxFQUNOLEdBQUcsRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUFFLE1BQU0sRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLE1BQU0sRUFBRSxTQUFTLEdBQ04sRUFBK0IsRUFBRTtRQUM1QyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDeEIsWUFBWSxFQUFFO29CQUNaLEdBQUcsWUFBWTtvQkFDZixHQUFHLGVBQWU7aUJBQ25CO2dCQUNELFdBQVcsRUFBRTtvQkFDWCxHQUFHLE1BQU07b0JBQ1QsR0FBRyxTQUFTO2lCQUNiO2FBQ0YsQ0FBQztZQUNGLFlBQVksRUFBRSxNQUFnQjtTQUMvQixDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIZWFkZXJQYXJhbXMgfSBmcm9tICcuL21vZGVscy92b24taGVhZGVyLXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBWb25IdHRwT3B0aW9uc01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdm9uLWh0dHAtb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQge1xuICBCYXNlUGFyYW1zLFxuICBCb2R5UGFyYW1zLFxuICBHZW5lcmljUGFyYW1zLFxufSBmcm9tICcuL21vZGVscy92b24tcmVzdC1kZWZpbml0aW9uLm1vZGVsJztcblxuLyoqXG4gKiBSZXN0IHNlcnZpY2Ugd3JhcHBlciBmb3IgQVBJIGNhbGxzLiBUaGlzIGNsYXNzIG5lZWRzIHRvIGJlIGV4dGVuZGVkIGluIGEgYEBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pYCBzZXJ2aWNlLlxuICogUGFyYW1ldGVycyBuZWVkZWQ6XG4gKiBASHR0cENsaWVudFxuICogQERvbVNhbml0aXplclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVm9uUmVzdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBkZWZhdWx0IGhlYWRlcnNcbiAgICogQHBhcmFtIGhlYWRlclBhcmFtcyBDaGVjayBIZWFkZXJQYXJhbXMgaW50ZXJmYWNlIHRvIHZlcmlmeSBhbGxvd2VkIG92ZXJyaWRlc1xuICAgKiBAcmV0dXJuc1xuICAgKiBgYGBqc29uXG4gICAqIHtcbiAgICogICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICogICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICogICBcIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpblwiOiBcIipcIlxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcHJvdGVjdGVkIHNldEhlYWRlcnMgPSAoaGVhZGVyUGFyYW1zPzogSGVhZGVyUGFyYW1zKTogSHR0cEhlYWRlcnMgPT4ge1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGhlYWRlclBhcmFtcz8uY29udGVudFR5cGUgPz8gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiBoZWFkZXJQYXJhbXM/LmFjY2VwdCA/PyAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgIH0pO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25zID0gKHtcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgfToge1xuICAgIGhlYWRlclBhcmFtcz86IEhlYWRlclBhcmFtcztcbiAgICBxdWVyeVBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIH0gPSB7fSk6IFZvbkh0dHBPcHRpb25zTW9kZWwgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFZvbkh0dHBPcHRpb25zTW9kZWwgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLnNldEhlYWRlcnMoaGVhZGVyUGFyYW1zKSxcbiAgICAgIHBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9O1xuICAgIGlmIChoZWFkZXJQYXJhbXM/LnJlc3BvbnNlVHlwZSkge1xuICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBoZWFkZXJQYXJhbXMucmVzcG9uc2VUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfTtcblxuICBwcm90ZWN0ZWQgc2V0T3B0aW9uc0ZvckZpbGUgPSAoe1xuICAgIGhlYWRlclBhcmFtcyxcbiAgICBxdWVyeVBhcmFtcyxcbiAgfToge1xuICAgIGhlYWRlclBhcmFtcz86IEhlYWRlclBhcmFtcztcbiAgICBxdWVyeVBhcmFtcz86IEdlbmVyaWNQYXJhbXM7XG4gIH0gPSB7fSk6IFZvbkh0dHBPcHRpb25zTW9kZWwgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFZvbkh0dHBPcHRpb25zTW9kZWwgPSB7XG4gICAgICAuLi50aGlzLnNldE9wdGlvbnMoe1xuICAgICAgICBoZWFkZXJQYXJhbXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgfSksXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBBY2NlcHQ6IGhlYWRlclBhcmFtcz8uYWNjZXB0ID8/ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6ICcqJyxcbiAgICAgIH0pLFxuICAgIH07XG4gICAgaWYgKGhlYWRlclBhcmFtcz8ucmVzcG9uc2VUeXBlKSB7XG4gICAgICBvcHRpb25zLnJlc3BvbnNlVHlwZSA9IGhlYWRlclBhcmFtcy5yZXNwb25zZVR5cGU7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9O1xuXG4gIHByb3RlY3RlZCBzZXRVcmxQYXJhbXMgPSAodXJsOiBzdHJpbmcsIHBhcmFtcz86IEdlbmVyaWNQYXJhbXMpID0+IHtcbiAgICBpZiAocGFyYW1zICE9IG51bGwpIHtcbiAgICAgIGZvciAoY29uc3QgcCBpbiBwYXJhbXMpIHtcbiAgICAgICAgaWYgKHAgIT0gbnVsbCkge1xuICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKGB7JHtwfX1gLCBwYXJhbXNbcF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH07XG5cbiAgYXV0aGVudGljYXRlID0gKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVzZXJuYW1lOiBzdHJpbmcsXG4gICAgcGFzc3dvcmQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xuICAgIGNvbnN0IGF1dGhvcml6YXRpb24gPSBidG9hKGAke3VzZXJuYW1lfToke3Bhc3N3b3JkfWApO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgYXV0aG9yaXphdGlvbjogYEJhc2ljICR7YXV0aG9yaXphdGlvbn1gLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpLCBzaGFyZSgpKTtcbiAgfTtcblxuICBnZXQgPSA8UiA9IGFueT4oe1xuICAgIHVybCxcbiAgICB1cmxQYXJhbXMsXG4gICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgaGVhZGVyOiBvbGRIZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zOiBvbGRQYXJhbXMsXG4gIH06IEJhc2VQYXJhbXMpOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Uj4oXG4gICAgICB1cmwsXG4gICAgICB0aGlzLnNldE9wdGlvbnMoe1xuICAgICAgICBoZWFkZXJQYXJhbXM6IHtcbiAgICAgICAgICAuLi5oZWFkZXJQYXJhbXMsXG4gICAgICAgICAgLi4ub2xkSGVhZGVyUGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAuLi5vbGRQYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH07XG5cbiAgZGVsZXRlID0gPFIgPSBhbnk+KHtcbiAgICB1cmwsXG4gICAgdXJsUGFyYW1zLFxuICAgIHF1ZXJ5UGFyYW1zOiBwYXJhbXMsXG4gICAgaGVhZGVyUGFyYW1zLFxuICAgIGhlYWRlcjogb2xkSGVhZGVyUGFyYW1zLFxuICAgIHBhcmFtczogb2xkUGFyYW1zLFxuICB9OiBCYXNlUGFyYW1zKTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdXJsID0gdGhpcy5zZXRVcmxQYXJhbXModXJsLCB1cmxQYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFI+KFxuICAgICAgdXJsLFxuICAgICAgdGhpcy5zZXRPcHRpb25zKHtcbiAgICAgICAgaGVhZGVyUGFyYW1zOiB7XG4gICAgICAgICAgLi4uaGVhZGVyUGFyYW1zLFxuICAgICAgICAgIC4uLm9sZEhlYWRlclBhcmFtcyxcbiAgICAgICAgfSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgLi4ub2xkUGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9O1xuXG4gIHBvc3QgPSA8UiA9IGFueSwgQiA9IEdlbmVyaWNQYXJhbXMgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgIGhlYWRlclBhcmFtcyxcbiAgICBoZWFkZXI6IG9sZEhlYWRlclBhcmFtcyxcbiAgICBwYXJhbXM6IG9sZFBhcmFtcyxcbiAgfTogQm9keVBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBjb25zdCBvcHRpb25zUGFyYW1zID0ge1xuICAgICAgaGVhZGVyUGFyYW1zOiB7XG4gICAgICAgIC4uLmhlYWRlclBhcmFtcyxcbiAgICAgICAgLi4ub2xkSGVhZGVyUGFyYW1zLFxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgLi4ub2xkUGFyYW1zLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGxldCBvcHRpb25zID1cbiAgICAgIGJvZHkgJiYgYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICAgICAgID8gdGhpcy5zZXRPcHRpb25zRm9yRmlsZShvcHRpb25zUGFyYW1zKVxuICAgICAgICA6IHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCBib2R5LCBvcHRpb25zKTtcbiAgfTtcblxuICBwdXQgPSA8UiA9IGFueSwgQiA9IEdlbmVyaWNQYXJhbXMgfCBGb3JtRGF0YT4oe1xuICAgIHVybCxcbiAgICBib2R5LFxuICAgIHVybFBhcmFtcyxcbiAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxuICAgIGhlYWRlclBhcmFtcyxcbiAgICBoZWFkZXI6IG9sZEhlYWRlclBhcmFtcyxcbiAgICBwYXJhbXM6IG9sZFBhcmFtcyxcbiAgfTogQm9keVBhcmFtczxCPik6IE9ic2VydmFibGU8Uj4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICBjb25zdCBvcHRpb25zUGFyYW1zID0ge1xuICAgICAgaGVhZGVyUGFyYW1zOiB7XG4gICAgICAgIC4uLmhlYWRlclBhcmFtcyxcbiAgICAgICAgLi4ub2xkSGVhZGVyUGFyYW1zLFxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgLi4ub2xkUGFyYW1zLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGxldCBvcHRpb25zID1cbiAgICAgIGJvZHkgJiYgYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICAgICAgID8gdGhpcy5zZXRPcHRpb25zRm9yRmlsZShvcHRpb25zUGFyYW1zKVxuICAgICAgICA6IHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxSPih1cmwsIGJvZHksIG9wdGlvbnMpO1xuICB9O1xuXG4gIHBhdGNoID0gPFIgPSBhbnksIEIgPSBHZW5lcmljUGFyYW1zIHwgRm9ybURhdGE+KHtcbiAgICB1cmwsXG4gICAgYm9keSxcbiAgICB1cmxQYXJhbXMsXG4gICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgaGVhZGVyOiBvbGRIZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zOiBvbGRQYXJhbXMsXG4gIH06IEJvZHlQYXJhbXM8Qj4pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB1cmwgPSB0aGlzLnNldFVybFBhcmFtcyh1cmwsIHVybFBhcmFtcyk7XG4gICAgY29uc3Qgb3B0aW9uc1BhcmFtcyA9IHtcbiAgICAgIGhlYWRlclBhcmFtczoge1xuICAgICAgICAuLi5oZWFkZXJQYXJhbXMsXG4gICAgICAgIC4uLm9sZEhlYWRlclBhcmFtcyxcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIC4uLm9sZFBhcmFtcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBsZXQgb3B0aW9ucyA9XG4gICAgICBib2R5ICYmIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgICAgICA/IHRoaXMuc2V0T3B0aW9uc0ZvckZpbGUob3B0aW9uc1BhcmFtcylcbiAgICAgICAgOiB0aGlzLnNldE9wdGlvbnMob3B0aW9uc1BhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxSPih1cmwsIGJvZHksIG9wdGlvbnMpO1xuICB9O1xuXG4gIGZpbGUgPSAoe1xuICAgIHVybCxcbiAgICB1cmxQYXJhbXMsXG4gICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICBoZWFkZXJQYXJhbXMsXG4gICAgaGVhZGVyOiBvbGRIZWFkZXJQYXJhbXMsXG4gICAgcGFyYW1zOiBvbGRQYXJhbXMsXG4gIH06IEJhc2VQYXJhbXMpOiBPYnNlcnZhYmxlPFNhZmVSZXNvdXJjZVVybD4gPT4ge1xuICAgIHVybCA9IHRoaXMuc2V0VXJsUGFyYW1zKHVybCwgdXJsUGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwge1xuICAgICAgICAuLi50aGlzLnNldE9wdGlvbnNGb3JGaWxlKHtcbiAgICAgICAgICBoZWFkZXJQYXJhbXM6IHtcbiAgICAgICAgICAgIC4uLmhlYWRlclBhcmFtcyxcbiAgICAgICAgICAgIC4uLm9sZEhlYWRlclBhcmFtcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAuLi5vbGRQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW3Jlc10sIHsgdHlwZTogcGFyYW1zPy5bJ2NvbnRlbnRUeXBlJ10gfSk7XG4gICAgICAgICAgY29uc3Qgb2JqVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkID1cbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChvYmpVcmwpO1xuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9O1xufVxuIl19
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './lib/models/von-error-rest-interceptor.model';
|
|
2
|
-
export * from './lib/models/von-header-params.model';
|
|
3
|
-
export * from './lib/models/von-page-response.model';
|
|
4
|
-
export * from './lib/models/von-rest-definition.model';
|
|
5
|
-
export * from './lib/von-rest-interceptor.service';
|
|
6
|
-
export * from './lib/von-rest.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy92b24tZXJyb3ItcmVzdC1pbnRlcmNlcHRvci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy92b24taGVhZGVyLXBhcmFtcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy92b24tcGFnZS1yZXNwb25zZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy92b24tcmVzdC1kZWZpbml0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdm9uLXJlc3QtaW50ZXJjZXB0b3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Zvbi1yZXN0LnNlcnZpY2UnO1xyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9uLWRldmVsb3BtZW50LXN0dWRpby1hbmd1bGFyLXJlc3Qtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXJlc3Qtc2VydmljZS9zcmMvdm9uLWRldmVsb3BtZW50LXN0dWRpby1hbmd1bGFyLXJlc3Qtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|