@esfaenza/core 19.2.153 → 19.2.155
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/esfaenza-core-components.mjs +1 -2
- package/fesm2022/esfaenza-core-components.mjs.map +1 -1
- package/fesm2022/esfaenza-core-services.mjs +18 -12
- package/fesm2022/esfaenza-core-services.mjs.map +1 -1
- package/fesm2022/esfaenza-core.mjs +2 -2
- package/fesm2022/esfaenza-core.mjs.map +1 -1
- package/package.json +1 -1
- package/services/classes/app.state.d.ts +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esfaenza-core-services.mjs","sources":["../../../projects/core/services/src/classes/app.accesstoken.ts","../../../projects/core/services/src/classes/app.globalsearch.ts","../../../projects/core/services/src/classes/app.errorhandler.ts","../../../projects/core/services/src/classes/app.event.ts","../../../projects/core/services/src/classes/app.httpextensions.loc.ts","../../../projects/core/services/src/classes/app.state.ts","../../../projects/core/services/src/classes/app.httpextensions.ts","../../../projects/core/services/src/classes/app.menufilter.ts","../../../projects/core/services/src/classes/app.completedjobredirection.ts","../../../projects/core/services/src/classes/app.session.ts","../../../projects/core/services/src/classes/preferences/app.cache.persistor.ts","../../../projects/core/services/src/classes/preferences/app.preference.persistor.ts","../../../projects/core/services/src/classes/preferences/user/app.userpreferences.base.ts","../../../projects/core/services/src/classes/app.routeguard.ts","../../../projects/core/services/src/esfaenza-core-services.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n// Applicazione\r\nimport { AccountScope, ANONYMOUS_MODE, JaceIdentity, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TokenService {\r\n\r\n public accountScope: AccountScope;\r\n\r\n constructor(public cs: CookieService, @Optional() @Inject(USE_FAKE_ACCESS_TOKEN) public USE_FAKE_ACCESS_TOKEN: boolean, @Optional() @Inject(ANONYMOUS_MODE) public ANONYMOUS_MODE: boolean) {\r\n if (this.USE_FAKE_ACCESS_TOKEN)\r\n this.accountScope = this.getFakeAccountScope();\r\n }\r\n\r\n clearTokens(): void {\r\n this.cs.delete(\"access_token\");\r\n }\r\n\r\n getAccessToken(): String {\r\n if(this.ANONYMOUS_MODE)\r\n return \"\";\r\n\r\n return this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n }\r\n\r\n getJaceIdentity(): JaceIdentity {\r\n if(this.ANONYMOUS_MODE)\r\n return null;\r\n\r\n let token = this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n if (!token)\r\n return null;\r\n\r\n let base64Url = token.split(\".\")[1];\r\n let base64 = base64Url.replace(\"-\", \"+\").replace(\"_\", \"/\");\r\n let tokenData = JSON.parse(decodeURIComponent(window.atob(base64).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\")));\r\n\r\n let identity: JaceIdentity = new JaceIdentity(this.accountScope);\r\n identity.IdActor = tokenData.ACTORID;\r\n identity.IdActorRole = tokenData.ACTORROLEID;\r\n identity.IdAccount = tokenData.ACCOUNTID;\r\n identity.IdUser = tokenData.USERID;\r\n identity.DsUser = tokenData.USERNAME;\r\n identity.FullName = tokenData.USERDESCRIPTION;\r\n identity.Idtenant = tokenData.TENANT;\r\n identity.TenantName = tokenData.TENANTNAME;\r\n identity.ExpirationTime = new Date(tokenData.exp * 1000);//unix-epoch in secondi -> millisecondi\r\n\r\n return identity;\r\n }\r\n\r\n //Accesstoken fittizio ma valido, per simulare la connession corretta col backend\r\n private getFakeToken(): string {\r\n\r\n /* Il Token generato è il seguente:\r\n\r\n {\r\n \"nbf\": 1590415846,\r\n \"exp\": 1990420065,\r\n \"iss\": \"http://authapi.jace.energysoftware.priv\",\r\n \"aud\": [ \"http://authapi.jace.energysoftware.priv/resources\", \"authentication\" ],\r\n \"client_id\": \"application\",\r\n \"sub\": \"1003\",\r\n \"auth_time\": 1590415846,\r\n \"idp\": \"local\",\r\n \"ACCOUNTID\": \"1003\",\r\n \"USERID\": \"259\",\r\n \"USERDESCRIPTION\": \"Test User\",\r\n \"USERNAME\": \"TEST\",\r\n \"TENANT\": \"FX\",\r\n \"TENANTNAME\": \"Fenix Srl\",\r\n \"jti\": \"0e5307561606e444e2885b11a3144421\",\r\n \"scope\": [ \"auth\", \"offline_access\" ],\r\n \"amr\": [\"password\" ],\r\n \"iat\": 1590416465\r\n }\r\n */\r\n return \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE1OTA0MTU4NDYsImV4cCI6MTk5MDQyMDA2NSwiaXNzIjoiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYiLCJhdWQiOlsiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYvcmVzb3VyY2VzIiwiYXV0aGVudGljYXRpbyJdLCJjbGllbnRfaWQiOiJtZXRlcmluZ3N0YWdpbmciLCJzdWIiOiIxMDAzIiwiYXV0aF90aW1lIjoxNTkwNDE1ODQ2LCJpZHAiOiJsb2NhbCIsIkFDQ09VTlRJRCI6IjEwMDMiLCJVU0VSSUQiOiIyNTkiLCJVU0VSREVTQ1JJUFRJT04iOiJUZXN0IFVzZXIiLCJVU0VSTkFNRSI6IlRFU1QiLCJURU5BTlQiOiJGWCIsIlRFTkFOVE5BTUUiOiJGZW5peCBTcmwiLCJqdGkiOiIwZTUzMDc1NjE2MDZlNDQ0ZTI4ODViMTFhMzE0NDQyMSIsInNjb3BlIjpbImF1dGgiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicGFzc3dvcmQiXSwiaWF0IjoxNTkwNDE2NDY1fQ.aev_Txa9tIaEZvZ_KWDqb2Ob95Nf-3rqsNyJX4BPKXE\";\r\n }\r\n\r\n private getFakeAccountScope(): AccountScope {\r\n let accountScope = {\r\n \"modules\": [\r\n {\r\n \"idmodule\": 36,\r\n \"dsname\": \"Auth\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"auth\"\r\n },\r\n {\r\n \"idmodule\": 14,\r\n \"dsname\": \"Compliance Dati Catastali\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"complianceade\"\r\n },\r\n {\r\n \"idmodule\": 2,\r\n \"dsname\": \"Forecasting & Metering\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"mdm\"\r\n },\r\n {\r\n \"idmodule\": 48,\r\n \"dsname\": \"Sales Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sales\"\r\n },\r\n {\r\n \"idmodule\": 42,\r\n \"dsname\": \"SII Connector\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sii\"\r\n },\r\n {\r\n \"idmodule\": 5,\r\n \"dsname\": \"Billing\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"billing\"\r\n },\r\n {\r\n \"idmodule\": 7,\r\n \"dsname\": \"Cost checking & Reconciliation\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"ccr\"\r\n },\r\n {\r\n \"idmodule\": 8,\r\n \"dsname\": \"Compliance REMIT\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"remit\"\r\n },\r\n {\r\n \"idmodule\": 51,\r\n \"dsname\": \"CRM\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"crm\"\r\n },\r\n {\r\n \"idmodule\": 11,\r\n \"dsname\": \"Compliance ARERA\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"compliance\"\r\n },\r\n {\r\n \"idmodule\": 54,\r\n \"dsname\": \"Partner Portal\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"pp\"\r\n },\r\n {\r\n \"idmodule\": 35,\r\n \"dsname\": \"Scheduler\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"scheduler\"\r\n },\r\n {\r\n \"idmodule\": 34,\r\n \"dsname\": \"Jace Dashboard\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"jace\"\r\n },\r\n {\r\n \"idmodule\": 1,\r\n \"dsname\": \"Market Data\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"marketdata\"\r\n },\r\n {\r\n \"idmodule\": 31,\r\n \"dsname\": \"Toolset\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"toolset\"\r\n },\r\n {\r\n \"idmodule\": 32,\r\n \"dsname\": \"Customer Portal Admin\",\r\n \"dscategory\": \"Administration\",\r\n \"idmodulealt\": \"customerportal\"\r\n },\r\n {\r\n \"idmodule\": 10,\r\n \"dsname\": \"Compliance Dogane\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"dogane\"\r\n },\r\n {\r\n \"idmodule\": 40,\r\n \"dsname\": \"Data Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"dmg\"\r\n },\r\n {\r\n \"idmodule\": 12,\r\n \"dsname\": \"Credit Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"credit\"\r\n },\r\n {\r\n \"idmodule\": 52,\r\n \"dsname\": \"Business Process Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"BPM\"\r\n },\r\n {\r\n \"idmodule\": 46,\r\n \"dsname\": \"Logistic\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"lgs\"\r\n }\r\n ],\r\n \"roles\": [\r\n {\r\n \"idrole\": 1,\r\n \"idrolealt\": \"Tenant Admin\",\r\n \"dsrole\": \"Tenant Admin\",\r\n \"dsnote\": \"Per generici permessi di amministrazione/configurazione di un modulo: Es. Billi\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-05-02T11:03:35+02:00\"),\r\n \"syuserins\": \"AUTH\"\r\n },\r\n {\r\n \"idrole\": 9,\r\n \"idrolealt\": \"Tenant Reader\",\r\n \"dsrole\": \"Tenant Reader\",\r\n \"dsnote\": \"Per generico permesso di lettura su tutti i moduli abilitati del Tenant\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:13:38+02:00\"),\r\n \"syuserins\": \"FRANCEM\",\r\n \"sydataupd\": new Date(\"2018-12-03T19:42:41+01:00\"),\r\n \"syuserupd\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 11,\r\n \"idrolealt\": \"Compl. ARERA Reader\",\r\n \"dsrole\": \"Compl. ARERA Reader\",\r\n \"dsnote\": \"Permesso di lettura al solo modulo Compl. ARERA\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:22:56+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 13,\r\n \"idrolealt\": \"Compl. ARERA Writer L1\",\r\n \"dsrole\": \"Compl. ARERA Writer L1\",\r\n \"dsnote\": \"Responsabile business del modulo Compl. ARERA: può chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:15+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 15,\r\n \"idrolealt\": \"Compl. ARERA Writer L2\",\r\n \"dsrole\": \"Compl. ARERA Writer L2\",\r\n \"dsnote\": \"Operatore business del modulo Compl. ARERA: può elaborare, ma non chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:27+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 28,\r\n \"idrolealt\": \"Jace Admin\",\r\n \"dsrole\": \"Jace Admin\",\r\n \"dsnote\": \"Amministratore generico per l'intera suite.\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-25T17:20:41+02:00\"),\r\n \"syuserins\": \"RIVOLAM\"\r\n },\r\n {\r\n \"idrole\": 88,\r\n \"idrolealt\": \"Metering: Reader\",\r\n \"dsrole\": \"Metering: Reader\",\r\n \"dsnote\": \"Sola lettura\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:12+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 89,\r\n \"idrolealt\": \"Metering: Writer L1\",\r\n \"dsrole\": \"Metering: Writer L1\",\r\n \"dsnote\": \"Gestione entità semplici\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:17+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 90,\r\n \"idrolealt\": \"Metering: Writer L2\",\r\n \"dsrole\": \"Metering: Writer L2\",\r\n \"dsnote\": \"Gestione entità complesse\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:21+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 91,\r\n \"idrolealt\": \"Metering: Admin\",\r\n \"dsrole\": \"Metering: Admin\",\r\n \"dsnote\": \"Customizzazione\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:29+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 269,\r\n \"idrolealt\": \"dgn_op\",\r\n \"dsrole\": \"Dogane Operator\",\r\n \"dsnote\": \"Consente di fare operazioni come ad esempio generare un pagamento massivo, una comunicazione massiva o modificare le posizioni / comunicaizoni\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-07-01T12:31:32+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 349,\r\n \"idrolealt\": \"cost_admin\",\r\n \"dsrole\": \"Costchecking Writer L2\",\r\n \"dsnote\": \"Ruolo di admin per il costchecking che consente di utilizzare qualunque funzionalità del modulo\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-17T09:44:48+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 370,\r\n \"idrolealt\": \"toolset_reader\",\r\n \"dsrole\": \"Toolset Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-24T10:48:33+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 489,\r\n \"idrolealt\": \"lgs_read\",\r\n \"dsrole\": \"Logistica Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:50:54+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 491,\r\n \"idrolealt\": \"lgs_md_write\",\r\n \"dsrole\": \"Logistica Writer Ana\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:51:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 492,\r\n \"idrolealt\": \"lgs_eap_write\",\r\n \"dsrole\": \"Logistica Writer Aggr\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:52:46+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 493,\r\n \"idrolealt\": \"lgs_pce\",\r\n \"dsrole\": \"Logistica Writer PCE\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 494,\r\n \"idrolealt\": \"lgs_ipex\",\r\n \"dsrole\": \"Logistica Writer IPEX\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:18+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 495,\r\n \"idrolealt\": \"lgs_invauth\",\r\n \"dsrole\": \"Logistica Writer Benestari GME\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:30+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 496,\r\n \"idrolealt\": \"lgs_terna\",\r\n \"dsrole\": \"Logistica Writer Settlement Terna\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:44+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 497,\r\n \"idrolealt\": \"lgs_writer_full\",\r\n \"dsrole\": \"Logistica Full Writer\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:56+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 688,\r\n \"idrolealt\": \"blg_business\",\r\n \"dsrole\": \"Billing Business\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-09-20T09:26:42+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 708,\r\n \"idrolealt\": \"cus_admin\",\r\n \"dsrole\": \"CustomerPortal Admin\",\r\n \"dsnote\": \"Amministrazione utenti CustomerPortal\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-11-16T10:17:01+01:00\"),\r\n \"syuserins\": \"TURCHII\"\r\n },\r\n {\r\n \"idrole\": 808,\r\n \"idrolealt\": \"crm_fo_rd\",\r\n \"dsrole\": \"CRM FrontOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:34+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 809,\r\n \"idrolealt\": \"crm_bo_rd\",\r\n \"dsrole\": \"CRM BackOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:45+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 810,\r\n \"idrolealt\": \"crm_bo_wr_l1\",\r\n \"dsrole\": \"CRM BackOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:52+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 811,\r\n \"idrolealt\": \"crm_bo_wr_l2\",\r\n \"dsrole\": \"CRM BackOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:59+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 812,\r\n \"idrolealt\": \"crm_fo_wr_l1\",\r\n \"dsrole\": \"CRM FrontOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:04+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 813,\r\n \"idrolealt\": \"crm_fo_wr_l2\",\r\n \"dsrole\": \"CRM FrontOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:09+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n }\r\n ],\r\n \"permissions\": [\r\n {\r\n \"idpermission\": 51,\r\n \"dspermission\": \"Operazioni massive forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_mass_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 134,\r\n \"dspermission\": \"Dogane apri / chiudi posizioni\",\r\n \"idpermissionalt\": \"dgn_pos_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 211,\r\n \"dspermission\": \"Scarico dati sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_dl\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 271,\r\n \"dspermission\": \"Dogane Elimina Importazione\",\r\n \"idpermissionalt\": \"dgn_flow_delete\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 131,\r\n \"dspermission\": \"Dogane Read\",\r\n \"idpermissionalt\": \"dgn_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 133,\r\n \"dspermission\": \"Dogane operazioni su rate e pagamenti \",\r\n \"idpermissionalt\": \"dgn_payments_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 291,\r\n \"dspermission\": \"Logistica - modifica dati anagrafica\",\r\n \"idpermissionalt\": \"lgs_md_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 292,\r\n \"dspermission\": \"Logistica - lettura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 293,\r\n \"dspermission\": \"Logistica - scrittura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 294,\r\n \"dspermission\": \"Logistica - lettura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 296,\r\n \"dspermission\": \"Logistica - scrittura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 297,\r\n \"dspermission\": \"Logistica - lettura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 298,\r\n \"dspermission\": \"Logistica - scrittura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 299,\r\n \"dspermission\": \"Logistica - lettura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 300,\r\n \"dspermission\": \"Logistica - scrittura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 301,\r\n \"dspermission\": \"Logistica - Gestione servizi\",\r\n \"idpermissionalt\": \"lgs_gme_services\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 302,\r\n \"dspermission\": \"Logistica - Lettura\",\r\n \"idpermissionalt\": \"lgs_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 303,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati/chiusure\",\r\n \"idpermissionalt\": \"lgs_eap_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 304,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati - riaperture\",\r\n \"idpermissionalt\": \"lgs_eap_reopen\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 411,\r\n \"dspermission\": \"Billing - Lettura dati 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 511,\r\n \"dspermission\": \"CRM Cap/Floor\",\r\n \"idpermissionalt\": \"crm_capfloor\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 611,\r\n \"dspermission\": \"Crm - Mandati SEDA lettura\",\r\n \"idpermissionalt\": \"crm_back_seda_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 613,\r\n \"dspermission\": \"Crm - Mandati SEDA scrittura\",\r\n \"idpermissionalt\": \"crm_back_seda_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 172,\r\n \"dspermission\": \"Costchecking Writer L1\",\r\n \"idpermissionalt\": \"ccc_writer_l1\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 173,\r\n \"dspermission\": \"Costchecking Writer L2\",\r\n \"idpermissionalt\": \"ccc_writer_l2\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 171,\r\n \"dspermission\": \"Costchecking Reader\",\r\n \"idpermissionalt\": \"ccc_reader\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 471,\r\n \"dspermission\": \"Crm - Lead lettura\",\r\n \"idpermissionalt\": \"crm_lead_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 472,\r\n \"dspermission\": \"Crm - Lead scrittura\",\r\n \"idpermissionalt\": \"crm_lead_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 473,\r\n \"dspermission\": \"Crm - Opportunity lettura\",\r\n \"idpermissionalt\": \"crm_opp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 474,\r\n \"dspermission\": \"Crm - Opportunity scrittura\",\r\n \"idpermissionalt\": \"crm_opp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 475,\r\n \"dspermission\": \"Crm - Controparti lettura\",\r\n \"idpermissionalt\": \"crm_prt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 476,\r\n \"dspermission\": \"Crm - Controparti scrittura\",\r\n \"idpermissionalt\": \"crm_prt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 477,\r\n \"dspermission\": \"Crm - Punti lettura\",\r\n \"idpermissionalt\": \"crm_sp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 478,\r\n \"dspermission\": \"Crm - Punti scrittura\",\r\n \"idpermissionalt\": \"crm_sp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 479,\r\n \"dspermission\": \"Crm - Contatti lettura\",\r\n \"idpermissionalt\": \"crm_cnt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 480,\r\n \"dspermission\": \"Crm - Contatti scrittura\",\r\n \"idpermissionalt\": \"crm_cnt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 481,\r\n \"dspermission\": \"Crm - Case lettura\",\r\n \"idpermissionalt\": \"crm_cas_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 482,\r\n \"dspermission\": \"Crm - Case scrittura\",\r\n \"idpermissionalt\": \"crm_cas_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 483,\r\n \"dspermission\": \"Crm - Richieste lettura\",\r\n \"idpermissionalt\": \"crm_bpm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 484,\r\n \"dspermission\": \"Crm - Richieste scrittura\",\r\n \"idpermissionalt\": \"crm_bpm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 485,\r\n \"dspermission\": \"Crm - Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_prd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 486,\r\n \"dspermission\": \"Crm - Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_prd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 487,\r\n \"dspermission\": \"Crm - Tipi prodotti lettura\",\r\n \"idpermissionalt\": \"crm_tprd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 488,\r\n \"dspermission\": \"Crm - Tipi prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_tprd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 489,\r\n \"dspermission\": \"Crm - Contratti lettura\",\r\n \"idpermissionalt\": \"crm_ctr_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 490,\r\n \"dspermission\": \"Crm - Contratti scrittura\",\r\n \"idpermissionalt\": \"crm_ctr_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 491,\r\n \"dspermission\": \"Crm - Campagne lettura\",\r\n \"idpermissionalt\": \"crm_cmp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 492,\r\n \"dspermission\": \"Crm - Campagne scrittura\",\r\n \"idpermissionalt\": \"crm_cmp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 493,\r\n \"dspermission\": \"Crm - Email services lettura\",\r\n \"idpermissionalt\": \"crm_email_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 494,\r\n \"dspermission\": \"Crm - Email services scrittura\",\r\n \"idpermissionalt\": \"crm_email_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 495,\r\n \"dspermission\": \"Crm - Backoffice lettura\",\r\n \"idpermissionalt\": \"crm_back_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 496,\r\n \"dspermission\": \"Crm - Backoffice scrittura\",\r\n \"idpermissionalt\": \"crm_back_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 497,\r\n \"dspermission\": \"Crm - Backoffice amministrazione lettura\",\r\n \"idpermissionalt\": \"crm_back_adm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 499,\r\n \"dspermission\": \"Crm - Backoffice amministrazione scrittura\",\r\n \"idpermissionalt\": \"crm_back_adm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 500,\r\n \"dspermission\": \"Crm - File import\",\r\n \"idpermissionalt\": \"crm_import\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 571,\r\n \"dspermission\": \"Crm - Backoffice Banche scrittura\",\r\n \"idpermissionalt\": \"crm_back_banks_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 572,\r\n \"dspermission\": \"Crm - Backoffice Banche lettura\",\r\n \"idpermissionalt\": \"crm_back_banks_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 573,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento scrittura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 574,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento lettura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 575,\r\n \"dspermission\": \"Crm - Backoffice Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_back_products_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 576,\r\n \"dspermission\": \"Crm - Backoffice Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_back_products_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 591,\r\n \"dspermission\": \"Crm - Backend Aggiungi/Modifica CAB\",\r\n \"idpermissionalt\": \"crm_back_cab_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 14,\r\n \"dspermission\": \"Operazioni base metering\",\r\n \"idpermissionalt\": \"mdm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 15,\r\n \"dspermission\": \"Operazioni massive metering\",\r\n \"idpermissionalt\": \"mdm_mass_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 16,\r\n \"dspermission\": \"Operazioni avanzate metering\",\r\n \"idpermissionalt\": \"mdm_adv_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 17,\r\n \"dspermission\": \"Operazioni forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 18,\r\n \"dspermission\": \"Operazioni configurazione base metering\",\r\n \"idpermissionalt\": \"mdm_cfg_base\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 19,\r\n \"dspermission\": \"Operazioni configurazione avanzata metering\",\r\n \"idpermissionalt\": \"mdm_cfg_adv\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 21,\r\n \"dspermission\": \"Operazioni customizzazione metering\",\r\n \"idpermissionalt\": \"mdm_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 22,\r\n \"dspermission\": \"Visualizzazione dati metering\",\r\n \"idpermissionalt\": \"mdm_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 151,\r\n \"dspermission\": \"Dogane Operazioni Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 153,\r\n \"dspermission\": \"Dogane Admin Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 154,\r\n \"dspermission\": \"Dogane Operazioni Pagamenti Massivi\",\r\n \"idpermissionalt\": \"dgn_pag_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 155,\r\n \"dspermission\": \"Dogane Pagamenti Retro\",\r\n \"idpermissionalt\": \"dgn_pag_rt\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 156,\r\n \"dspermission\": \"Dogane Pagamenti Admin\",\r\n \"idpermissionalt\": \"dgn_pag_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 157,\r\n \"dspermission\": \"Dogane Dichiarazioni di consumo Read\",\r\n \"idpermissionalt\": \"dgn_dich_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 158,\r\n \"dspermission\": \"Dogane Operazioni Dichiarazioni di consumo\",\r\n \"idpermissionalt\": \"dgn_dich_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 159,\r\n \"dspermission\": \"Dogane Cod. Ditta Read\",\r\n \"idpermissionalt\": \"dgn_codditta_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 161,\r\n \"dspermission\": \"Dogane modifica template\",\r\n \"idpermissionalt\": \"dgn_templ_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 162,\r\n \"dspermission\": \"Dogane gestione credito\",\r\n \"idpermissionalt\": \"dgn_pos_credit_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 231,\r\n \"dspermission\": \"Dogane Import Read\",\r\n \"idpermissionalt\": \"dgn_import_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 232,\r\n \"dspermission\": \"Dogane Import Writer\",\r\n \"idpermissionalt\": \"dgn_import_writer\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 305,\r\n \"dspermission\": \"Logistica - Scrittura generica (es: import file, ecc.)\",\r\n \"idpermissionalt\": \"lgs_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 306,\r\n \"dspermission\": \"Logistica - permessi admin\",\r\n \"idpermissionalt\": \"lgs_admin\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 431,\r\n \"dspermission\": \"Billing - Riesegui 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_exec\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 501,\r\n \"dspermission\": \"AutoConsumo Diffuso - lettura\",\r\n \"idpermissionalt\": \"acd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 1,\r\n \"dspermission\": \"Gestione utenti tenant\",\r\n \"idpermissionalt\": \"manage_user\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 2,\r\n \"dspermission\": \"View moduli tenant\",\r\n \"idpermissionalt\": \"manage_modules\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 192,\r\n \"dspermission\": \"Modifica configurazione sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 132,\r\n \"dspermission\": \"Dogane esegui data checks\",\r\n \"idpermissionalt\": \"dgn_datachecks_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 191,\r\n \"dspermission\": \"Lettura info AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 31,\r\n \"dspermission\": \"Visualizzazione dati avanzati metering\",\r\n \"idpermissionalt\": \"mdm_adv_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 32,\r\n \"dspermission\": \"Visualizzazione configurazione metering\",\r\n \"idpermissionalt\": \"mdm_cfg_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 33,\r\n \"dspermission\": \"Operazioni massive eliminazione metering\",\r\n \"idpermissionalt\": \"mdm_mass_del\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 135,\r\n \"dspermission\": \"Dogane Operazioni su Forniture\",\r\n \"idpermissionalt\": \"dgn_for_op\",\r\n \"sydatains\": null\r\n }\r\n ]\r\n }\r\n return accountScope;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { KeyValue, SearchResultContainer } from \"@esfaenza/core/domain\";\r\n\r\n// Rxjs\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class GlobalSearchService {\r\n public Enabled: boolean = false;\r\n\r\n /**\r\n * Effettua una ricerca in base a un termine generico\r\n * \r\n * @param term Termine da cercare\r\n * @returns {SearchResultContainer} Contenitore della ricerca\r\n */\r\n public search(term: string): Observable<SearchResultContainer> {\r\n return of(null);\r\n }\r\n\r\n /**\r\n * Data la definizione semplice di una colonna restituisce un oggetto che indica se bisogna presentere un link su di essa\r\n * \r\n * @param column Colonna per cui verificare la presentazione di un link. Esempio: {id: \"IDPARTY\", description: \"Cod. Controparte\"}\r\n * @returns {{ routePath: string, routeProperties: string[] }} Oggetto che indica un link con i propri binding. Ad esempio: {routePath: \"['/pages/parties/parties_details', { 'idModel': '{0}' }]\", routeProperties: [\"IDPARTY\"]}\r\n */\r\n public generateColumnLink(column: KeyValue): { routePath: string, routeProperties: string[] } {\r\n return null;\r\n }\r\n}","// Angular\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions\r\n\r\n@Injectable()\r\nexport class APPErrorHandler implements ErrorHandler {\r\n private router;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error) {\r\n if (this.router == null)\r\n this.router = this.injector.get(Router);\r\n\r\n //Ignoro eventuali errori di javascript quando il redirect è attivo\r\n if (myconfig && myconfig.redirectInProgress) {\r\n console.log(\"Javascript error on redirect in progress, ignoring this event\");\r\n return;\r\n }\r\n\r\n //In caso io abbia impostato succesresultmandatory nell'httprequest e questa abbia dato errore tiro fuori un exception che dev'essere mostrata come si deve\r\n var newError = \"\";\r\n if (!error.message && !error.stack)\r\n newError = error\r\n else if (error instanceof HttpErrorResponse)\r\n newError = error.message;\r\n else\r\n newError = error.stack && error.stack.length > 1000 ? error.stack.substring(0, 999) + \"[...]\" : error.stack;\r\n\r\n var pars = { errorMessage: this.b64EncodeUnicode(newError), fromUrl: this.router.url };\r\n this.router.navigate([`err/9999`, pars]);\r\n }\r\n\r\n b64EncodeUnicode(str) {\r\n // first we use encodeURIComponent to get percent-encoded UTF-8,\r\n // then we convert the percent encodings into raw bytes which\r\n // can be fed into btoa.\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n }\r\n}","// Angular\r\nimport { Injectable, NgZone } from \"@angular/core\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OutZoneEventPlugin {\r\n\r\n constructor(private zone: NgZone) { }\r\n\r\n supports(eventName: string): boolean {\r\n return eventName.endsWith('out-zone');\r\n }\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n let eventOriginalName = eventName.split('.')[0];\r\n let standardHandler = (event: Event) => originalHandler(event)\r\n if (eventName.endsWith('out-zone'))\r\n this.zone.runOutsideAngular(() => { element.addEventListener(eventOriginalName, standardHandler); });\r\n else\r\n element.addEventListener(eventOriginalName, standardHandler)\r\n\r\n return () => element.removeEventListener(eventOriginalName, standardHandler);\r\n }\r\n}","import { Injectable, Injector } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensionsLoc extends LocalizationService {\r\n constructor(injector: Injector) {\r\n super(injector);\r\n super.set(\"it->en\", \"Il Server sembra essere offline, prova a ricaricare la pagina\", [\"Server seems to be offline, try to reload this page\"]);\r\n }\r\n}","// Angular\r\nimport { ActivatedRouteSnapshot, Router } from \"@angular/router\";\r\nimport { Inject, Injectable, Injector, signal } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseMessageService, NotificationsService, JobProgressDto } from \"@esfaenza/signalr-notifications\";\r\nimport { InboundMessageTypes, InterComMessage, InterComService } from \"@esfaenza/extensions\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { AppEmbeddingExtensions } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Core\r\nimport { ActiveModuleView, ANONYMOUS_MODE, ApplicationJob, EnvOptions, JaceIdentity, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Subject, filter } from \"rxjs\";\r\n\r\ndeclare var dayjs: any;\r\ndeclare var myconfig: EnvOptions;\r\n\r\n// Chiamate ai Repository\r\nconst GET_Jace_GetActiveJaceModules: string = \"/api/Jace/GetActiveJaceModules\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class AppState {\r\n\r\n public sidebarWidth: number;\r\n public headerHeight: number;\r\n\r\n public graphicEffects = signal(true);\r\n\r\n public redirectingToLogin: boolean = false;\r\n public handlingError: boolean = false;\r\n public christmasTime = signal(false);\r\n public halloweenTime = signal(false);\r\n\r\n private SessionIdentity: string;\r\n private JaceIdentity: JaceIdentity;\r\n\r\n public jobsInProgress: number = 0;\r\n public allJobs: ApplicationJob[] = [];\r\n private jobWithIdsCache: { [index: string]: ApplicationJob } = {};\r\n public notifyOnCompletedJobs: boolean = true;\r\n\r\n private _data = new Subject<Object>();\r\n private _subscriptions: Map<string, Array<Function>> = new Map<string, Array<Function>>();\r\n\r\n public ModulesLocalizations: { [id: string]: LocalizationService } = {};\r\n\r\n private _modules: ActiveModuleView[];\r\n public set Modules(modules: ActiveModuleView[]) {\r\n this._modules = modules;\r\n this.notifyDataChanged(\"modules.Retrieved\", this._modules);\r\n }\r\n public get Modules(): ActiveModuleView[] { return this._modules; }\r\n\r\n constructor(\r\n private router: Router, private lc: LocalizationService, private inj: Injector, private bts: TokenService, private notifications: NotificationsService, private MessageDef: BaseMessageService,\r\n private intercom: InterComService, private emb: AppEmbeddingExtensions, @Inject(USE_FAKE_ACCESS_TOKEN) private fakeToken: boolean, @Inject(ANONYMOUS_MODE) private anonymousMode: boolean) {\r\n\r\n this.hookEmbedding();\r\n\r\n this.setupSignalRJobListening();\r\n this.getActiveJaceModules();\r\n\r\n this.JaceIdentity = null;\r\n this._data.subscribe((data) => this._onEvent(data));\r\n\r\n //Decide se siamo attorno a natale\r\n var today = dayjs();\r\n var thisYear = today.year();\r\n var lowerBound = dayjs(\"18/12/\" + thisYear, \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"07/01/\" + (thisYear + 1), \"DD/MM/YYYY\");\r\n this.christmasTime.set(today > lowerBound && today < upperBound);\r\n\r\n //Decide se siamo attorno ad halloween\r\n var lowerBound = dayjs(\"28/10/\" + thisYear, \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"05/11/\" + thisYear, \"DD/MM/YYYY\");\r\n this.halloweenTime.set(today > lowerBound && today < upperBound);\r\n\r\n this.intercom.inbounds.subscribe((t: InterComMessage) => { this.handleInboundMessage(t); });\r\n }\r\n\r\n getActiveJaceModules() {\r\n // Recupero i moduli dopo un frame. mi assicuro che l'injection tree sia stabile. \r\n // Altrimenti l'httpservice che prende l'httpserviceextensions providato da core quando anche l'appstate è providedin root\r\n // si incasina e va in loop\r\n requestAnimationFrame(() => {\r\n let http = this.inj.get(HTTPService)\r\n if (this.fakeToken) {\r\n this.Modules = [new ActiveModuleView(\"Modulo Esempio 1\"), new ActiveModuleView(\"Modulo Esempio 2\"), new ActiveModuleView(\"Modulo Esempio 3\")];\r\n this.Modules = this.Modules;\r\n return;\r\n }\r\n\r\n http.get<ActiveModuleView[]>(GET_Jace_GetActiveJaceModules).subscribe(res => {\r\n this.Modules = res;\r\n this.Modules = this.Modules;\r\n });\r\n })\r\n }\r\n\r\n // Collego le informazioni dell'embedding che devono appoggiarsi all'app state in modo che possano comunicare col resto dell'applicazione\r\n hookEmbedding() {\r\n this.emb.MessageObserver.pipe(filter(ev => ev.event == \"navigation\")).subscribe(event => {\r\n var navigationOp = event?.data?.internalNavigation ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\";\r\n this.notifyDataChanged(navigationOp, event?.data?.title);\r\n });\r\n\r\n this.emb.MessageObserver.pipe(filter(ev => ev.event == \"window-message\")).subscribe(event => {\r\n this.notifyDataChanged(\"window-message\", event?.data);\r\n });\r\n\r\n this._data.pipe(filter(e => (e as any).event == \"menu.isCollapsed\")).subscribe(_ => {\r\n this.emb.refreshBoundariesOnMenuCollapse()\r\n });\r\n }\r\n\r\n // Stesso codice in AppSession, vedere se si può compattare\r\n\r\n /** Tenant§Account§User§APPNAME */\r\n getSessionIdentity(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.getJaceIDentity();\r\n if (!id) {\r\n if(this.anonymousMode)\r\n return \"\";\r\n\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n\r\n registerNavigationIfMeaningful(route?: ActivatedRouteSnapshot) {\r\n let title = route.data[\"title\"];\r\n let internal = route.data[\"internalNavigation\"]\r\n\r\n // Permette di chiamare sto registerNavigation a prescindere e fare opt out se non è una route navigabile\r\n if(!title) return;\r\n\r\n /*\r\n * Parent ({url: [{path: \"{module}\"}]})\r\n * Parent ({url: [{path: \"\"}]}) (Root del modulo lazy)\r\n * -> Navigazione attuale <-\r\n */\r\n let module = route.parent?.parent?.url[0]?.path;\r\n let loc = module ? this.ModulesLocalizations[module] : null;\r\n\r\n if (!module)\r\n console.error(\"Impossibile estrapolare il modulo dalla navigazione (Atteso Modulo al secondo livello di parentela partendo dal componente attuale): \" + route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'));\r\n\r\n this.notifyDataChanged(internal ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", loc ? loc.loc(title) : title);\r\n }\r\n\r\n handleInboundMessage(t: InterComMessage) {\r\n switch (t.type) {\r\n case InboundMessageTypes.Navigation:\r\n this.notifyDataChanged(t.message.sub ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", t.message.routeTitle);\r\n // export const MK_ADM = \"EsAdminModule\";\r\n // AdmMessageTypes.Message = 0;\r\n\r\n // definita in admin-module.\r\n // admin-module usa core quindi referenze circolari no-no-no\r\n this.intercom.send(0, \"Navigation Message Received\", \"EsAdminModule\");\r\n break;\r\n }\r\n }\r\n\r\n setupSignalRJobListening() {\r\n this.notifications.observe(this.MessageDef.IN_JobProgressNotification).subscribe((ev: JobProgressDto) => {\r\n\r\n var identity = this.getJaceIDentity();\r\n if (!identity)\r\n return;\r\n var desc = (ev.description || ev.actionid) + \" (\" + (ev.user || identity.DsUser) + \")\";\r\n let job: ApplicationJob = {\r\n id: ev.instance,\r\n description: desc,\r\n smalldescription: desc.length > 35 ? desc.substring(0, 30) + \"...\" : desc,\r\n percentage: this.roundToTwo(ev.progress),\r\n completed: ev.type == 'Completed',\r\n fileid: ev.resultfile,\r\n reportid: ev.resultreport,\r\n reportpars: ev.resultreportparams,\r\n complexreportid: ev.resultcomplexreport\r\n };\r\n\r\n switch (ev.type) {\r\n case \"Started\":\r\n if (this.jobWithIdsCache[ev.instance]) {\r\n console.warn(\"Job already registered on the 'Started' callback\");\r\n return;\r\n }\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n this.notifyDataChanged(\"app.startedJob\", job.description);\r\n break;\r\n case \"Progress\":\r\n // Se mi arriva un progress di un job che non ho significa che mi sono loggato ora con dei Job in corso\r\n // quindi per prima cosa devo metterlo in lista\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n this.jobWithIdsCache[ev.instance].percentage = this.roundToTwo(ev.progress);\r\n this.notifyDataChanged(\"app.progressJob\", { description: job.description, progress: this.jobWithIdsCache[ev.instance].percentage });\r\n break;\r\n case \"Completed\":\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n var jobToUpdate = this.jobWithIdsCache[ev.instance];\r\n jobToUpdate.percentage = 100;\r\n jobToUpdate.fileid = ev.resultfile;\r\n jobToUpdate.reportid = ev.resultreport;\r\n jobToUpdate.reportpars = ev.resultreportparams;\r\n jobToUpdate.completed = true;\r\n\r\n if (this.notifyOnCompletedJobs)\r\n this.notifyDataChanged(\"app.completedJob\", jobToUpdate.description);\r\n\r\n break;\r\n }\r\n\r\n this.jobsInProgress = this.allJobs.filter(t => !t.completed).length;\r\n });\r\n }\r\n\r\n roundToTwo(num) {\r\n return Math.round(num * 100) / 100;\r\n }\r\n\r\n getJaceIDentity(): JaceIdentity {\r\n if (this.JaceIdentity)\r\n return this.JaceIdentity;\r\n this.JaceIdentity = this.bts.getJaceIdentity();\r\n return this.JaceIdentity;\r\n }\r\n\r\n notifyDataChanged(event, value) {\r\n this._data[event] = value;\r\n this._data.next({\r\n event: event,\r\n data: this._data[event]\r\n });\r\n }\r\n\r\n subscribe(event: string, callback: Function) {\r\n var subscribers = this._subscriptions.get(event) || [];\r\n subscribers.push(callback);\r\n\r\n this._subscriptions.set(event, subscribers);\r\n }\r\n\r\n _onEvent(data: any) {\r\n var subscribers = this._subscriptions.get(data[\"event\"]) || [];\r\n\r\n subscribers.forEach((callback) => {\r\n callback.call(null, data[\"data\"]);\r\n });\r\n }\r\n\r\n public setSidebarWidth(width: number) {\r\n this.sidebarWidth = width;\r\n }\r\n\r\n public setHeaderHeight(height: number) {\r\n this.headerHeight = height;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { HttpServiceExtensions } from \"@esfaenza/httpservice\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { HTTPServiceExtensionsLoc } from \"./app.httpextensions.loc\";\r\nimport { AppState } from \"./app.state\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensions implements HttpServiceExtensions {\r\n\r\n constructor(private lc: LocalizationService, private tks: TokenService, private as: AppState, private router: Router, private ac: AccessControlService, private msgs: MessageService) {\r\n this.lc = this.lc.generateFromType(HTTPServiceExtensionsLoc)\r\n }\r\n\r\n //Gestione Auth\r\n retrieveAccessToken(): string {\r\n return this.tks.getAccessToken().toString();\r\n }\r\n\r\n retrieveIdentity(): { IdUser: string; Idtenant: string; } {\r\n return <any>this.tks.getJaceIdentity();\r\n }\r\n\r\n //Gestione ridirezione al login / altre pagine\r\n readRedirectingToLogin(): boolean {\r\n return this.as.redirectingToLogin;\r\n }\r\n\r\n writeRedirectingToLogin(status: boolean) {\r\n this.as.redirectingToLogin = status;\r\n }\r\n\r\n redirectToLogin(): void {\r\n console.log(\"HTTPServiceExtensions - redirecting to login\");\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n\r\n readRedirectionStatus(): boolean {\r\n return myconfig?.redirectInProgress;\r\n }\r\n\r\n writeRedirectionStatus(status: boolean): void {\r\n myconfig.redirectInProgress = status;\r\n }\r\n\r\n //Gestione error handling flag\r\n readHandlingErrorStatus(): boolean {\r\n return this.as.handlingError;\r\n }\r\n\r\n writeHandlingErrorStatus(status: boolean) {\r\n this.as.handlingError = status;\r\n }\r\n\r\n // 444, se false passa a handleBlockingException\r\n handleNotConfiguredException(): boolean {\r\n if (this.ac.has(\"P:mdm_customize\")) {\r\n myconfig.redirectInProgress = true;\r\n this.as.handlingError = false;\r\n this.router.navigate([\"pages/adm/tenantconfig\"]);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // 400, 403, 404, 444\r\n handleBlockingException(status: number, text: string) {\r\n if (status == 403) {\r\n this.msgs.simpleError(\"Non si dispone dei permessi necessari ad effettuare questa operazione.\")\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n this.msgs.simpleError(status + \": \" + text)\r\n this.as.handlingError = false;\r\n }\r\n }\r\n\r\n // Tutto quello che non è gestito da handleBlockingException\r\n handleException(status: number, text: string) {\r\n if (status == 503) {\r\n this.msgs.simpleError(this.lc.loc(\"Il Server sembra essere offline, prova a ricaricare la pagina\"));\r\n this.as.handlingError = false;\r\n }\r\n else if (status == 542) {\r\n this.msgs.simpleError(text);\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n var st = btoa(encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n var pars = { statusText: st, fromUrl: this.router.url };\r\n this.router.navigate([`err/${status}`, pars]);\r\n }\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationMenu } from \"@esfaenza/core/domain\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuFilteringService {\r\n /**\r\n * Applica un filtro agli elementi di menù in modo da poterli filtrare in base a condizioni arbitrarie (inclusi check lato BE)\r\n * \r\n * @param rawMenus Menù originali, non filtrati\r\n * @returns {Observable<ApplicationMenu[]>} Menù filtrati\r\n */\r\n public filter(rawMenus: ApplicationMenu[]): Observable<ApplicationMenu[]> {\r\n return of(rawMenus);\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationJob } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable()\r\nexport class CompletedJobRedirectionService {\r\n /**\r\n * Effettua un'operazione di redirect basata sul Job Completato\r\n * \r\n * @param completedJob Job appena completato per cui effettuare un redirect\r\n */\r\n public redirect(completedJob: ApplicationJob): void {\r\n\r\n }\r\n}","// Angular\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever } from \"@esfaenza/preferences\";\r\n\r\n// Applicazione\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { ANONYMOUS_MODE, EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SessionRetriever implements BaseSessionRetriever {\r\n\r\n private SessionIdentity: string;\r\n\r\n constructor(private bts: TokenService, private router: Router, @Inject(ANONYMOUS_MODE) private anonymousMode: boolean) { }\r\n\r\n /** Tenant§Account§User§ModuleId */\r\n getSessionKey(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.bts.getJaceIdentity();\r\n if (!id) {\r\n if (this.anonymousMode)\r\n return \"\";\r\n\r\n console.log(\"SessionRetriever - no identity, redirecting to login\")\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, CachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Cache_Sessions: string = \"/api/Cache/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationCachePersistor extends CachePersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Cache_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, PreferencesPersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Preferences_Sessions: string = \"/api/Preferences/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationPreferencesPersistor extends PreferencesPersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Preferences_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n// ES\r\nimport { CallResult, MessageService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Configurazioni\r\nimport { TokenService } from \"../../app.accesstoken\";\r\nimport { firstValueFrom } from \"rxjs\";\r\nimport { UpdatePasswordDto, UpdateProfilePictureDto, UpdateAccountRecoverySettingsDto, UserAccount, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n// Chiamate ai Repository\r\nconst GET_UserProfile_GetAccountPicture: string = \"/api/UserProfile/GetAccountPicture\";\r\nconst POST_UserProfile_UpdateAccountPicture: string = \"/api/UserProfile/UpdateAccountPicture\";\r\nconst POST_UserProfile_UpdateAccountRecoveryInfos: string = \"/api/UserProfile/UpdateAccountRecoveryInfos\";\r\nconst POST_UserProfile_UpdateAccountPassword: string = \"/api/UserProfile/UpdateAccountPassword\";\r\nconst GET_UserProfile_DeleteAccountPicture: string = \"/api/UserProfile/DeleteAccountPicture\";\r\nconst GET_UserProfile_GetEntityAccount: string = \"/api/UserProfile/GetEntityAccount\";\r\n\r\n@Injectable()\r\nexport class UserPreferencesService {\r\n private AccountId: string;\r\n public ProfilePicture: SafeResourceUrl;\r\n\r\n public fakeToken: boolean;\r\n public sanitizer: DomSanitizer;\r\n public http: HTTPService;\r\n public msgExts: MessageService;\r\n\r\n constructor(private injector: Injector) {\r\n let tks = this.injector.get(TokenService);\r\n this.sanitizer = this.injector.get(DomSanitizer);\r\n this.http = this.injector.get(HTTPService);\r\n this.msgExts = this.injector.get(MessageService);\r\n this.fakeToken = this.injector.get(USE_FAKE_ACCESS_TOKEN) || false;\r\n\r\n var identity = tks.getJaceIdentity();\r\n if (identity) {\r\n this.AccountId = identity.IdAccount.toString();\r\n this.doReloadProfilePicture();\r\n }\r\n }\r\n\r\n public async getAccountProfile(): Promise<UserAccount> {\r\n let pars = new HttpParams().set(\"idAccount\", this.AccountId);\r\n let ret = await firstValueFrom(this.http.get<UserAccount>(GET_UserProfile_GetEntityAccount, pars));\r\n return ret;\r\n }\r\n\r\n public async doReloadProfilePicture() {\r\n this.ProfilePicture = null;\r\n let tmpPict = await this.getCurrentProfilePicture();\r\n this.ProfilePicture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64,${tmpPict}`);\r\n }\r\n\r\n public async getCurrentProfilePicture(): Promise<string> {\r\n\r\n // Se fake token restituisco la stock image dell'utente\r\n if (this.fakeToken)\r\n return \"/9j/4AAQSkZJRgABAQEBLAEsAAD/4QCaRXhpZgAASUkqAAgAAAADAA4BAgBQAAAAMgAAABoBBQABAAAAggAAABsBBQABAAAAigAAAAAAAABEZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbiwBAAABAAAALAEAAAEAAAD/4QXHaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj4KCTxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CgkJPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczpJcHRjNHhtcENvcmU9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBDb3JlLzEuMC94bWxucy8iICAgeG1sbnM6R2V0dHlJbWFnZXNHSUZUPSJodHRwOi8veG1wLmdldHR5aW1hZ2VzLmNvbS9naWZ0LzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGx1cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIgIHhtbG5zOmlwdGNFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHBob3Rvc2hvcDpDcmVkaXQ9IkdldHR5IEltYWdlcyIgR2V0dHlJbWFnZXNHSUZUOkFzc2V0SUQ9IjEzMzcxNDQxNDYiIHhtcFJpZ2h0czpXZWJTdGF0ZW1lbnQ9Imh0dHBzOi8vd3d3LmlzdG9ja3Bob3RvLmNvbS9sZWdhbC9saWNlbnNlLWFncmVlbWVudD91dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9zb3VyY2U9Z29vZ2xlJmFtcDt1dG1fY2FtcGFpZ249aXB0Y3VybCIgcGx1czpEYXRhTWluaW5nPSJodHRwOi8vbnMudXNlcGx1cy5vcmcvbGRmL3ZvY2FiL0RNSS1QUk9ISUJJVEVELUVYQ0VQVFNFQVJDSEVOR0lORUlOREVYSU5HIiA+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+TWFyaWEgU2hhcGlsb3ZhPC9yZGY6bGk+PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48ZGM6ZGVzY3JpcHRpb24+PHJkZjpBbHQ+PHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5EZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbjwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOmRlc2NyaXB0aW9uPgo8cGx1czpMaWNlbnNvcj48cmRmOlNlcT48cmRmOmxpIHJkZjpwYXJzZVR5cGU9J1Jlc291cmNlJz48cGx1czpMaWNlbnNvclVSTD5odHRwczovL3d3dy5pc3RvY2twaG90by5jb20vcGhvdG8vbGljZW5zZS1nbTEzMzcxNDQxNDYtP3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX3NvdXJjZT1nb29nbGUmYW1wO3V0bV9jYW1wYWlnbj1pcHRjdXJsPC9wbHVzOkxpY2Vuc29yVVJMPjwvcmRmOmxpPjwvcmRmOlNlcT48L3BsdXM6TGljZW5zb3I+CgkJPC9yZGY6RGVzY3JpcHRpb24+Cgk8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJ3Ij8+Cv/tAJZQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAehwCUAAPTWFyaWEgU2hhcGlsb3ZhHAJ4AFBEZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbhwCbgAMR2V0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\";\r\n\r\n let pictureb64 = await firstValueFrom(this.http.get<string>(GET_UserProfile_GetAccountPicture, new HttpParams().set('idAccount', this.AccountId)));\r\n return pictureb64;\r\n }\r\n\r\n public async doUpdateProfilePicture(image: any): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dtoPic = new UpdateProfilePictureDto(this.AccountId);\r\n let cr = await firstValueFrom(this.http.postwithFiles<CallResult>(POST_UserProfile_UpdateAccountPicture, dtoPic, image ?? []));\r\n if (cr.success) this.doReloadProfilePicture();\r\n return cr;\r\n }\r\n\r\n public async doUpdateRecoverySettings(email: string): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dto = new UpdateAccountRecoverySettingsDto(this.AccountId, email);\r\n let cr = await firstValueFrom(this.http.post<CallResult>(POST_UserProfile_UpdateAccountRecoveryInfos, dto));\r\n return cr;\r\n }\r\n\r\n public async doUpdatePassword(oldPassword: string, newPassword: string, newPasswordConfirm: string): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dto = new UpdatePasswordDto(this.AccountId, oldPassword, newPassword, newPasswordConfirm);\r\n let cr = await firstValueFrom(this.http.post<CallResult>(POST_UserProfile_UpdateAccountPassword, dto));\r\n return cr;\r\n }\r\n\r\n public async doDeleteProfilePicture(): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let pars = new HttpParams().set('idAccount', this.AccountId);\r\n let cr = await firstValueFrom(this.http.get<CallResult>(GET_UserProfile_DeleteAccountPicture, pars));\r\n if (cr.success) this.ProfilePicture = null;\r\n return cr;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlRouteGuard, AccessControlService } from \"@esfaenza/access-control\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n@Injectable()\r\nexport class BaseRouterGuard extends AccessControlRouteGuard {\r\n constructor(ms: MessageService, acc: AccessControlService, router: Router, ts: TokenService) {\r\n super(ms, acc, router);\r\n\r\n let identity = ts.getJaceIdentity();\r\n if (!acc.Initialized)\r\n acc.initializeIdentity(identity);\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.TokenService","i2.TokenService","i3.AppState","i4","i5","i6","i3","i4.TokenService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"esfaenza-core-services.mjs","sources":["../../../projects/core/services/src/classes/app.accesstoken.ts","../../../projects/core/services/src/classes/app.globalsearch.ts","../../../projects/core/services/src/classes/app.errorhandler.ts","../../../projects/core/services/src/classes/app.event.ts","../../../projects/core/services/src/classes/app.httpextensions.loc.ts","../../../projects/core/services/src/classes/app.state.ts","../../../projects/core/services/src/classes/app.httpextensions.ts","../../../projects/core/services/src/classes/app.menufilter.ts","../../../projects/core/services/src/classes/app.completedjobredirection.ts","../../../projects/core/services/src/classes/app.session.ts","../../../projects/core/services/src/classes/preferences/app.cache.persistor.ts","../../../projects/core/services/src/classes/preferences/app.preference.persistor.ts","../../../projects/core/services/src/classes/preferences/user/app.userpreferences.base.ts","../../../projects/core/services/src/classes/app.routeguard.ts","../../../projects/core/services/src/esfaenza-core-services.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n// Applicazione\r\nimport { AccountScope, ANONYMOUS_MODE, JaceIdentity, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TokenService {\r\n\r\n public accountScope: AccountScope;\r\n\r\n constructor(public cs: CookieService, @Optional() @Inject(USE_FAKE_ACCESS_TOKEN) public USE_FAKE_ACCESS_TOKEN: boolean, @Optional() @Inject(ANONYMOUS_MODE) public ANONYMOUS_MODE: boolean) {\r\n if (this.USE_FAKE_ACCESS_TOKEN)\r\n this.accountScope = this.getFakeAccountScope();\r\n }\r\n\r\n clearTokens(): void {\r\n this.cs.delete(\"access_token\");\r\n }\r\n\r\n getAccessToken(): String {\r\n if(this.ANONYMOUS_MODE)\r\n return \"\";\r\n\r\n return this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n }\r\n\r\n getJaceIdentity(): JaceIdentity {\r\n if(this.ANONYMOUS_MODE)\r\n return null;\r\n\r\n let token = this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n if (!token)\r\n return null;\r\n\r\n let base64Url = token.split(\".\")[1];\r\n let base64 = base64Url.replace(\"-\", \"+\").replace(\"_\", \"/\");\r\n let tokenData = JSON.parse(decodeURIComponent(window.atob(base64).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\")));\r\n\r\n let identity: JaceIdentity = new JaceIdentity(this.accountScope);\r\n identity.IdActor = tokenData.ACTORID;\r\n identity.IdActorRole = tokenData.ACTORROLEID;\r\n identity.IdAccount = tokenData.ACCOUNTID;\r\n identity.IdUser = tokenData.USERID;\r\n identity.DsUser = tokenData.USERNAME;\r\n identity.FullName = tokenData.USERDESCRIPTION;\r\n identity.Idtenant = tokenData.TENANT;\r\n identity.TenantName = tokenData.TENANTNAME;\r\n identity.ExpirationTime = new Date(tokenData.exp * 1000);//unix-epoch in secondi -> millisecondi\r\n\r\n return identity;\r\n }\r\n\r\n //Accesstoken fittizio ma valido, per simulare la connession corretta col backend\r\n private getFakeToken(): string {\r\n\r\n /* Il Token generato è il seguente:\r\n\r\n {\r\n \"nbf\": 1590415846,\r\n \"exp\": 1990420065,\r\n \"iss\": \"http://authapi.jace.energysoftware.priv\",\r\n \"aud\": [ \"http://authapi.jace.energysoftware.priv/resources\", \"authentication\" ],\r\n \"client_id\": \"application\",\r\n \"sub\": \"1003\",\r\n \"auth_time\": 1590415846,\r\n \"idp\": \"local\",\r\n \"ACCOUNTID\": \"1003\",\r\n \"USERID\": \"259\",\r\n \"USERDESCRIPTION\": \"Test User\",\r\n \"USERNAME\": \"TEST\",\r\n \"TENANT\": \"FX\",\r\n \"TENANTNAME\": \"Fenix Srl\",\r\n \"jti\": \"0e5307561606e444e2885b11a3144421\",\r\n \"scope\": [ \"auth\", \"offline_access\" ],\r\n \"amr\": [\"password\" ],\r\n \"iat\": 1590416465\r\n }\r\n */\r\n return \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE1OTA0MTU4NDYsImV4cCI6MTk5MDQyMDA2NSwiaXNzIjoiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYiLCJhdWQiOlsiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYvcmVzb3VyY2VzIiwiYXV0aGVudGljYXRpbyJdLCJjbGllbnRfaWQiOiJtZXRlcmluZ3N0YWdpbmciLCJzdWIiOiIxMDAzIiwiYXV0aF90aW1lIjoxNTkwNDE1ODQ2LCJpZHAiOiJsb2NhbCIsIkFDQ09VTlRJRCI6IjEwMDMiLCJVU0VSSUQiOiIyNTkiLCJVU0VSREVTQ1JJUFRJT04iOiJUZXN0IFVzZXIiLCJVU0VSTkFNRSI6IlRFU1QiLCJURU5BTlQiOiJGWCIsIlRFTkFOVE5BTUUiOiJGZW5peCBTcmwiLCJqdGkiOiIwZTUzMDc1NjE2MDZlNDQ0ZTI4ODViMTFhMzE0NDQyMSIsInNjb3BlIjpbImF1dGgiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicGFzc3dvcmQiXSwiaWF0IjoxNTkwNDE2NDY1fQ.aev_Txa9tIaEZvZ_KWDqb2Ob95Nf-3rqsNyJX4BPKXE\";\r\n }\r\n\r\n private getFakeAccountScope(): AccountScope {\r\n let accountScope = {\r\n \"modules\": [\r\n {\r\n \"idmodule\": 36,\r\n \"dsname\": \"Auth\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"auth\"\r\n },\r\n {\r\n \"idmodule\": 14,\r\n \"dsname\": \"Compliance Dati Catastali\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"complianceade\"\r\n },\r\n {\r\n \"idmodule\": 2,\r\n \"dsname\": \"Forecasting & Metering\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"mdm\"\r\n },\r\n {\r\n \"idmodule\": 48,\r\n \"dsname\": \"Sales Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sales\"\r\n },\r\n {\r\n \"idmodule\": 42,\r\n \"dsname\": \"SII Connector\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sii\"\r\n },\r\n {\r\n \"idmodule\": 5,\r\n \"dsname\": \"Billing\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"billing\"\r\n },\r\n {\r\n \"idmodule\": 7,\r\n \"dsname\": \"Cost checking & Reconciliation\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"ccr\"\r\n },\r\n {\r\n \"idmodule\": 8,\r\n \"dsname\": \"Compliance REMIT\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"remit\"\r\n },\r\n {\r\n \"idmodule\": 51,\r\n \"dsname\": \"CRM\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"crm\"\r\n },\r\n {\r\n \"idmodule\": 11,\r\n \"dsname\": \"Compliance ARERA\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"compliance\"\r\n },\r\n {\r\n \"idmodule\": 54,\r\n \"dsname\": \"Partner Portal\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"pp\"\r\n },\r\n {\r\n \"idmodule\": 35,\r\n \"dsname\": \"Scheduler\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"scheduler\"\r\n },\r\n {\r\n \"idmodule\": 34,\r\n \"dsname\": \"Jace Dashboard\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"jace\"\r\n },\r\n {\r\n \"idmodule\": 1,\r\n \"dsname\": \"Market Data\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"marketdata\"\r\n },\r\n {\r\n \"idmodule\": 31,\r\n \"dsname\": \"Toolset\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"toolset\"\r\n },\r\n {\r\n \"idmodule\": 32,\r\n \"dsname\": \"Customer Portal Admin\",\r\n \"dscategory\": \"Administration\",\r\n \"idmodulealt\": \"customerportal\"\r\n },\r\n {\r\n \"idmodule\": 10,\r\n \"dsname\": \"Compliance Dogane\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"dogane\"\r\n },\r\n {\r\n \"idmodule\": 40,\r\n \"dsname\": \"Data Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"dmg\"\r\n },\r\n {\r\n \"idmodule\": 12,\r\n \"dsname\": \"Credit Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"credit\"\r\n },\r\n {\r\n \"idmodule\": 52,\r\n \"dsname\": \"Business Process Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"BPM\"\r\n },\r\n {\r\n \"idmodule\": 46,\r\n \"dsname\": \"Logistic\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"lgs\"\r\n }\r\n ],\r\n \"roles\": [\r\n {\r\n \"idrole\": 1,\r\n \"idrolealt\": \"Tenant Admin\",\r\n \"dsrole\": \"Tenant Admin\",\r\n \"dsnote\": \"Per generici permessi di amministrazione/configurazione di un modulo: Es. Billi\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-05-02T11:03:35+02:00\"),\r\n \"syuserins\": \"AUTH\"\r\n },\r\n {\r\n \"idrole\": 9,\r\n \"idrolealt\": \"Tenant Reader\",\r\n \"dsrole\": \"Tenant Reader\",\r\n \"dsnote\": \"Per generico permesso di lettura su tutti i moduli abilitati del Tenant\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:13:38+02:00\"),\r\n \"syuserins\": \"FRANCEM\",\r\n \"sydataupd\": new Date(\"2018-12-03T19:42:41+01:00\"),\r\n \"syuserupd\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 11,\r\n \"idrolealt\": \"Compl. ARERA Reader\",\r\n \"dsrole\": \"Compl. ARERA Reader\",\r\n \"dsnote\": \"Permesso di lettura al solo modulo Compl. ARERA\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:22:56+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 13,\r\n \"idrolealt\": \"Compl. ARERA Writer L1\",\r\n \"dsrole\": \"Compl. ARERA Writer L1\",\r\n \"dsnote\": \"Responsabile business del modulo Compl. ARERA: può chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:15+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 15,\r\n \"idrolealt\": \"Compl. ARERA Writer L2\",\r\n \"dsrole\": \"Compl. ARERA Writer L2\",\r\n \"dsnote\": \"Operatore business del modulo Compl. ARERA: può elaborare, ma non chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:27+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 28,\r\n \"idrolealt\": \"Jace Admin\",\r\n \"dsrole\": \"Jace Admin\",\r\n \"dsnote\": \"Amministratore generico per l'intera suite.\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-25T17:20:41+02:00\"),\r\n \"syuserins\": \"RIVOLAM\"\r\n },\r\n {\r\n \"idrole\": 88,\r\n \"idrolealt\": \"Metering: Reader\",\r\n \"dsrole\": \"Metering: Reader\",\r\n \"dsnote\": \"Sola lettura\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:12+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 89,\r\n \"idrolealt\": \"Metering: Writer L1\",\r\n \"dsrole\": \"Metering: Writer L1\",\r\n \"dsnote\": \"Gestione entità semplici\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:17+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 90,\r\n \"idrolealt\": \"Metering: Writer L2\",\r\n \"dsrole\": \"Metering: Writer L2\",\r\n \"dsnote\": \"Gestione entità complesse\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:21+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 91,\r\n \"idrolealt\": \"Metering: Admin\",\r\n \"dsrole\": \"Metering: Admin\",\r\n \"dsnote\": \"Customizzazione\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:29+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 269,\r\n \"idrolealt\": \"dgn_op\",\r\n \"dsrole\": \"Dogane Operator\",\r\n \"dsnote\": \"Consente di fare operazioni come ad esempio generare un pagamento massivo, una comunicazione massiva o modificare le posizioni / comunicaizoni\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-07-01T12:31:32+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 349,\r\n \"idrolealt\": \"cost_admin\",\r\n \"dsrole\": \"Costchecking Writer L2\",\r\n \"dsnote\": \"Ruolo di admin per il costchecking che consente di utilizzare qualunque funzionalità del modulo\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-17T09:44:48+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 370,\r\n \"idrolealt\": \"toolset_reader\",\r\n \"dsrole\": \"Toolset Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-24T10:48:33+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 489,\r\n \"idrolealt\": \"lgs_read\",\r\n \"dsrole\": \"Logistica Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:50:54+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 491,\r\n \"idrolealt\": \"lgs_md_write\",\r\n \"dsrole\": \"Logistica Writer Ana\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:51:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 492,\r\n \"idrolealt\": \"lgs_eap_write\",\r\n \"dsrole\": \"Logistica Writer Aggr\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:52:46+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 493,\r\n \"idrolealt\": \"lgs_pce\",\r\n \"dsrole\": \"Logistica Writer PCE\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 494,\r\n \"idrolealt\": \"lgs_ipex\",\r\n \"dsrole\": \"Logistica Writer IPEX\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:18+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 495,\r\n \"idrolealt\": \"lgs_invauth\",\r\n \"dsrole\": \"Logistica Writer Benestari GME\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:30+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 496,\r\n \"idrolealt\": \"lgs_terna\",\r\n \"dsrole\": \"Logistica Writer Settlement Terna\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:44+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 497,\r\n \"idrolealt\": \"lgs_writer_full\",\r\n \"dsrole\": \"Logistica Full Writer\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:56+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 688,\r\n \"idrolealt\": \"blg_business\",\r\n \"dsrole\": \"Billing Business\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-09-20T09:26:42+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 708,\r\n \"idrolealt\": \"cus_admin\",\r\n \"dsrole\": \"CustomerPortal Admin\",\r\n \"dsnote\": \"Amministrazione utenti CustomerPortal\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-11-16T10:17:01+01:00\"),\r\n \"syuserins\": \"TURCHII\"\r\n },\r\n {\r\n \"idrole\": 808,\r\n \"idrolealt\": \"crm_fo_rd\",\r\n \"dsrole\": \"CRM FrontOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:34+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 809,\r\n \"idrolealt\": \"crm_bo_rd\",\r\n \"dsrole\": \"CRM BackOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:45+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 810,\r\n \"idrolealt\": \"crm_bo_wr_l1\",\r\n \"dsrole\": \"CRM BackOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:52+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 811,\r\n \"idrolealt\": \"crm_bo_wr_l2\",\r\n \"dsrole\": \"CRM BackOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:59+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 812,\r\n \"idrolealt\": \"crm_fo_wr_l1\",\r\n \"dsrole\": \"CRM FrontOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:04+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 813,\r\n \"idrolealt\": \"crm_fo_wr_l2\",\r\n \"dsrole\": \"CRM FrontOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:09+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n }\r\n ],\r\n \"permissions\": [\r\n {\r\n \"idpermission\": 51,\r\n \"dspermission\": \"Operazioni massive forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_mass_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 134,\r\n \"dspermission\": \"Dogane apri / chiudi posizioni\",\r\n \"idpermissionalt\": \"dgn_pos_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 211,\r\n \"dspermission\": \"Scarico dati sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_dl\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 271,\r\n \"dspermission\": \"Dogane Elimina Importazione\",\r\n \"idpermissionalt\": \"dgn_flow_delete\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 131,\r\n \"dspermission\": \"Dogane Read\",\r\n \"idpermissionalt\": \"dgn_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 133,\r\n \"dspermission\": \"Dogane operazioni su rate e pagamenti \",\r\n \"idpermissionalt\": \"dgn_payments_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 291,\r\n \"dspermission\": \"Logistica - modifica dati anagrafica\",\r\n \"idpermissionalt\": \"lgs_md_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 292,\r\n \"dspermission\": \"Logistica - lettura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 293,\r\n \"dspermission\": \"Logistica - scrittura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 294,\r\n \"dspermission\": \"Logistica - lettura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 296,\r\n \"dspermission\": \"Logistica - scrittura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 297,\r\n \"dspermission\": \"Logistica - lettura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 298,\r\n \"dspermission\": \"Logistica - scrittura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 299,\r\n \"dspermission\": \"Logistica - lettura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 300,\r\n \"dspermission\": \"Logistica - scrittura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 301,\r\n \"dspermission\": \"Logistica - Gestione servizi\",\r\n \"idpermissionalt\": \"lgs_gme_services\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 302,\r\n \"dspermission\": \"Logistica - Lettura\",\r\n \"idpermissionalt\": \"lgs_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 303,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati/chiusure\",\r\n \"idpermissionalt\": \"lgs_eap_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 304,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati - riaperture\",\r\n \"idpermissionalt\": \"lgs_eap_reopen\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 411,\r\n \"dspermission\": \"Billing - Lettura dati 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 511,\r\n \"dspermission\": \"CRM Cap/Floor\",\r\n \"idpermissionalt\": \"crm_capfloor\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 611,\r\n \"dspermission\": \"Crm - Mandati SEDA lettura\",\r\n \"idpermissionalt\": \"crm_back_seda_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 613,\r\n \"dspermission\": \"Crm - Mandati SEDA scrittura\",\r\n \"idpermissionalt\": \"crm_back_seda_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 172,\r\n \"dspermission\": \"Costchecking Writer L1\",\r\n \"idpermissionalt\": \"ccc_writer_l1\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 173,\r\n \"dspermission\": \"Costchecking Writer L2\",\r\n \"idpermissionalt\": \"ccc_writer_l2\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 171,\r\n \"dspermission\": \"Costchecking Reader\",\r\n \"idpermissionalt\": \"ccc_reader\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 471,\r\n \"dspermission\": \"Crm - Lead lettura\",\r\n \"idpermissionalt\": \"crm_lead_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 472,\r\n \"dspermission\": \"Crm - Lead scrittura\",\r\n \"idpermissionalt\": \"crm_lead_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 473,\r\n \"dspermission\": \"Crm - Opportunity lettura\",\r\n \"idpermissionalt\": \"crm_opp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 474,\r\n \"dspermission\": \"Crm - Opportunity scrittura\",\r\n \"idpermissionalt\": \"crm_opp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 475,\r\n \"dspermission\": \"Crm - Controparti lettura\",\r\n \"idpermissionalt\": \"crm_prt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 476,\r\n \"dspermission\": \"Crm - Controparti scrittura\",\r\n \"idpermissionalt\": \"crm_prt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 477,\r\n \"dspermission\": \"Crm - Punti lettura\",\r\n \"idpermissionalt\": \"crm_sp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 478,\r\n \"dspermission\": \"Crm - Punti scrittura\",\r\n \"idpermissionalt\": \"crm_sp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 479,\r\n \"dspermission\": \"Crm - Contatti lettura\",\r\n \"idpermissionalt\": \"crm_cnt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 480,\r\n \"dspermission\": \"Crm - Contatti scrittura\",\r\n \"idpermissionalt\": \"crm_cnt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 481,\r\n \"dspermission\": \"Crm - Case lettura\",\r\n \"idpermissionalt\": \"crm_cas_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 482,\r\n \"dspermission\": \"Crm - Case scrittura\",\r\n \"idpermissionalt\": \"crm_cas_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 483,\r\n \"dspermission\": \"Crm - Richieste lettura\",\r\n \"idpermissionalt\": \"crm_bpm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 484,\r\n \"dspermission\": \"Crm - Richieste scrittura\",\r\n \"idpermissionalt\": \"crm_bpm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 485,\r\n \"dspermission\": \"Crm - Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_prd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 486,\r\n \"dspermission\": \"Crm - Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_prd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 487,\r\n \"dspermission\": \"Crm - Tipi prodotti lettura\",\r\n \"idpermissionalt\": \"crm_tprd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 488,\r\n \"dspermission\": \"Crm - Tipi prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_tprd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 489,\r\n \"dspermission\": \"Crm - Contratti lettura\",\r\n \"idpermissionalt\": \"crm_ctr_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 490,\r\n \"dspermission\": \"Crm - Contratti scrittura\",\r\n \"idpermissionalt\": \"crm_ctr_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 491,\r\n \"dspermission\": \"Crm - Campagne lettura\",\r\n \"idpermissionalt\": \"crm_cmp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 492,\r\n \"dspermission\": \"Crm - Campagne scrittura\",\r\n \"idpermissionalt\": \"crm_cmp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 493,\r\n \"dspermission\": \"Crm - Email services lettura\",\r\n \"idpermissionalt\": \"crm_email_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 494,\r\n \"dspermission\": \"Crm - Email services scrittura\",\r\n \"idpermissionalt\": \"crm_email_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 495,\r\n \"dspermission\": \"Crm - Backoffice lettura\",\r\n \"idpermissionalt\": \"crm_back_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 496,\r\n \"dspermission\": \"Crm - Backoffice scrittura\",\r\n \"idpermissionalt\": \"crm_back_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 497,\r\n \"dspermission\": \"Crm - Backoffice amministrazione lettura\",\r\n \"idpermissionalt\": \"crm_back_adm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 499,\r\n \"dspermission\": \"Crm - Backoffice amministrazione scrittura\",\r\n \"idpermissionalt\": \"crm_back_adm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 500,\r\n \"dspermission\": \"Crm - File import\",\r\n \"idpermissionalt\": \"crm_import\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 571,\r\n \"dspermission\": \"Crm - Backoffice Banche scrittura\",\r\n \"idpermissionalt\": \"crm_back_banks_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 572,\r\n \"dspermission\": \"Crm - Backoffice Banche lettura\",\r\n \"idpermissionalt\": \"crm_back_banks_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 573,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento scrittura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 574,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento lettura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 575,\r\n \"dspermission\": \"Crm - Backoffice Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_back_products_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 576,\r\n \"dspermission\": \"Crm - Backoffice Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_back_products_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 591,\r\n \"dspermission\": \"Crm - Backend Aggiungi/Modifica CAB\",\r\n \"idpermissionalt\": \"crm_back_cab_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 14,\r\n \"dspermission\": \"Operazioni base metering\",\r\n \"idpermissionalt\": \"mdm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 15,\r\n \"dspermission\": \"Operazioni massive metering\",\r\n \"idpermissionalt\": \"mdm_mass_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 16,\r\n \"dspermission\": \"Operazioni avanzate metering\",\r\n \"idpermissionalt\": \"mdm_adv_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 17,\r\n \"dspermission\": \"Operazioni forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 18,\r\n \"dspermission\": \"Operazioni configurazione base metering\",\r\n \"idpermissionalt\": \"mdm_cfg_base\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 19,\r\n \"dspermission\": \"Operazioni configurazione avanzata metering\",\r\n \"idpermissionalt\": \"mdm_cfg_adv\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 21,\r\n \"dspermission\": \"Operazioni customizzazione metering\",\r\n \"idpermissionalt\": \"mdm_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 22,\r\n \"dspermission\": \"Visualizzazione dati metering\",\r\n \"idpermissionalt\": \"mdm_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 151,\r\n \"dspermission\": \"Dogane Operazioni Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 153,\r\n \"dspermission\": \"Dogane Admin Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 154,\r\n \"dspermission\": \"Dogane Operazioni Pagamenti Massivi\",\r\n \"idpermissionalt\": \"dgn_pag_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 155,\r\n \"dspermission\": \"Dogane Pagamenti Retro\",\r\n \"idpermissionalt\": \"dgn_pag_rt\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 156,\r\n \"dspermission\": \"Dogane Pagamenti Admin\",\r\n \"idpermissionalt\": \"dgn_pag_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 157,\r\n \"dspermission\": \"Dogane Dichiarazioni di consumo Read\",\r\n \"idpermissionalt\": \"dgn_dich_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 158,\r\n \"dspermission\": \"Dogane Operazioni Dichiarazioni di consumo\",\r\n \"idpermissionalt\": \"dgn_dich_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 159,\r\n \"dspermission\": \"Dogane Cod. Ditta Read\",\r\n \"idpermissionalt\": \"dgn_codditta_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 161,\r\n \"dspermission\": \"Dogane modifica template\",\r\n \"idpermissionalt\": \"dgn_templ_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 162,\r\n \"dspermission\": \"Dogane gestione credito\",\r\n \"idpermissionalt\": \"dgn_pos_credit_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 231,\r\n \"dspermission\": \"Dogane Import Read\",\r\n \"idpermissionalt\": \"dgn_import_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 232,\r\n \"dspermission\": \"Dogane Import Writer\",\r\n \"idpermissionalt\": \"dgn_import_writer\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 305,\r\n \"dspermission\": \"Logistica - Scrittura generica (es: import file, ecc.)\",\r\n \"idpermissionalt\": \"lgs_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 306,\r\n \"dspermission\": \"Logistica - permessi admin\",\r\n \"idpermissionalt\": \"lgs_admin\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 431,\r\n \"dspermission\": \"Billing - Riesegui 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_exec\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 501,\r\n \"dspermission\": \"AutoConsumo Diffuso - lettura\",\r\n \"idpermissionalt\": \"acd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 1,\r\n \"dspermission\": \"Gestione utenti tenant\",\r\n \"idpermissionalt\": \"manage_user\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 2,\r\n \"dspermission\": \"View moduli tenant\",\r\n \"idpermissionalt\": \"manage_modules\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 192,\r\n \"dspermission\": \"Modifica configurazione sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 132,\r\n \"dspermission\": \"Dogane esegui data checks\",\r\n \"idpermissionalt\": \"dgn_datachecks_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 191,\r\n \"dspermission\": \"Lettura info AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 31,\r\n \"dspermission\": \"Visualizzazione dati avanzati metering\",\r\n \"idpermissionalt\": \"mdm_adv_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 32,\r\n \"dspermission\": \"Visualizzazione configurazione metering\",\r\n \"idpermissionalt\": \"mdm_cfg_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 33,\r\n \"dspermission\": \"Operazioni massive eliminazione metering\",\r\n \"idpermissionalt\": \"mdm_mass_del\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 135,\r\n \"dspermission\": \"Dogane Operazioni su Forniture\",\r\n \"idpermissionalt\": \"dgn_for_op\",\r\n \"sydatains\": null\r\n }\r\n ]\r\n }\r\n return accountScope;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { KeyValue, SearchResultContainer } from \"@esfaenza/core/domain\";\r\n\r\n// Rxjs\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class GlobalSearchService {\r\n public Enabled: boolean = false;\r\n\r\n /**\r\n * Effettua una ricerca in base a un termine generico\r\n * \r\n * @param term Termine da cercare\r\n * @returns {SearchResultContainer} Contenitore della ricerca\r\n */\r\n public search(term: string): Observable<SearchResultContainer> {\r\n return of(null);\r\n }\r\n\r\n /**\r\n * Data la definizione semplice di una colonna restituisce un oggetto che indica se bisogna presentere un link su di essa\r\n * \r\n * @param column Colonna per cui verificare la presentazione di un link. Esempio: {id: \"IDPARTY\", description: \"Cod. Controparte\"}\r\n * @returns {{ routePath: string, routeProperties: string[] }} Oggetto che indica un link con i propri binding. Ad esempio: {routePath: \"['/pages/parties/parties_details', { 'idModel': '{0}' }]\", routeProperties: [\"IDPARTY\"]}\r\n */\r\n public generateColumnLink(column: KeyValue): { routePath: string, routeProperties: string[] } {\r\n return null;\r\n }\r\n}","// Angular\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions\r\n\r\n@Injectable()\r\nexport class APPErrorHandler implements ErrorHandler {\r\n private router;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error) {\r\n if (this.router == null)\r\n this.router = this.injector.get(Router);\r\n\r\n //Ignoro eventuali errori di javascript quando il redirect è attivo\r\n if (myconfig && myconfig.redirectInProgress) {\r\n console.log(\"Javascript error on redirect in progress, ignoring this event\");\r\n return;\r\n }\r\n\r\n //In caso io abbia impostato succesresultmandatory nell'httprequest e questa abbia dato errore tiro fuori un exception che dev'essere mostrata come si deve\r\n var newError = \"\";\r\n if (!error.message && !error.stack)\r\n newError = error\r\n else if (error instanceof HttpErrorResponse)\r\n newError = error.message;\r\n else\r\n newError = error.stack && error.stack.length > 1000 ? error.stack.substring(0, 999) + \"[...]\" : error.stack;\r\n\r\n var pars = { errorMessage: this.b64EncodeUnicode(newError), fromUrl: this.router.url };\r\n this.router.navigate([`err/9999`, pars]);\r\n }\r\n\r\n b64EncodeUnicode(str) {\r\n // first we use encodeURIComponent to get percent-encoded UTF-8,\r\n // then we convert the percent encodings into raw bytes which\r\n // can be fed into btoa.\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n }\r\n}","// Angular\r\nimport { Injectable, NgZone } from \"@angular/core\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OutZoneEventPlugin {\r\n\r\n constructor(private zone: NgZone) { }\r\n\r\n supports(eventName: string): boolean {\r\n return eventName.endsWith('out-zone');\r\n }\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n let eventOriginalName = eventName.split('.')[0];\r\n let standardHandler = (event: Event) => originalHandler(event)\r\n if (eventName.endsWith('out-zone'))\r\n this.zone.runOutsideAngular(() => { element.addEventListener(eventOriginalName, standardHandler); });\r\n else\r\n element.addEventListener(eventOriginalName, standardHandler)\r\n\r\n return () => element.removeEventListener(eventOriginalName, standardHandler);\r\n }\r\n}","import { Injectable, Injector } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensionsLoc extends LocalizationService {\r\n constructor(injector: Injector) {\r\n super(injector);\r\n super.set(\"it->en\", \"Il Server sembra essere offline, prova a ricaricare la pagina\", [\"Server seems to be offline, try to reload this page\"]);\r\n }\r\n}","// Angular\r\nimport { ActivatedRouteSnapshot, Router } from \"@angular/router\";\r\nimport { Inject, Injectable, Injector, signal } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseMessageService, NotificationsService, JobProgressDto } from \"@esfaenza/signalr-notifications\";\r\nimport { InboundMessageTypes, InterComMessage, InterComService } from \"@esfaenza/extensions\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { AppEmbeddingExtensions } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Core\r\nimport { ActiveModuleView, ANONYMOUS_MODE, ApplicationJob, EnvOptions, JaceIdentity, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Subject, filter, firstValueFrom } from \"rxjs\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\n\r\ndeclare var dayjs: any;\r\ndeclare var myconfig: EnvOptions;\r\n\r\n// Chiamate ai Repository\r\nconst GET_Jace_GetActiveJaceModules: string = \"/api/Jace/GetActiveJaceModules\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class AppState {\r\n\r\n private PREFS_DISABLE_EFFECTS = \"PREFS_DISABLE_EFFECTS\";\r\n\r\n public sidebarWidth: number;\r\n public headerHeight: number;\r\n\r\n public graphicEffects = signal(true);\r\n\r\n public redirectingToLogin: boolean = false;\r\n public handlingError: boolean = false;\r\n public christmasTime = signal(false);\r\n public halloweenTime = signal(false);\r\n\r\n private SessionIdentity: string;\r\n private JaceIdentity: JaceIdentity;\r\n\r\n public jobsInProgress: number = 0;\r\n public allJobs: ApplicationJob[] = [];\r\n private jobWithIdsCache: { [index: string]: ApplicationJob } = {};\r\n public notifyOnCompletedJobs: boolean = true;\r\n\r\n private _data = new Subject<Object>();\r\n private _subscriptions: Map<string, Array<Function>> = new Map<string, Array<Function>>();\r\n\r\n public ModulesLocalizations: { [id: string]: LocalizationService } = {};\r\n\r\n private _modules: ActiveModuleView[];\r\n public set Modules(modules: ActiveModuleView[]) {\r\n this._modules = modules;\r\n this.notifyDataChanged(\"modules.Retrieved\", this._modules);\r\n }\r\n public get Modules(): ActiveModuleView[] { return this._modules; }\r\n\r\n constructor(\r\n private router: Router, private prefs: PreferencesService, private inj: Injector, private bts: TokenService, private notifications: NotificationsService, private MessageDef: BaseMessageService,\r\n private intercom: InterComService, private emb: AppEmbeddingExtensions, @Inject(USE_FAKE_ACCESS_TOKEN) private fakeToken: boolean, @Inject(ANONYMOUS_MODE) private anonymousMode: boolean) {\r\n\r\n this.hookEmbedding();\r\n\r\n this.hookPreferences();\r\n\r\n this.setupSignalRJobListening();\r\n this.getActiveJaceModules();\r\n\r\n this.JaceIdentity = null;\r\n this._data.subscribe((data) => this._onEvent(data));\r\n\r\n //Decide se siamo attorno a natale\r\n var today = dayjs();\r\n var thisYear = today.year();\r\n var lowerBound = dayjs(\"18/12/\" + thisYear, \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"07/01/\" + (thisYear + 1), \"DD/MM/YYYY\");\r\n this.christmasTime.set(today > lowerBound && today < upperBound);\r\n\r\n //Decide se siamo attorno ad halloween\r\n var lowerBound = dayjs(\"28/10/\" + thisYear, \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"05/11/\" + thisYear, \"DD/MM/YYYY\");\r\n this.halloweenTime.set(today > lowerBound && today < upperBound);\r\n\r\n this.intercom.inbounds.subscribe((t: InterComMessage) => { this.handleInboundMessage(t); });\r\n }\r\n\r\n async hookPreferences(){\r\n let effectsOff = (await firstValueFrom(this.prefs.getItem<boolean>(this.PREFS_DISABLE_EFFECTS))) || false;\r\n this.graphicEffects.set(!effectsOff);\r\n }\r\n\r\n getActiveJaceModules() {\r\n // Recupero i moduli dopo un frame. mi assicuro che l'injection tree sia stabile. \r\n // Altrimenti l'httpservice che prende l'httpserviceextensions providato da core quando anche l'appstate è providedin root\r\n // si incasina e va in loop\r\n requestAnimationFrame(() => {\r\n let http = this.inj.get(HTTPService)\r\n if (this.fakeToken) {\r\n this.Modules = [new ActiveModuleView(\"Modulo Esempio 1\"), new ActiveModuleView(\"Modulo Esempio 2\"), new ActiveModuleView(\"Modulo Esempio 3\")];\r\n this.Modules = this.Modules;\r\n return;\r\n }\r\n\r\n http.get<ActiveModuleView[]>(GET_Jace_GetActiveJaceModules).subscribe(res => {\r\n this.Modules = res;\r\n this.Modules = this.Modules;\r\n });\r\n })\r\n }\r\n\r\n // Collego le informazioni dell'embedding che devono appoggiarsi all'app state in modo che possano comunicare col resto dell'applicazione\r\n hookEmbedding() {\r\n this.emb.MessageObserver.pipe(filter(ev => ev.event == \"navigation\")).subscribe(event => {\r\n var navigationOp = event?.data?.internalNavigation ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\";\r\n this.notifyDataChanged(navigationOp, event?.data?.title);\r\n });\r\n\r\n this.emb.MessageObserver.pipe(filter(ev => ev.event == \"window-message\")).subscribe(event => {\r\n this.notifyDataChanged(\"window-message\", event?.data);\r\n });\r\n\r\n this._data.pipe(filter(e => (e as any).event == \"menu.isCollapsed\")).subscribe(_ => {\r\n this.emb.refreshBoundariesOnMenuCollapse()\r\n });\r\n }\r\n\r\n // Stesso codice in AppSession, vedere se si può compattare\r\n\r\n /** Tenant§Account§User§APPNAME */\r\n getSessionIdentity(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.getJaceIDentity();\r\n if (!id) {\r\n if(this.anonymousMode)\r\n return \"\";\r\n\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n\r\n registerNavigationIfMeaningful(route?: ActivatedRouteSnapshot) {\r\n let title = route.data[\"title\"];\r\n let internal = route.data[\"internalNavigation\"]\r\n\r\n // Permette di chiamare sto registerNavigation a prescindere e fare opt out se non è una route navigabile\r\n if(!title) return;\r\n\r\n /*\r\n * Parent ({url: [{path: \"{module}\"}]})\r\n * Parent ({url: [{path: \"\"}]}) (Root del modulo lazy)\r\n * -> Navigazione attuale <-\r\n */\r\n let module = route.parent?.parent?.url[0]?.path;\r\n let loc = module ? this.ModulesLocalizations[module] : null;\r\n\r\n if (!module)\r\n console.error(\"Impossibile estrapolare il modulo dalla navigazione (Atteso Modulo al secondo livello di parentela partendo dal componente attuale): \" + route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'));\r\n\r\n this.notifyDataChanged(internal ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", loc ? loc.loc(title) : title);\r\n }\r\n\r\n handleInboundMessage(t: InterComMessage) {\r\n switch (t.type) {\r\n case InboundMessageTypes.Navigation:\r\n this.notifyDataChanged(t.message.sub ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", t.message.routeTitle);\r\n // export const MK_ADM = \"EsAdminModule\";\r\n // AdmMessageTypes.Message = 0;\r\n\r\n // definita in admin-module.\r\n // admin-module usa core quindi referenze circolari no-no-no\r\n this.intercom.send(0, \"Navigation Message Received\", \"EsAdminModule\");\r\n break;\r\n }\r\n }\r\n\r\n setupSignalRJobListening() {\r\n this.notifications.observe(this.MessageDef.IN_JobProgressNotification).subscribe((ev: JobProgressDto) => {\r\n\r\n var identity = this.getJaceIDentity();\r\n if (!identity)\r\n return;\r\n var desc = (ev.description || ev.actionid) + \" (\" + (ev.user || identity.DsUser) + \")\";\r\n let job: ApplicationJob = {\r\n id: ev.instance,\r\n description: desc,\r\n smalldescription: desc.length > 35 ? desc.substring(0, 30) + \"...\" : desc,\r\n percentage: this.roundToTwo(ev.progress),\r\n completed: ev.type == 'Completed',\r\n fileid: ev.resultfile,\r\n reportid: ev.resultreport,\r\n reportpars: ev.resultreportparams,\r\n complexreportid: ev.resultcomplexreport\r\n };\r\n\r\n switch (ev.type) {\r\n case \"Started\":\r\n if (this.jobWithIdsCache[ev.instance]) {\r\n console.warn(\"Job already registered on the 'Started' callback\");\r\n return;\r\n }\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n this.notifyDataChanged(\"app.startedJob\", job.description);\r\n break;\r\n case \"Progress\":\r\n // Se mi arriva un progress di un job che non ho significa che mi sono loggato ora con dei Job in corso\r\n // quindi per prima cosa devo metterlo in lista\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n this.jobWithIdsCache[ev.instance].percentage = this.roundToTwo(ev.progress);\r\n this.notifyDataChanged(\"app.progressJob\", { description: job.description, progress: this.jobWithIdsCache[ev.instance].percentage });\r\n break;\r\n case \"Completed\":\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n var jobToUpdate = this.jobWithIdsCache[ev.instance];\r\n jobToUpdate.percentage = 100;\r\n jobToUpdate.fileid = ev.resultfile;\r\n jobToUpdate.reportid = ev.resultreport;\r\n jobToUpdate.reportpars = ev.resultreportparams;\r\n jobToUpdate.completed = true;\r\n\r\n if (this.notifyOnCompletedJobs)\r\n this.notifyDataChanged(\"app.completedJob\", jobToUpdate.description);\r\n\r\n break;\r\n }\r\n\r\n this.jobsInProgress = this.allJobs.filter(t => !t.completed).length;\r\n });\r\n }\r\n\r\n roundToTwo(num) {\r\n return Math.round(num * 100) / 100;\r\n }\r\n\r\n getJaceIDentity(): JaceIdentity {\r\n if (this.JaceIdentity)\r\n return this.JaceIdentity;\r\n this.JaceIdentity = this.bts.getJaceIdentity();\r\n return this.JaceIdentity;\r\n }\r\n\r\n notifyDataChanged(event, value) {\r\n this._data[event] = value;\r\n this._data.next({\r\n event: event,\r\n data: this._data[event]\r\n });\r\n }\r\n\r\n subscribe(event: string, callback: Function) {\r\n var subscribers = this._subscriptions.get(event) || [];\r\n subscribers.push(callback);\r\n\r\n this._subscriptions.set(event, subscribers);\r\n }\r\n\r\n _onEvent(data: any) {\r\n var subscribers = this._subscriptions.get(data[\"event\"]) || [];\r\n\r\n subscribers.forEach((callback) => {\r\n callback.call(null, data[\"data\"]);\r\n });\r\n }\r\n\r\n public setSidebarWidth(width: number) {\r\n this.sidebarWidth = width;\r\n }\r\n\r\n public setHeaderHeight(height: number) {\r\n this.headerHeight = height;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { HttpServiceExtensions } from \"@esfaenza/httpservice\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { HTTPServiceExtensionsLoc } from \"./app.httpextensions.loc\";\r\nimport { AppState } from \"./app.state\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensions implements HttpServiceExtensions {\r\n\r\n constructor(private lc: LocalizationService, private tks: TokenService, private as: AppState, private router: Router, private ac: AccessControlService, private msgs: MessageService) {\r\n this.lc = this.lc.generateFromType(HTTPServiceExtensionsLoc)\r\n }\r\n\r\n //Gestione Auth\r\n retrieveAccessToken(): string {\r\n return this.tks.getAccessToken().toString();\r\n }\r\n\r\n retrieveIdentity(): { IdUser: string; Idtenant: string; } {\r\n return <any>this.tks.getJaceIdentity();\r\n }\r\n\r\n //Gestione ridirezione al login / altre pagine\r\n readRedirectingToLogin(): boolean {\r\n return this.as.redirectingToLogin;\r\n }\r\n\r\n writeRedirectingToLogin(status: boolean) {\r\n this.as.redirectingToLogin = status;\r\n }\r\n\r\n redirectToLogin(): void {\r\n console.log(\"HTTPServiceExtensions - redirecting to login\");\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n\r\n readRedirectionStatus(): boolean {\r\n return myconfig?.redirectInProgress;\r\n }\r\n\r\n writeRedirectionStatus(status: boolean): void {\r\n myconfig.redirectInProgress = status;\r\n }\r\n\r\n //Gestione error handling flag\r\n readHandlingErrorStatus(): boolean {\r\n return this.as.handlingError;\r\n }\r\n\r\n writeHandlingErrorStatus(status: boolean) {\r\n this.as.handlingError = status;\r\n }\r\n\r\n // 444, se false passa a handleBlockingException\r\n handleNotConfiguredException(): boolean {\r\n if (this.ac.has(\"P:mdm_customize\")) {\r\n myconfig.redirectInProgress = true;\r\n this.as.handlingError = false;\r\n this.router.navigate([\"pages/adm/tenantconfig\"]);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // 400, 403, 404, 444\r\n handleBlockingException(status: number, text: string) {\r\n if (status == 403) {\r\n this.msgs.simpleError(\"Non si dispone dei permessi necessari ad effettuare questa operazione.\")\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n this.msgs.simpleError(status + \": \" + text)\r\n this.as.handlingError = false;\r\n }\r\n }\r\n\r\n // Tutto quello che non è gestito da handleBlockingException\r\n handleException(status: number, text: string) {\r\n if (status == 503) {\r\n this.msgs.simpleError(this.lc.loc(\"Il Server sembra essere offline, prova a ricaricare la pagina\"));\r\n this.as.handlingError = false;\r\n }\r\n else if (status == 542) {\r\n this.msgs.simpleError(text);\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n var st = btoa(encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n var pars = { statusText: st, fromUrl: this.router.url };\r\n this.router.navigate([`err/${status}`, pars]);\r\n }\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationMenu } from \"@esfaenza/core/domain\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuFilteringService {\r\n /**\r\n * Applica un filtro agli elementi di menù in modo da poterli filtrare in base a condizioni arbitrarie (inclusi check lato BE)\r\n * \r\n * @param rawMenus Menù originali, non filtrati\r\n * @returns {Observable<ApplicationMenu[]>} Menù filtrati\r\n */\r\n public filter(rawMenus: ApplicationMenu[]): Observable<ApplicationMenu[]> {\r\n return of(rawMenus);\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationJob } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable()\r\nexport class CompletedJobRedirectionService {\r\n /**\r\n * Effettua un'operazione di redirect basata sul Job Completato\r\n * \r\n * @param completedJob Job appena completato per cui effettuare un redirect\r\n */\r\n public redirect(completedJob: ApplicationJob): void {\r\n\r\n }\r\n}","// Angular\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever } from \"@esfaenza/preferences\";\r\n\r\n// Applicazione\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { ANONYMOUS_MODE, EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SessionRetriever implements BaseSessionRetriever {\r\n\r\n private SessionIdentity: string;\r\n\r\n constructor(private bts: TokenService, private router: Router, @Inject(ANONYMOUS_MODE) private anonymousMode: boolean) { }\r\n\r\n /** Tenant§Account§User§ModuleId */\r\n getSessionKey(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.bts.getJaceIdentity();\r\n if (!id) {\r\n if (this.anonymousMode)\r\n return \"\";\r\n\r\n console.log(\"SessionRetriever - no identity, redirecting to login\")\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, CachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Cache_Sessions: string = \"/api/Cache/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationCachePersistor extends CachePersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Cache_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, PreferencesPersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Preferences_Sessions: string = \"/api/Preferences/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationPreferencesPersistor extends PreferencesPersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Preferences_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n// ES\r\nimport { CallResult, MessageService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Configurazioni\r\nimport { TokenService } from \"../../app.accesstoken\";\r\nimport { firstValueFrom } from \"rxjs\";\r\nimport { UpdatePasswordDto, UpdateProfilePictureDto, UpdateAccountRecoverySettingsDto, UserAccount, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n// Chiamate ai Repository\r\nconst GET_UserProfile_GetAccountPicture: string = \"/api/UserProfile/GetAccountPicture\";\r\nconst POST_UserProfile_UpdateAccountPicture: string = \"/api/UserProfile/UpdateAccountPicture\";\r\nconst POST_UserProfile_UpdateAccountRecoveryInfos: string = \"/api/UserProfile/UpdateAccountRecoveryInfos\";\r\nconst POST_UserProfile_UpdateAccountPassword: string = \"/api/UserProfile/UpdateAccountPassword\";\r\nconst GET_UserProfile_DeleteAccountPicture: string = \"/api/UserProfile/DeleteAccountPicture\";\r\nconst GET_UserProfile_GetEntityAccount: string = \"/api/UserProfile/GetEntityAccount\";\r\n\r\n@Injectable()\r\nexport class UserPreferencesService {\r\n private AccountId: string;\r\n public ProfilePicture: SafeResourceUrl;\r\n\r\n public fakeToken: boolean;\r\n public sanitizer: DomSanitizer;\r\n public http: HTTPService;\r\n public msgExts: MessageService;\r\n\r\n constructor(private injector: Injector) {\r\n let tks = this.injector.get(TokenService);\r\n this.sanitizer = this.injector.get(DomSanitizer);\r\n this.http = this.injector.get(HTTPService);\r\n this.msgExts = this.injector.get(MessageService);\r\n this.fakeToken = this.injector.get(USE_FAKE_ACCESS_TOKEN) || false;\r\n\r\n var identity = tks.getJaceIdentity();\r\n if (identity) {\r\n this.AccountId = identity.IdAccount.toString();\r\n this.doReloadProfilePicture();\r\n }\r\n }\r\n\r\n public async getAccountProfile(): Promise<UserAccount> {\r\n let pars = new HttpParams().set(\"idAccount\", this.AccountId);\r\n let ret = await firstValueFrom(this.http.get<UserAccount>(GET_UserProfile_GetEntityAccount, pars));\r\n return ret;\r\n }\r\n\r\n public async doReloadProfilePicture() {\r\n this.ProfilePicture = null;\r\n let tmpPict = await this.getCurrentProfilePicture();\r\n this.ProfilePicture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64,${tmpPict}`);\r\n }\r\n\r\n public async getCurrentProfilePicture(): Promise<string> {\r\n\r\n // Se fake token restituisco la stock image dell'utente\r\n if (this.fakeToken)\r\n return \"/9j/4AAQSkZJRgABAQEBLAEsAAD/4QCaRXhpZgAASUkqAAgAAAADAA4BAgBQAAAAMgAAABoBBQABAAAAggAAABsBBQABAAAAigAAAAAAAABEZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbiwBAAABAAAALAEAAAEAAAD/4QXHaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj4KCTxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CgkJPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczpJcHRjNHhtcENvcmU9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBDb3JlLzEuMC94bWxucy8iICAgeG1sbnM6R2V0dHlJbWFnZXNHSUZUPSJodHRwOi8veG1wLmdldHR5aW1hZ2VzLmNvbS9naWZ0LzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGx1cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIgIHhtbG5zOmlwdGNFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHBob3Rvc2hvcDpDcmVkaXQ9IkdldHR5IEltYWdlcyIgR2V0dHlJbWFnZXNHSUZUOkFzc2V0SUQ9IjEzMzcxNDQxNDYiIHhtcFJpZ2h0czpXZWJTdGF0ZW1lbnQ9Imh0dHBzOi8vd3d3LmlzdG9ja3Bob3RvLmNvbS9sZWdhbC9saWNlbnNlLWFncmVlbWVudD91dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9zb3VyY2U9Z29vZ2xlJmFtcDt1dG1fY2FtcGFpZ249aXB0Y3VybCIgcGx1czpEYXRhTWluaW5nPSJodHRwOi8vbnMudXNlcGx1cy5vcmcvbGRmL3ZvY2FiL0RNSS1QUk9ISUJJVEVELUVYQ0VQVFNFQVJDSEVOR0lORUlOREVYSU5HIiA+CjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+TWFyaWEgU2hhcGlsb3ZhPC9yZGY6bGk+PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48ZGM6ZGVzY3JpcHRpb24+PHJkZjpBbHQ+PHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5EZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbjwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOmRlc2NyaXB0aW9uPgo8cGx1czpMaWNlbnNvcj48cmRmOlNlcT48cmRmOmxpIHJkZjpwYXJzZVR5cGU9J1Jlc291cmNlJz48cGx1czpMaWNlbnNvclVSTD5odHRwczovL3d3dy5pc3RvY2twaG90by5jb20vcGhvdG8vbGljZW5zZS1nbTEzMzcxNDQxNDYtP3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX3NvdXJjZT1nb29nbGUmYW1wO3V0bV9jYW1wYWlnbj1pcHRjdXJsPC9wbHVzOkxpY2Vuc29yVVJMPjwvcmRmOmxpPjwvcmRmOlNlcT48L3BsdXM6TGljZW5zb3I+CgkJPC9yZGY6RGVzY3JpcHRpb24+Cgk8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJ3Ij8+Cv/tAJZQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAehwCUAAPTWFyaWEgU2hhcGlsb3ZhHAJ4AFBEZWZhdWx0IEF2YXRhciBQcm9maWxlIEljb24gVmVjdG9yLiBTb2NpYWwgTWVkaWEgVXNlciBJbWFnZS4gVmVjdG9yIElsbHVzdHJhdGlvbhwCbgAMR2V0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\";\r\n\r\n let pictureb64 = await firstValueFrom(this.http.get<string>(GET_UserProfile_GetAccountPicture, new HttpParams().set('idAccount', this.AccountId)));\r\n return pictureb64;\r\n }\r\n\r\n public async doUpdateProfilePicture(image: any): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dtoPic = new UpdateProfilePictureDto(this.AccountId);\r\n let cr = await firstValueFrom(this.http.postwithFiles<CallResult>(POST_UserProfile_UpdateAccountPicture, dtoPic, image ?? []));\r\n if (cr.success) this.doReloadProfilePicture();\r\n return cr;\r\n }\r\n\r\n public async doUpdateRecoverySettings(email: string): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dto = new UpdateAccountRecoverySettingsDto(this.AccountId, email);\r\n let cr = await firstValueFrom(this.http.post<CallResult>(POST_UserProfile_UpdateAccountRecoveryInfos, dto));\r\n return cr;\r\n }\r\n\r\n public async doUpdatePassword(oldPassword: string, newPassword: string, newPasswordConfirm: string): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let dto = new UpdatePasswordDto(this.AccountId, oldPassword, newPassword, newPasswordConfirm);\r\n let cr = await firstValueFrom(this.http.post<CallResult>(POST_UserProfile_UpdateAccountPassword, dto));\r\n return cr;\r\n }\r\n\r\n public async doDeleteProfilePicture(): Promise<CallResult> {\r\n if (this.fakeToken) {\r\n var ret = new CallResult();\r\n ret.success = true;\r\n return ret;\r\n }\r\n\r\n let pars = new HttpParams().set('idAccount', this.AccountId);\r\n let cr = await firstValueFrom(this.http.get<CallResult>(GET_UserProfile_DeleteAccountPicture, pars));\r\n if (cr.success) this.ProfilePicture = null;\r\n return cr;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlRouteGuard, AccessControlService } from \"@esfaenza/access-control\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n@Injectable()\r\nexport class BaseRouterGuard extends AccessControlRouteGuard {\r\n constructor(ms: MessageService, acc: AccessControlService, router: Router, ts: TokenService) {\r\n super(ms, acc, router);\r\n\r\n let identity = ts.getJaceIdentity();\r\n if (!acc.Initialized)\r\n acc.initializeIdentity(identity);\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.TokenService","i4","i2.TokenService","i3.AppState","i5","i6","i3","i4.TokenService"],"mappings":"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"}
|