@infordata-web/portal-common-component-lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.
82 lines • 15.3 kB
JavaScript
import { ApplicationRef, Injectable } from '@angular/core';
import { shareReplay, switchMap, tap } from 'rxjs/operators';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { ConfigurationService } from '../../../configuration/configuration-service';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
import * as i2 from "../../../configuration/configuration-service";
export class TerritorioService {
constructor(http, configurationService, appRef) {
this.http = http;
this.configurationService = configurationService;
this.appRef = appRef;
console.log('[TerritorioService]');
this.urlAnagrafe = configurationService.servicePaths.get("ANAGRAFE_MS_API_URL") + "/v1";
console.log('[urlAnagrafe - lib]', this.urlAnagrafe);
const lingua$ = configurationService.lingua$;
// console.log('[lingua]', configurationService.servicePaths.get("I18N_MS_API_URL"));
//TODO
// const urlNazioni: string = this.paths.get_V1Nazioni();
const urlNazioni = this.urlAnagrafe + "/nazioni";
// console.log('[urlNazioni]', urlNazioni);
this.nazioni$ = lingua$.pipe(switchMap(lingua => this.http.get(urlNazioni, { headers: new HttpHeaders({ 'i18n_language': lingua }) })), tap(_ => appRef.tick()), shareReplay());
//TODO
// const urlProvince: string = this.paths.get_V1Province();
const urlProvince = this.urlAnagrafe + '/province';
// console.log('[urlProvince]', urlProvince);
// TODO
// const urlRegioni: string = this.urlAnagrafe + '/regioni';
const urlRegioni = this.urlAnagrafe + '/regioni/nonSoppresse/';
//TODO
// this.province$ = this.http.get<Array<Localita>>(urlProvince);
this.province$ = lingua$.pipe(switchMap(lingua => this.http.get(urlProvince, { headers: new HttpHeaders({ 'i18n_language': lingua }) })), tap(_ => appRef.tick()), shareReplay());
this.regioni$ = lingua$.pipe(switchMap(lingua => this.http.get(urlRegioni, { headers: new HttpHeaders({ 'i18n_language': lingua }) })), tap(_ => appRef.tick()), shareReplay());
}
getProvince$() {
return this.province$;
}
getProvincePerRegione$(regione) {
//TODO
// return this.configurationService.lingua$
// .pipe(switchMap(lingua => this.http.get<Array<Localita>>(
// this.urlAnagrafe + `/regione/${regione.sigla}/province`,
// { headers: new HttpHeaders({ 'i18n_language': lingua }) }
// )));
const url = `${this.urlAnagrafe}/regione/${regione.sigla}/province/nonSoppresse/?codiceRegione=${regione.sigla}`;
return this.configurationService.lingua$.pipe(switchMap(lingua => this.http.get(url, { headers: new HttpHeaders({ 'i18n_language': lingua }) })), tap(_ => this.appRef.tick()), shareReplay());
}
getComuni$(siglaProvincia) {
//TODO
// const url: string = this.paths.get_V1ComuniByProvincia(siglaProvincia);
// const url: string = `${this.urlAnagrafe}/provincia/${siglaProvincia}/comuni`
const url = `${this.urlAnagrafe}/provincia/${siglaProvincia}/comuni/nonSoppressi`;
return this.http.get(url).pipe(shareReplay());
}
getComune$(codiceCatastale) {
const url = `${this.urlAnagrafe}/comune/codiceCatastale/${codiceCatastale}`;
return this.http.get(url).pipe(shareReplay());
}
getNazioni$() {
return this.nazioni$;
}
getCap$(idComune) {
//TODO
// const url: string = this.paths.get_V1CapByIdComune(idComune);
const url = `${this.urlAnagrafe}/comuni/${idComune}/cap`;
return this.http.get(url);
}
getRegioni$() {
return this.regioni$;
}
}
TerritorioService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TerritorioService_Factory() { return new TerritorioService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationService), i0.ɵɵinject(i0.ApplicationRef)); }, token: TerritorioService, providedIn: "root" });
TerritorioService.decorators = [
{ type: Injectable, args: [{ providedIn: 'root'
},] }
];
TerritorioService.ctorParameters = () => [
{ type: HttpClient },
{ type: ConfigurationService },
{ type: ApplicationRef }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycml0b3Jpby1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItdGVybmkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXBvc2l0aS9zZXJ2aWNlcy90ZXJyaXRvcmlvL3RlcnJpdG9yaW8tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBU3BGLE1BQU0sT0FBTyxpQkFBaUI7SUFTN0IsWUFDUyxJQUFnQixFQUNoQixvQkFBMEMsRUFDMUMsTUFBc0I7UUFGdEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRTlCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDO1FBQzdDLHFGQUFxRjtRQUVyRixNQUFNO1FBQ04seURBQXlEO1FBQ3pELE1BQU0sVUFB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QUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsVUFBVSxDQUFDLGVBQXVCO1FBQ2pDLE1BQU0sR0FBRyxHQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsMkJBQTJCLGVBQWUsRUFBRSxDQUFDO1FBRXBGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFnQjtRQUN2QixNQUFNO1FBQ04sZ0VBQWdFO1FBQ2hFLE1BQU0sR0FBRyxHQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsV0FBVyxRQUFRLE1BQU0sQ0FBQTtRQUNoRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFnQixHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDOzs7O1lBMUhELFVBQVUsU0FDVixFQUFDLFVBQVUsRUFBRSxNQUFNO2FBQ2xCOzs7WUFSTyxVQUFVO1lBQ1Ysb0JBQW9CO1lBSnBCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl0YSB9IGZyb20gJy4uLy4uL21vZGVscy9wb3J0YWxlL2xvY2FsaXRhJztcclxuaW1wb3J0IHsgTmF6aW9uZSB9IGZyb20gJy4uLy4uL21vZGVscy9wb3J0YWxlL25hemlvbmUnO1xyXG5pbXBvcnQgeyBDb211bmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcG9ydGFsZS9jb211bmUnO1xyXG5cclxuQEluamVjdGFibGUoXHJcblx0e3Byb3ZpZGVkSW46ICdyb290J1xyXG5cdH1cclxuKVxyXG5leHBvcnQgY2xhc3MgVGVycml0b3Jpb1NlcnZpY2Uge1xyXG5cdHByb3ZpbmNlJDogT2JzZXJ2YWJsZTxBcnJheTxMb2NhbGl0YT4+O1xyXG5cdG5hemlvbmkkOiBPYnNlcnZhYmxlPEFycmF5PE5hemlvbmU+PjtcclxuXHRyZWdpb25pJDogT2JzZXJ2YWJsZTxBcnJheTxMb2NhbGl0YT4+O1xyXG5cclxuXHRzZXJ2aWNlUGF0aHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG5cdHVybEFuYWdyYWZlOiBzdHJpbmc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG5cdFx0cHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcclxuXHJcblx0XHRjb25zb2xlLmxvZygnW1RlcnJpdG9yaW9TZXJ2aWNlXScpO1xyXG5cclxuXHRcdHRoaXMudXJsQW5hZ3JhZmUgPSBjb25maWd1cmF0aW9uU2VydmljZS5zZXJ2aWNlUGF0aHMuZ2V0KFwiQU5BR1JBRkVfTVNfQVBJX1VSTFwiKSArIFwiL3YxXCI7XHJcblx0XHRjb25zb2xlLmxvZygnW3VybEFuYWdyYWZlIC0gbGliXScsIHRoaXMudXJsQW5hZ3JhZmUpO1xyXG5cclxuXHRcdGNvbnN0IGxpbmd1YSQgPSBjb25maWd1cmF0aW9uU2VydmljZS5saW5ndWEkO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1tsaW5ndWFdJywgY29uZmlndXJhdGlvblNlcnZpY2Uuc2VydmljZVBhdGhzLmdldChcIkkxOE5fTVNfQVBJX1VSTFwiKSk7XHJcblxyXG5cdFx0Ly9UT0RPXHJcblx0XHQvLyBjb25zdCB1cmxOYXppb25pOiBzdHJpbmcgPSB0aGlzLnBhdGhzLmdldF9WMU5hemlvbmkoKTtcclxuXHRcdGNvbnN0IHVybE5hemlvbmk6IHN0cmluZyA9IHRoaXMudXJsQW5hZ3JhZmUgKyBcIi9uYXppb25pXCI7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnW3VybE5hemlvbmldJywgdXJsTmF6aW9uaSk7XHJcblxyXG5cdFx0dGhpcy5uYXppb25pJCA9IGxpbmd1YSQucGlwZShcclxuXHRcdFx0c3dpdGNoTWFwKGxpbmd1YSA9PlxyXG5cdFx0XHRcdHRoaXMuaHR0cC5nZXQ8QXJyYXk8TmF6aW9uZT4+KFxyXG5cdFx0XHRcdFx0dXJsTmF6aW9uaSwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnaTE4bl9sYW5ndWFnZSc6IGxpbmd1YSB9KSB9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHR0YXAoXyA9PiBhcHBSZWYudGljaygpKSxcclxuXHRcdFx0c2hhcmVSZXBsYXkoKVxyXG5cdFx0KTtcclxuXHJcblx0XHQvL1RPRE9cclxuXHRcdC8vIGNvbnN0IHVybFByb3ZpbmNlOiBzdHJpbmcgPSB0aGlzLnBhdGhzLmdldF9WMVByb3ZpbmNlKCk7XHJcblx0XHRjb25zdCB1cmxQcm92aW5jZTogc3RyaW5nID0gdGhpcy51cmxBbmFncmFmZSArICcvcHJvdmluY2UnO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ1t1cmxQcm92aW5jZV0nLCB1cmxQcm92aW5jZSk7XHJcblxyXG5cdFx0Ly8gVE9ET1xyXG5cdFx0Ly8gY29uc3QgdXJsUmVnaW9uaTogc3RyaW5nID0gdGhpcy51cmxBbmFncmFmZSArICcvcmVnaW9uaSc7XHJcblx0XHRjb25zdCB1cmxSZWdpb25pOiBzdHJpbmcgPSB0aGlzLnVybEFuYWdyYWZlICsgJy9yZWdpb25pL25vblNvcHByZXNzZS8nO1xyXG5cclxuXHRcdC8vVE9ET1xyXG5cdFx0Ly8gdGhpcy5wcm92aW5jZSQgPSB0aGlzLmh0dHAuZ2V0PEFycmF5PExvY2FsaXRhPj4odXJsUHJvdmluY2UpO1xyXG5cdFx0dGhpcy5wcm92aW5jZSQgPSBsaW5ndWEkLnBpcGUoXHJcblx0XHRcdHN3aXRjaE1hcChsaW5ndWEgPT5cclxuXHRcdFx0XHR0aGlzLmh0dHAuZ2V0PEFycmF5PExvY2FsaXRhPj4oXHJcblx0XHRcdFx0XHR1cmxQcm92aW5jZSwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnaTE4bl9sYW5ndWFnZSc6IGxpbmd1YSB9KSB9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHR0YXAoXyA9PiBhcHBSZWYudGljaygpKSxcclxuXHRcdFx0c2hhcmVSZXBsYXkoKVxyXG5cdFx0KTtcclxuXHJcblx0XHR0aGlzLnJlZ2lvbmkkID0gbGluZ3VhJC5waXBlKFxyXG5cdFx0XHRzd2l0Y2hNYXAobGluZ3VhID0+XHJcblx0XHRcdFx0dGhpcy5odHRwLmdldDxBcnJheTxMb2NhbGl0YT4+KFxyXG5cdFx0XHRcdFx0dXJsUmVnaW9uaSwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnaTE4bl9sYW5ndWFnZSc6IGxpbmd1YSB9KSB9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHR0YXAoXyA9PiBhcHBSZWYudGljaygpKSxcclxuXHRcdFx0c2hhcmVSZXBsYXkoKVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldFByb3ZpbmNlJCgpOiBPYnNlcnZhYmxlPEFycmF5PExvY2FsaXRhPj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucHJvdmluY2UkO1xyXG5cdH1cclxuXHJcblx0Z2V0UHJvdmluY2VQZXJSZWdpb25lJChyZWdpb25lOiBMb2NhbGl0YSk6IE9ic2VydmFibGU8QXJyYXk8TG9jYWxpdGE+PiB7XHJcblx0XHQvL1RPRE9cclxuXHRcdC8vIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmxpbmd1YSRcclxuXHRcdC8vIFx0LnBpcGUoc3dpdGNoTWFwKGxpbmd1YSA9PiB0aGlzLmh0dHAuZ2V0PEFycmF5PExvY2FsaXRhPj4oXHJcblx0XHQvLyBcdFx0dGhpcy51cmxBbmFncmFmZSArIGAvcmVnaW9uZS8ke3JlZ2lvbmUuc2lnbGF9L3Byb3ZpbmNlYCxcclxuXHRcdC8vIFx0XHR7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdpMThuX2xhbmd1YWdlJzogbGluZ3VhIH0pIH1cclxuXHRcdC8vIFx0KSkpO1xyXG5cdFx0Y29uc3QgdXJsOiBzdHJpbmcgPSBgJHt0aGlzLnVybEFuYWdyYWZlfS9yZWdpb25lLyR7cmVnaW9uZS5zaWdsYX0vcHJvdmluY2Uvbm9uU29wcHJlc3NlLz9jb2RpY2VSZWdpb25lPSR7cmVnaW9uZS5zaWdsYX1gO1xyXG5cdFx0cmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UubGluZ3VhJC5waXBlKFxyXG5cdFx0XHRzd2l0Y2hNYXAobGluZ3VhID0+XHJcblx0XHRcdFx0dGhpcy5odHRwLmdldDxBcnJheTxMb2NhbGl0YT4+KFxyXG5cdFx0XHRcdFx0dXJsLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdpMThuX2xhbmd1YWdlJzogbGluZ3VhIH0pIH1cclxuXHRcdFx0XHQpXHJcblx0XHRcdCksXHJcblx0XHRcdHRhcChfID0+IHRoaXMuYXBwUmVmLnRpY2soKSksXHJcblx0XHRcdHNoYXJlUmVwbGF5KCkpO1xyXG5cdH1cclxuXHJcblx0Z2V0Q29tdW5pJChzaWdsYVByb3ZpbmNpYTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxDb211bmU+PiB7XHJcblx0XHQvL1RPRE9cclxuXHRcdC8vIGNvbnN0IHVybDogc3RyaW5nID0gdGhpcy5wYXRocy5nZXRfVjFDb211bmlCeVByb3ZpbmNpYShzaWdsYVByb3ZpbmNpYSk7XHJcblx0XHQvLyBjb25zdCB1cmw6IHN0cmluZyA9IGAke3RoaXMudXJsQW5hZ3JhZmV9L3Byb3ZpbmNpYS8ke3NpZ2xhUHJvdmluY2lhfS9jb211bmlgXHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IGAke3RoaXMudXJsQW5hZ3JhZmV9L3Byb3ZpbmNpYS8ke3NpZ2xhUHJvdmluY2lhfS9jb211bmkvbm9uU29wcHJlc3NpYDtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PENvbXVuZT4+KHVybCkucGlwZShzaGFyZVJlcGxheSgpKTtcclxuXHR9XHJcblxyXG5cdGdldENvbXVuZSQoY29kaWNlQ2F0YXN0YWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbXVuZT4ge1xyXG5cdFx0Y29uc3QgdXJsOiBzdHJpbmcgPSBgJHt0aGlzLnVybEFuYWdyYWZlfS9jb211bmUvY29kaWNlQ2F0YXN0YWxlLyR7Y29kaWNlQ2F0YXN0YWxlfWA7XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29tdW5lPih1cmwpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XHJcblx0fVxyXG5cclxuXHRnZXROYXppb25pJCgpOiBPYnNlcnZhYmxlPEFycmF5PE5hemlvbmU+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXppb25pJDtcclxuXHR9XHJcblxyXG5cdGdldENhcCQoaWRDb211bmU6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj4ge1xyXG5cdFx0Ly9UT0RPXHJcblx0XHQvLyBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMucGF0aHMuZ2V0X1YxQ2FwQnlJZENvbXVuZShpZENvbXVuZSk7XHJcblx0XHRjb25zdCB1cmw6IHN0cmluZyA9IGAke3RoaXMudXJsQW5hZ3JhZmV9L2NvbXVuaS8ke2lkQ29tdW5lfS9jYXBgXHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldDxBcnJheTxzdHJpbmc+Pih1cmwpO1xyXG5cdH1cclxuXHJcblx0Z2V0UmVnaW9uaSQoKTogT2JzZXJ2YWJsZTxBcnJheTxMb2NhbGl0YT4+IHtcclxuXHRcdHJldHVybiB0aGlzLnJlZ2lvbmkkO1xyXG5cdH1cclxufVxyXG4iXX0=