@net7/boilerplate-common 4.4.0 → 4.5.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/esm2020/lib/services/communication-providers/apollo.provider.mjs +5 -2
- package/esm2020/lib/services/communication-providers/rest.provider.mjs +19 -6
- package/esm2020/lib/services/communication.service.mjs +18 -9
- package/fesm2015/net7-boilerplate-common.mjs +34 -14
- package/fesm2015/net7-boilerplate-common.mjs.map +1 -1
- package/fesm2020/net7-boilerplate-common.mjs +39 -14
- package/fesm2020/net7-boilerplate-common.mjs.map +1 -1
- package/lib/services/communication-providers/apollo.provider.d.ts +2 -1
- package/lib/services/communication-providers/rest.provider.d.ts +4 -1
- package/lib/services/communication.service.d.ts +25 -3
- package/package.json +1 -1
|
@@ -36,7 +36,10 @@ export class ApolloProvider {
|
|
|
36
36
|
source$ = this.http.get(providerConfig.baseUrl);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
source$ = this.http.post(providerConfig.baseUrl, { query: queryBody },
|
|
39
|
+
source$ = this.http.post(providerConfig.baseUrl, { query: queryBody }, {
|
|
40
|
+
...httpOptions,
|
|
41
|
+
responseType: 'json' // force to json
|
|
42
|
+
});
|
|
40
43
|
}
|
|
41
44
|
return source$.pipe(map((response) => response.data[queryName]));
|
|
42
45
|
}
|
|
@@ -84,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
84
87
|
providedIn: 'root',
|
|
85
88
|
}]
|
|
86
89
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigurationService }]; } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvc2VydmljZXMvY29tbXVuaWNhdGlvbi1wcm92aWRlcnMvYXBvbGxvLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXJDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsSUFBZ0IsRUFDaEIsYUFBbUM7UUFEbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7SUFDMUMsQ0FBQztJQUVKLFFBQVEsQ0FBSSxjQUFjLEVBQUUsU0FBaUIsRUFBRSxPQUFnQztRQUM3RSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQWtCLENBQUM7UUFDNUUsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdFLElBQUksS0FBSyxDQUFDO1FBRVYsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQy9CLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0I7UUFFRCxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixNQUFNLEVBQUUsU0FBUyxFQUFFLEdB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RyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzRDtpQkFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDdEcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzFDO2lCQUFNO2dCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzRHQTlFVSxjQUFjO2dIQUFkLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW11bmljYXRpb25Qcm92aWRlciB9IGZyb20gJy4vY29tbXVuaWNhdGlvbi1wcm92aWRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX1RSRUVfREVQVEggPSAxNTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwb2xsb1Byb3ZpZGVyIGltcGxlbWVudHMgQ29tbXVuaWNhdGlvblByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICByZXF1ZXN0JDxUPihwcm92aWRlckNvbmZpZywgcmVxdWVzdElkOiBzdHJpbmcsIG9wdGlvbnM6IENvbW11bmljYXRpb25PcHRpb25zPFQ+KSB7XG4gICAgY29uc3QgeyBwYXJhbXMsIG1ldGhvZCwgaHR0cE9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgdHJlZURlcHRoID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgndHJlZURlcHRoJykgfHwgREVGQVVMVF9UUkVFX0RFUFRIO1xuICAgIGNvbnN0IGNvbmZpZyA9IHByb3ZpZGVyQ29uZmlnLmNvbmZpZyA/IHByb3ZpZGVyQ29uZmlnLmNvbmZpZyh0cmVlRGVwdGgpIDoge307XG4gICAgbGV0IHF1ZXJ5O1xuXG4gICAgaWYgKGNvbmZpZyAmJiBjb25maWdbcmVxdWVzdElkXSkge1xuICAgICAgcXVlcnkgPSBjb25maWdbcmVxdWVzdElkXTtcbiAgICB9XG5cbiAgICBxdWVyeSA9IHF1ZXJ5IHx8IHt9O1xuICAgIGNvbnN0IHsgcXVlcnlOYW1lIH0gPSBxdWVyeTtcbiAgICBsZXQgeyBxdWVyeUJvZHkgfSA9IHF1ZXJ5O1xuXG4gICAgLy8gY29uZmlnIHF1ZXJ5IGNvbnRyb2xcbiAgICBpZiAoIXF1ZXJ5TmFtZSB8fCAhcXVlcnlCb2R5KSB7XG4gICAgICB0aHJvdyBFcnJvcihgTm8gY29uZmlnIGZvdW5kIGZvciByZXF1ZXN0SWQgJyR7cmVxdWVzdElkfSdgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBjb25zdCBwYXJhbXNTdHIgPSB0aGlzLm1ha2VQYXJhbXNTdHIocGFyYW1zKTtcbiAgICAgIHF1ZXJ5Qm9keSA9IHF1ZXJ5Qm9keS5yZXBsYWNlKCdfX1BBUkFNU19fJywgcGFyYW1zU3RyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnlCb2R5ID0gcXVlcnlCb2R5LnJlcGxhY2UoJyhfX1BBUkFNU19fKScsICcnKTtcbiAgICB9XG5cbiAgICBsZXQgc291cmNlJDogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgaWYgKG1ldGhvZCAmJiBtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICBzb3VyY2UkID0gdGhpcy5odHRwLmdldChwcm92aWRlckNvbmZpZy5iYXNlVXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc291cmNlJCA9IHRoaXMuaHR0cC5wb3N0KFxuICAgICAgICBwcm92aWRlckNvbmZpZy5iYXNlVXJsLFxuICAgICAgICB7IHF1ZXJ5OiBxdWVyeUJvZHkgfSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLmh0dHBPcHRpb25zLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nIC8vIGZvcmNlIHRvIGpzb25cbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZSQucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmRhdGFbcXVlcnlOYW1lXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlUGFyYW1zU3RyKHBhcmFtcykge1xuICAgIGNvbnN0IHBhcmFtc1N0ciA9IFtdO1xuICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbXNba2V5XSkpIHtcbiAgICAgICAgY29uc3QgYXJyU3RyID0gW107XG4gICAgICAgIHBhcmFtc1trZXldLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgY29uc3Qgc3ViUGFyYW1zU3RyID0gdGhpcy5tYWtlUGFyYW1zU3RyKHZhbCk7XG4gICAgICAgICAgICBhcnJTdHIucHVzaChgeyAke3N1YlBhcmFtc1N0cn0gfWApO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nIHx8IHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgYXJyU3RyLnB1c2goYCR7dmFsfWApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJTdHIucHVzaChgXCIke3ZhbH1cImApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleX06IFske2FyclN0ci5qb2luKCcsJyl9XWApO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdvYmplY3QnICYmIHBhcmFtc1trZXldKSB7XG4gICAgICAgIGNvbnN0IHN1YlBhcmFtc1N0ciA9IHRoaXMubWFrZVBhcmFtc1N0cihwYXJhbXNba2V5XSk7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleX06IHsgJHtzdWJQYXJhbXNTdHJ9IH1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSAnc3RyaW5nJyAmJiBrZXkuaW5kZXhPZignJCcpID09PSAwKSB7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleS5yZXBsYWNlKCckJywgJycpfTogJHtwYXJhbXNba2V5XX1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdib29sZWFuJyB8fCBwYXJhbXNba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICBwYXJhbXNTdHIucHVzaChgJHtrZXl9OiAke3BhcmFtc1trZXldfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1zU3RyLnB1c2goYCR7a2V5fTogXCIke3BhcmFtc1trZXldfVwiYCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtc1N0ci5qb2luKCcgJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ export class RestProvider {
|
|
|
5
5
|
constructor(http) {
|
|
6
6
|
this.http = http;
|
|
7
7
|
}
|
|
8
|
-
request$(providerConfig, requestId, options
|
|
8
|
+
request$(providerConfig, requestId, options) {
|
|
9
9
|
const { params, httpOptions, urlParams = '', } = options;
|
|
10
10
|
let { method } = options;
|
|
11
11
|
let point;
|
|
@@ -20,14 +20,27 @@ export class RestProvider {
|
|
|
20
20
|
if (!point) {
|
|
21
21
|
throw Error(`No config found for requestId "${requestId}"`);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const formattedUrl = this.getFormattedUrl(providerConfig.baseUrl, point, urlParams);
|
|
24
|
+
if (['POST', 'PUT', 'PATCH'].includes(method)) {
|
|
25
|
+
return this.http[method.toLowerCase()](formattedUrl, params, httpOptions);
|
|
25
26
|
}
|
|
26
|
-
if (
|
|
27
|
-
return this.http[method.toLowerCase()](
|
|
27
|
+
if (['GET', 'DELETE'].includes(method)) {
|
|
28
|
+
return this.http[method.toLowerCase()](formattedUrl, httpOptions);
|
|
28
29
|
}
|
|
29
30
|
throw Error(`Rest method ${method} not supported`);
|
|
30
31
|
}
|
|
32
|
+
getFormattedUrl(baseUrl, point, urlParams) {
|
|
33
|
+
if (typeof urlParams === 'string') {
|
|
34
|
+
return baseUrl + point + urlParams;
|
|
35
|
+
}
|
|
36
|
+
return baseUrl + this.parseUrlPlaceholders(point, urlParams);
|
|
37
|
+
}
|
|
38
|
+
parseUrlPlaceholders(source, placeholders) {
|
|
39
|
+
return source.replace(/{\s*\w+\s*}/g, (match) => {
|
|
40
|
+
const key = match.replace(/{|}/g, '').trim();
|
|
41
|
+
return placeholders[key] || match;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
31
44
|
}
|
|
32
45
|
RestProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RestProvider, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
46
|
RestProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RestProvider, providedIn: 'root' });
|
|
@@ -37,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
37
50
|
providedIn: 'root',
|
|
38
51
|
}]
|
|
39
52
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2NvbW11bmljYXRpb24tcHJvdmlkZXJzL3Jlc3QucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosUUFBUSxDQUFJLGNBQWMsRUFBRSxTQUFTLEVBQUUsT0FBZ0M7UUFDckUsTUFBTSxFQUNKLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxHQUFHLEVBQUUsR0FDcEMsR0FBRyxPQUFPLENBQUM7UUFDWixJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksS0FBSyxDQUFDO1FBRVYsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUM7U0FBRTtRQUVoRSxJQUFJLGNBQWMsQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3RCxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxQztRQUVELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxLQUFLLENBQUMsa0NBQWtDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3BDLFlBQVksRUFDWixNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7U0FDSDtRQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDcEMsWUFBWSxFQUNaLFdBQVcsQ0FDWixDQUFDO1NBQ0g7UUFDRCxNQUFNLEtBQUssQ0FBQyxlQUFlLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsU0FBMEI7UUFDaEYsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDakMsT0FBTyxPQUFPLEdBQUcsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUNwQztRQUNELE9BQU8sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQWMsRUFBRSxZQUFvQjtRQUMvRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0MsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEdBcERVLFlBQVk7OEdBQVosWUFBWSxjQUZYLE1BQU07NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9jb21tdW5pY2F0aW9uLXByb3ZpZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tdW5pY2F0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2NvbW11bmljYXRpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0UHJvdmlkZXIgaW1wbGVtZW50cyBDb21tdW5pY2F0aW9uUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICkge31cblxuICByZXF1ZXN0JDxUPihwcm92aWRlckNvbmZpZywgcmVxdWVzdElkLCBvcHRpb25zOiBDb21tdW5pY2F0aW9uT3B0aW9uczxUPikge1xuICAgIGNvbnN0IHtcbiAgICAgIHBhcmFtcywgaHR0cE9wdGlvbnMsIHVybFBhcmFtcyA9ICcnLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGxldCB7IG1ldGhvZCB9ID0gb3B0aW9ucztcbiAgICBsZXQgcG9pbnQ7XG5cbiAgICAvLyBkZWZhdWx0IG1ldGhvZFxuICAgIGlmICghbWV0aG9kKSB7IG1ldGhvZCA9IHByb3ZpZGVyQ29uZmlnLmRlZmF1bHRNZXRob2QgfHwgJ0dFVCc7IH1cblxuICAgIGlmIChwcm92aWRlckNvbmZpZy5jb25maWcgJiYgcHJvdmlkZXJDb25maWcuY29uZmlnW3JlcXVlc3RJZF0pIHtcbiAgICAgIHBvaW50ID0gcHJvdmlkZXJDb25maWcuY29uZmlnW3JlcXVlc3RJZF07XG4gICAgfVxuXG4gICAgLy8gY29uZmlnIHBvaW50IGNvbnRyb2xcbiAgICBpZiAoIXBvaW50KSB7XG4gICAgICB0aHJvdyBFcnJvcihgTm8gY29uZmlnIGZvdW5kIGZvciByZXF1ZXN0SWQgXCIke3JlcXVlc3RJZH1cImApO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFVybCA9IHRoaXMuZ2V0Rm9ybWF0dGVkVXJsKHByb3ZpZGVyQ29uZmlnLmJhc2VVcmwsIHBvaW50LCB1cmxQYXJhbXMpO1xuICAgIGlmIChbJ1BPU1QnLCAnUFVUJywgJ1BBVENIJ10uaW5jbHVkZXMobWV0aG9kKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFttZXRob2QudG9Mb3dlckNhc2UoKV0oXG4gICAgICAgIGZvcm1hdHRlZFVybCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBodHRwT3B0aW9uc1xuICAgICAgKTtcbiAgICB9IGlmIChbJ0dFVCcsICdERUxFVEUnXS5pbmNsdWRlcyhtZXRob2QpKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwW21ldGhvZC50b0xvd2VyQ2FzZSgpXShcbiAgICAgICAgZm9ybWF0dGVkVXJsLFxuICAgICAgICBodHRwT3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYFJlc3QgbWV0aG9kICR7bWV0aG9kfSBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZFVybChiYXNlVXJsOiBzdHJpbmcsIHBvaW50OiBzdHJpbmcsIHVybFBhcmFtczogc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgaWYgKHR5cGVvZiB1cmxQYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYmFzZVVybCArIHBvaW50ICsgdXJsUGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZVVybCArIHRoaXMucGFyc2VVcmxQbGFjZWhvbGRlcnMocG9pbnQsIHVybFBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlVXJsUGxhY2Vob2xkZXJzKHNvdXJjZTogc3RyaW5nLCBwbGFjZWhvbGRlcnM6IG9iamVjdCkge1xuICAgIHJldHVybiBzb3VyY2UucmVwbGFjZSgve1xccypcXHcrXFxzKn0vZywgKG1hdGNoKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBtYXRjaC5yZXBsYWNlKC97fH0vZywgJycpLnRyaW0oKTtcbiAgICAgIHJldHVybiBwbGFjZWhvbGRlcnNba2V5XSB8fCBtYXRjaDtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { catchError } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { EMPTY } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./configuration.service";
|
|
6
6
|
import * as i2 from "./communication-providers/apollo.provider";
|
|
@@ -18,19 +18,28 @@ export class CommunicationService {
|
|
|
18
18
|
throw Error('No communications.defaultProvider setted in config');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
request$(requestId, options
|
|
21
|
+
request$(requestId, options, provider) {
|
|
22
22
|
const activeProvider = provider || this.defaultProvider;
|
|
23
23
|
const activeProviderConfig = this.communicationConfig.providers[activeProvider];
|
|
24
24
|
if (!activeProviderConfig) {
|
|
25
25
|
throw Error(`There is no config for "${activeProvider}" provider`);
|
|
26
26
|
}
|
|
27
|
-
// provider.type
|
|
27
|
+
// provider.type check for retrocompatibility
|
|
28
28
|
const activeProviderType = activeProviderConfig.type || activeProvider;
|
|
29
29
|
if (!this[activeProviderType]) {
|
|
30
30
|
throw Error(`There is no "${activeProviderType}" provider type`);
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const requestOptions = options || {};
|
|
33
|
+
// adding query params
|
|
34
|
+
// to http client httpoptions params
|
|
35
|
+
if (requestOptions.queryParams) {
|
|
36
|
+
requestOptions.httpOptions = {
|
|
37
|
+
...(requestOptions.httpOptions || {}),
|
|
38
|
+
params: requestOptions.queryParams
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const { onError } = options || {};
|
|
42
|
+
return this[activeProviderType].request$(activeProviderConfig, requestId, requestOptions)
|
|
34
43
|
.pipe(catchError((error) => this.handleError(error, onError)));
|
|
35
44
|
}
|
|
36
45
|
handleError(error, onError) {
|
|
@@ -40,7 +49,7 @@ export class CommunicationService {
|
|
|
40
49
|
else {
|
|
41
50
|
console.warn('No error handler for communication request', error);
|
|
42
51
|
}
|
|
43
|
-
return
|
|
52
|
+
return EMPTY;
|
|
44
53
|
}
|
|
45
54
|
getUrl(requestId, provider) {
|
|
46
55
|
const activeProvider = provider || this.defaultProvider;
|
|
@@ -48,12 +57,12 @@ export class CommunicationService {
|
|
|
48
57
|
if (!activeProviderConfig) {
|
|
49
58
|
throw Error(`There is no config for "${activeProvider}" provider`);
|
|
50
59
|
}
|
|
51
|
-
const baseUrl = activeProviderConfig
|
|
60
|
+
const { baseUrl } = activeProviderConfig;
|
|
52
61
|
if (!requestId) {
|
|
53
62
|
return baseUrl;
|
|
54
63
|
}
|
|
55
64
|
if (!activeProviderConfig.config[requestId]) {
|
|
56
|
-
throw Error(`There is no config for "${requestId}"
|
|
65
|
+
throw Error(`There is no config for "${requestId}"`);
|
|
57
66
|
}
|
|
58
67
|
return baseUrl + activeProviderConfig.config[requestId];
|
|
59
68
|
}
|
|
@@ -66,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
66
75
|
providedIn: 'root',
|
|
67
76
|
}]
|
|
68
77
|
}], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.ApolloProvider }, { type: i3.RestProvider }]; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbXVuaWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvc2VydmljZXMvY29tbXVuaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBYyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBb0N6QyxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsTUFBNEIsRUFDNUIsTUFBc0IsRUFDdEIsSUFBa0I7UUFGbEIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUUxQixJQUFJO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztTQUNqRTtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxRQUFRLENBQ04sU0FBaUIsRUFDakIsT0FBaUMsRUFDakMsUUFBaUI7UUFFakIsTUFBTSxjQUFjLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhGLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLEtBQUssQ0FBQywyQkFBMkIsY0FBYyxZQUFZLENBQUMsQ0FBQztTQUNwRTtRQUVELDZDQUE2QztRQUM3QyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDLElBQUksSUFBSSxjQUFjLENBQUM7UUFFdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixrQkFBa0IsaUJBQWlCLENBQUMsQ0FBQztTQUNsRTtRQUVELE1BQU0sY0FBYyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFckMsc0JBQXNCO1FBQ3RCLG9DQUFvQztRQUNwQyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUU7WUFDOUIsY0FBYyxDQUFDLFdBQVcsR0FBRztnQkFDM0IsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFdBQVc7YUFDbkMsQ0FBQztTQUNIO1FBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUksb0JBQW9CLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQzthQUN6RixJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsNENBQTRDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBVSxFQUFFLFFBQVM7UUFDMUIsTUFBTSxjQUFjLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhGLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLEtBQUssQ0FBQywyQkFBMkIsY0FBYyxZQUFZLENBQUMsQ0FBQztTQUNwRTtRQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQztRQUV6QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNDLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7O2tIQW5GVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgRU1QVFkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEh0dHBDb250ZXh0LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFwb2xsb1Byb3ZpZGVyIH0gZnJvbSAnLi9jb21tdW5pY2F0aW9uLXByb3ZpZGVycy9hcG9sbG8ucHJvdmlkZXInO1xuaW1wb3J0IHsgUmVzdFByb3ZpZGVyIH0gZnJvbSAnLi9jb21tdW5pY2F0aW9uLXByb3ZpZGVycy9yZXN0LnByb3ZpZGVyJztcbmltcG9ydCB7IENvbmZpZ0NvbW1vbkNvbW11bmljYXRpb24gfSBmcm9tICcuLi9jb25maWctdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBDb21tdW5pY2F0aW9uUXVlcnlQYXJhbXMgPSBIdHRwUGFyYW1zIHwge1xuICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tbXVuaWNhdGlvbkh0dHBPcHRpb25zID0ge1xuICBib2R5PzogYW55O1xuICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gIHJlc3BvbnNlVHlwZT86ICdhcnJheWJ1ZmZlcicgfCAnYmxvYicgfCAnanNvbicgfCAndGV4dCc7XG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIHBhcmFtcz86IENvbW11bmljYXRpb25RdWVyeVBhcmFtcztcbiAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDb21tdW5pY2F0aW9uT3B0aW9uczxVPiA9IHtcbiAgbWV0aG9kPzogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdQQVRDSCcgfCAnREVMRVRFJztcbiAgcGFyYW1zPzogVTtcbiAgdXJsUGFyYW1zPzogc3RyaW5nIHwgb2JqZWN0O1xuICBxdWVyeVBhcmFtcz86IENvbW11bmljYXRpb25RdWVyeVBhcmFtcztcbiAgaHR0cE9wdGlvbnM/OiBDb21tdW5pY2F0aW9uSHR0cE9wdGlvbnM7XG4gIG9uRXJyb3I/OiAoZXJyKSA9PiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbXVuaWNhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGRlZmF1bHRQcm92aWRlcjogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbkNvbmZpZzogQ29uZmlnQ29tbW9uQ29tbXVuaWNhdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcG9sbG86IEFwb2xsb1Byb3ZpZGVyLFxuICAgIHByaXZhdGUgcmVzdDogUmVzdFByb3ZpZGVyLFxuICApIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jb21tdW5pY2F0aW9uQ29uZmlnID0gdGhpcy5jb25maWcuZ2V0KCdjb21tdW5pY2F0aW9uJyk7XG4gICAgICB0aGlzLmRlZmF1bHRQcm92aWRlciA9IHRoaXMuY29tbXVuaWNhdGlvbkNvbmZpZy5kZWZhdWx0UHJvdmlkZXI7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBFcnJvcignTm8gY29tbXVuaWNhdGlvbnMuZGVmYXVsdFByb3ZpZGVyIHNldHRlZCBpbiBjb25maWcnKTtcbiAgICB9XG4gIH1cblxuICByZXF1ZXN0JDxUID0gYW55LCBVID0gYW55PihcbiAgICByZXF1ZXN0SWQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29tbXVuaWNhdGlvbk9wdGlvbnM8VT4sXG4gICAgcHJvdmlkZXI/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgYWN0aXZlUHJvdmlkZXIgPSBwcm92aWRlciB8fCB0aGlzLmRlZmF1bHRQcm92aWRlcjtcbiAgICBjb25zdCBhY3RpdmVQcm92aWRlckNvbmZpZyA9IHRoaXMuY29tbXVuaWNhdGlvbkNvbmZpZy5wcm92aWRlcnNbYWN0aXZlUHJvdmlkZXJdO1xuXG4gICAgaWYgKCFhY3RpdmVQcm92aWRlckNvbmZpZykge1xuICAgICAgdGhyb3cgRXJyb3IoYFRoZXJlIGlzIG5vIGNvbmZpZyBmb3IgXCIke2FjdGl2ZVByb3ZpZGVyfVwiIHByb3ZpZGVyYCk7XG4gICAgfVxuXG4gICAgLy8gcHJvdmlkZXIudHlwZSBjaGVjayBmb3IgcmV0cm9jb21wYXRpYmlsaXR5XG4gICAgY29uc3QgYWN0aXZlUHJvdmlkZXJUeXBlID0gYWN0aXZlUHJvdmlkZXJDb25maWcudHlwZSB8fCBhY3RpdmVQcm92aWRlcjtcblxuICAgIGlmICghdGhpc1thY3RpdmVQcm92aWRlclR5cGVdKSB7XG4gICAgICB0aHJvdyBFcnJvcihgVGhlcmUgaXMgbm8gXCIke2FjdGl2ZVByb3ZpZGVyVHlwZX1cIiBwcm92aWRlciB0eXBlYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgLy8gYWRkaW5nIHF1ZXJ5IHBhcmFtc1xuICAgIC8vIHRvIGh0dHAgY2xpZW50IGh0dHBvcHRpb25zIHBhcmFtc1xuICAgIGlmIChyZXF1ZXN0T3B0aW9ucy5xdWVyeVBhcmFtcykge1xuICAgICAgcmVxdWVzdE9wdGlvbnMuaHR0cE9wdGlvbnMgPSB7XG4gICAgICAgIC4uLihyZXF1ZXN0T3B0aW9ucy5odHRwT3B0aW9ucyB8fCB7fSksXG4gICAgICAgIHBhcmFtczogcmVxdWVzdE9wdGlvbnMucXVlcnlQYXJhbXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgeyBvbkVycm9yIH0gPSBvcHRpb25zIHx8IHt9O1xuICAgIHJldHVybiB0aGlzW2FjdGl2ZVByb3ZpZGVyVHlwZV0ucmVxdWVzdCQ8VD4oYWN0aXZlUHJvdmlkZXJDb25maWcsIHJlcXVlc3RJZCwgcmVxdWVzdE9wdGlvbnMpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsIG9uRXJyb3IpKSxcbiAgICAgICk7XG4gIH1cblxuICBoYW5kbGVFcnJvcihlcnJvciwgb25FcnJvcjogKGVycikgPT4gdm9pZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgIG9uRXJyb3IoZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIGVycm9yIGhhbmRsZXIgZm9yIGNvbW11bmljYXRpb24gcmVxdWVzdCcsIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gRU1QVFk7XG4gIH1cblxuICBnZXRVcmwocmVxdWVzdElkPywgcHJvdmlkZXI/KSB7XG4gICAgY29uc3QgYWN0aXZlUHJvdmlkZXIgPSBwcm92aWRlciB8fCB0aGlzLmRlZmF1bHRQcm92aWRlcjtcbiAgICBjb25zdCBhY3RpdmVQcm92aWRlckNvbmZpZyA9IHRoaXMuY29tbXVuaWNhdGlvbkNvbmZpZy5wcm92aWRlcnNbYWN0aXZlUHJvdmlkZXJdO1xuXG4gICAgaWYgKCFhY3RpdmVQcm92aWRlckNvbmZpZykge1xuICAgICAgdGhyb3cgRXJyb3IoYFRoZXJlIGlzIG5vIGNvbmZpZyBmb3IgXCIke2FjdGl2ZVByb3ZpZGVyfVwiIHByb3ZpZGVyYCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBiYXNlVXJsIH0gPSBhY3RpdmVQcm92aWRlckNvbmZpZztcblxuICAgIGlmICghcmVxdWVzdElkKSB7XG4gICAgICByZXR1cm4gYmFzZVVybDtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZVByb3ZpZGVyQ29uZmlnLmNvbmZpZ1tyZXF1ZXN0SWRdKSB7XG4gICAgICB0aHJvdyBFcnJvcihgVGhlcmUgaXMgbm8gY29uZmlnIGZvciBcIiR7cmVxdWVzdElkfVwiYCk7XG4gICAgfVxuICAgIHJldHVybiBiYXNlVXJsICsgYWN0aXZlUHJvdmlkZXJDb25maWcuY29uZmlnW3JlcXVlc3RJZF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,7 +6,7 @@ import * as i1 from '@angular/common/http';
|
|
|
6
6
|
import { HttpClientModule } from '@angular/common/http';
|
|
7
7
|
import * as i6 from '@net7/components';
|
|
8
8
|
import { DvComponentsLibModule } from '@net7/components';
|
|
9
|
-
import { ReplaySubject,
|
|
9
|
+
import { ReplaySubject, EMPTY, Subject, of } from 'rxjs';
|
|
10
10
|
import { map, catchError, takeUntil, filter, tap } from 'rxjs/operators';
|
|
11
11
|
import { LayoutBuilder, LayoutDataSource, EventHandler, DataSource, _t } from '@net7/core';
|
|
12
12
|
import { hideAll } from 'tippy.js';
|
|
@@ -145,7 +145,8 @@ class ApolloProvider {
|
|
|
145
145
|
source$ = this.http.get(providerConfig.baseUrl);
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
|
-
source$ = this.http.post(providerConfig.baseUrl, { query: queryBody }, httpOptions)
|
|
148
|
+
source$ = this.http.post(providerConfig.baseUrl, { query: queryBody }, Object.assign(Object.assign({}, httpOptions), { responseType: 'json' // force to json
|
|
149
|
+
}));
|
|
149
150
|
}
|
|
150
151
|
return source$.pipe(map((response) => response.data[queryName]));
|
|
151
152
|
}
|
|
@@ -198,7 +199,7 @@ class RestProvider {
|
|
|
198
199
|
constructor(http) {
|
|
199
200
|
this.http = http;
|
|
200
201
|
}
|
|
201
|
-
request$(providerConfig, requestId, options
|
|
202
|
+
request$(providerConfig, requestId, options) {
|
|
202
203
|
const { params, httpOptions, urlParams = '', } = options;
|
|
203
204
|
let { method } = options;
|
|
204
205
|
let point;
|
|
@@ -213,14 +214,27 @@ class RestProvider {
|
|
|
213
214
|
if (!point) {
|
|
214
215
|
throw Error(`No config found for requestId "${requestId}"`);
|
|
215
216
|
}
|
|
216
|
-
|
|
217
|
-
|
|
217
|
+
const formattedUrl = this.getFormattedUrl(providerConfig.baseUrl, point, urlParams);
|
|
218
|
+
if (['POST', 'PUT', 'PATCH'].includes(method)) {
|
|
219
|
+
return this.http[method.toLowerCase()](formattedUrl, params, httpOptions);
|
|
218
220
|
}
|
|
219
|
-
if (
|
|
220
|
-
return this.http[method.toLowerCase()](
|
|
221
|
+
if (['GET', 'DELETE'].includes(method)) {
|
|
222
|
+
return this.http[method.toLowerCase()](formattedUrl, httpOptions);
|
|
221
223
|
}
|
|
222
224
|
throw Error(`Rest method ${method} not supported`);
|
|
223
225
|
}
|
|
226
|
+
getFormattedUrl(baseUrl, point, urlParams) {
|
|
227
|
+
if (typeof urlParams === 'string') {
|
|
228
|
+
return baseUrl + point + urlParams;
|
|
229
|
+
}
|
|
230
|
+
return baseUrl + this.parseUrlPlaceholders(point, urlParams);
|
|
231
|
+
}
|
|
232
|
+
parseUrlPlaceholders(source, placeholders) {
|
|
233
|
+
return source.replace(/{\s*\w+\s*}/g, (match) => {
|
|
234
|
+
const key = match.replace(/{|}/g, '').trim();
|
|
235
|
+
return placeholders[key] || match;
|
|
236
|
+
});
|
|
237
|
+
}
|
|
224
238
|
}
|
|
225
239
|
RestProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RestProvider, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
226
240
|
RestProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RestProvider, providedIn: 'root' });
|
|
@@ -244,19 +258,25 @@ class CommunicationService {
|
|
|
244
258
|
throw Error('No communications.defaultProvider setted in config');
|
|
245
259
|
}
|
|
246
260
|
}
|
|
247
|
-
request$(requestId, options
|
|
261
|
+
request$(requestId, options, provider) {
|
|
248
262
|
const activeProvider = provider || this.defaultProvider;
|
|
249
263
|
const activeProviderConfig = this.communicationConfig.providers[activeProvider];
|
|
250
264
|
if (!activeProviderConfig) {
|
|
251
265
|
throw Error(`There is no config for "${activeProvider}" provider`);
|
|
252
266
|
}
|
|
253
|
-
// provider.type
|
|
267
|
+
// provider.type check for retrocompatibility
|
|
254
268
|
const activeProviderType = activeProviderConfig.type || activeProvider;
|
|
255
269
|
if (!this[activeProviderType]) {
|
|
256
270
|
throw Error(`There is no "${activeProviderType}" provider type`);
|
|
257
271
|
}
|
|
258
|
-
const
|
|
259
|
-
|
|
272
|
+
const requestOptions = options || {};
|
|
273
|
+
// adding query params
|
|
274
|
+
// to http client httpoptions params
|
|
275
|
+
if (requestOptions.queryParams) {
|
|
276
|
+
requestOptions.httpOptions = Object.assign(Object.assign({}, (requestOptions.httpOptions || {})), { params: requestOptions.queryParams });
|
|
277
|
+
}
|
|
278
|
+
const { onError } = options || {};
|
|
279
|
+
return this[activeProviderType].request$(activeProviderConfig, requestId, requestOptions)
|
|
260
280
|
.pipe(catchError((error) => this.handleError(error, onError)));
|
|
261
281
|
}
|
|
262
282
|
handleError(error, onError) {
|
|
@@ -266,7 +286,7 @@ class CommunicationService {
|
|
|
266
286
|
else {
|
|
267
287
|
console.warn('No error handler for communication request', error);
|
|
268
288
|
}
|
|
269
|
-
return
|
|
289
|
+
return EMPTY;
|
|
270
290
|
}
|
|
271
291
|
getUrl(requestId, provider) {
|
|
272
292
|
const activeProvider = provider || this.defaultProvider;
|
|
@@ -274,12 +294,12 @@ class CommunicationService {
|
|
|
274
294
|
if (!activeProviderConfig) {
|
|
275
295
|
throw Error(`There is no config for "${activeProvider}" provider`);
|
|
276
296
|
}
|
|
277
|
-
const baseUrl = activeProviderConfig
|
|
297
|
+
const { baseUrl } = activeProviderConfig;
|
|
278
298
|
if (!requestId) {
|
|
279
299
|
return baseUrl;
|
|
280
300
|
}
|
|
281
301
|
if (!activeProviderConfig.config[requestId]) {
|
|
282
|
-
throw Error(`There is no config for "${requestId}"
|
|
302
|
+
throw Error(`There is no config for "${requestId}"`);
|
|
283
303
|
}
|
|
284
304
|
return baseUrl + activeProviderConfig.config[requestId];
|
|
285
305
|
}
|