homebridge-config-ui-x 5.0.0-beta.43 → 5.0.0-beta.44

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.
Files changed (123) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/modules/plugins/plugins.service.js +5 -14
  3. package/dist/modules/plugins/plugins.service.js.map +1 -1
  4. package/dist/modules/server/server.service.js +1 -1
  5. package/dist/modules/server/server.service.js.map +1 -1
  6. package/package.json +12 -12
  7. package/public/chunk-2CIT6S2I.js +1 -0
  8. package/public/chunk-2OMXJ3FA.js +1 -0
  9. package/public/{chunk-A7Q2BOQH.js → chunk-2S4NZ7E5.js} +1 -1
  10. package/public/chunk-2UVSDDWW.js +1 -0
  11. package/public/{chunk-BJXUYVHS.js → chunk-3QBV6NB6.js} +1 -1
  12. package/public/chunk-4ZZVXMIB.js +1 -0
  13. package/public/{chunk-GM4JYGDP.js → chunk-57YGJMHS.js} +1 -1
  14. package/public/chunk-5BIUTCQZ.js +1 -0
  15. package/public/{chunk-GSBFK4JS.js → chunk-657BBJLS.js} +1 -1
  16. package/public/{chunk-2GU2VOTQ.js → chunk-673R23FU.js} +1 -1
  17. package/public/{chunk-C53ZLBUW.js → chunk-6DCEYNAH.js} +1 -1
  18. package/public/{chunk-HBTN4COO.js → chunk-6PD7WRNK.js} +1 -1
  19. package/public/{chunk-5SZPKHJT.js → chunk-6PHDQMQP.js} +1 -1
  20. package/public/{chunk-6ITPGT2B.js → chunk-7GAL2GWC.js} +1 -1
  21. package/public/{chunk-SOAJH5N3.js → chunk-7MKC2H7Z.js} +1 -1
  22. package/public/{chunk-NSO77EJP.js → chunk-7RZIX3D2.js} +1 -1
  23. package/public/chunk-7U562N5T.js +1 -0
  24. package/public/chunk-7VKBNCHQ.js +1 -0
  25. package/public/{chunk-7TK3SSD2.js → chunk-AHZLWGSJ.js} +1 -1
  26. package/public/{chunk-HKTXPODL.js → chunk-ATIIQTF3.js} +1 -1
  27. package/public/{chunk-ZHLNAXXR.js → chunk-B476MB52.js} +1 -1
  28. package/public/{chunk-DHQATXHJ.js → chunk-B6NAJZAY.js} +1 -1
  29. package/public/chunk-CUXK6F2M.js +1 -0
  30. package/public/chunk-D6J5R7JY.js +1 -0
  31. package/public/chunk-EHTM7RNX.js +1 -0
  32. package/public/{chunk-HVOEV7W6.js → chunk-EP5E7QB3.js} +1 -1
  33. package/public/{chunk-MRBKHHLU.js → chunk-FFP3QEYS.js} +1 -1
  34. package/public/{chunk-2MK7AEG4.js → chunk-FJNNI37D.js} +1 -1
  35. package/public/{chunk-EETCTFAQ.js → chunk-GAGCS7JF.js} +1 -1
  36. package/public/{chunk-TC3455K3.js → chunk-GRJUKQYS.js} +1 -1
  37. package/public/{chunk-MYETMTGL.js → chunk-H2R5BIIE.js} +1 -1
  38. package/public/{chunk-LAMTCTSO.js → chunk-H7FEXZLQ.js} +1 -1
  39. package/public/{chunk-3NFJOKS7.js → chunk-HC5CDCFI.js} +1 -1
  40. package/public/{chunk-XIFLDXKP.js → chunk-I7XJFG3L.js} +1 -1
  41. package/public/{chunk-URY6BMDW.js → chunk-ICTHPXB5.js} +1 -1
  42. package/public/{chunk-4FO7LQCL.js → chunk-IESRY3BM.js} +1 -1
  43. package/public/chunk-ILVPTBWQ.js +1 -0
  44. package/public/chunk-IRAXGJHI.js +1 -0
  45. package/public/chunk-J6XITTOY.js +1 -0
  46. package/public/{chunk-EGT26ZY5.js → chunk-JDXM2XY2.js} +1 -1
  47. package/public/chunk-JIIIE6DY.js +1 -0
  48. package/public/{chunk-4KHML3ZA.js → chunk-JMWPSFLB.js} +1 -1
  49. package/public/chunk-JUH4CMC6.js +1 -0
  50. package/public/chunk-K2IJ7RTL.js +1 -0
  51. package/public/chunk-KMZRJBGV.js +1 -0
  52. package/public/chunk-KZD6P5T3.js +1 -0
  53. package/public/chunk-KZXBH4Q7.js +1 -0
  54. package/public/{chunk-DLIMGGAD.js → chunk-L7F4JVLR.js} +1 -1
  55. package/public/chunk-LFVP4MPU.js +1 -0
  56. package/public/chunk-LIV76PNE.js +7 -0
  57. package/public/{chunk-QOMBBDI6.js → chunk-LW6NJLTC.js} +1 -1
  58. package/public/{chunk-VBTERB4K.js → chunk-MGDVO7Y6.js} +1 -1
  59. package/public/{chunk-WNFIPZRL.js → chunk-NLBDGF6Z.js} +1 -1
  60. package/public/{chunk-SWNVXI2O.js → chunk-NWQ77QUI.js} +1 -1
  61. package/public/chunk-P4ETC423.js +1 -0
  62. package/public/chunk-PGNZXEL7.js +1 -0
  63. package/public/chunk-PJLK2URT.js +1 -0
  64. package/public/chunk-PUUEGKAF.js +1 -0
  65. package/public/{chunk-CXYP5EVS.js → chunk-QEN6AM35.js} +1 -1
  66. package/public/{chunk-J7OUBNKI.js → chunk-R76OMMGS.js} +1 -1
  67. package/public/{chunk-2PD576LT.js → chunk-RIRPMR7C.js} +1 -1
  68. package/public/{chunk-GJWJQ3Z5.js → chunk-RNR7WDHX.js} +2 -2
  69. package/public/{chunk-H2FEGEWG.js → chunk-RTV24JZ6.js} +1 -1
  70. package/public/chunk-S7OUDPWR.js +1 -0
  71. package/public/chunk-SHX5ILLO.js +1 -0
  72. package/public/{chunk-KHDWLARC.js → chunk-TCCCDXIX.js} +1 -1
  73. package/public/{chunk-B2UQOT6L.js → chunk-TQNNAU5B.js} +1 -1
  74. package/public/{chunk-WTDCYIBS.js → chunk-TSSB5L6B.js} +1 -1
  75. package/public/chunk-UIXYLWHU.js +1 -0
  76. package/public/chunk-UU2NEWAN.js +1 -0
  77. package/public/{chunk-2MK4YF4F.js → chunk-UWGVJMMV.js} +1 -1
  78. package/public/{chunk-KSY3EAGF.js → chunk-VBJJOA4E.js} +2 -2
  79. package/public/{chunk-IANOJDSU.js → chunk-WDDGAKYK.js} +1 -1
  80. package/public/chunk-WF6YRDCQ.js +1 -0
  81. package/public/{chunk-MNVY4PED.js → chunk-WOMLSQL2.js} +1 -1
  82. package/public/{chunk-JFXGVUSN.js → chunk-WR5KHM54.js} +1 -1
  83. package/public/{chunk-4G7AL7O5.js → chunk-XP6NRTWL.js} +1 -1
  84. package/public/{chunk-H2AG6442.js → chunk-XY2BPCBI.js} +1 -1
  85. package/public/{chunk-E6VBERNX.js → chunk-YVQP55G6.js} +1 -1
  86. package/public/{chunk-F42KLYK3.js → chunk-YWI2H4SZ.js} +1 -1
  87. package/public/{chunk-IA2ABLRP.js → chunk-Z3ELHX24.js} +1 -1
  88. package/public/{chunk-Z7U6M7T4.js → chunk-Z4ULC276.js} +1 -1
  89. package/public/{chunk-I7EEM2EE.js → chunk-ZVYN7AQX.js} +1 -1
  90. package/public/index.html +1 -1
  91. package/public/main-T7AOVLGS.js +1 -0
  92. package/public/chunk-2R3TSF5L.js +0 -1
  93. package/public/chunk-4OLU6O26.js +0 -1
  94. package/public/chunk-5LY2MQ27.js +0 -1
  95. package/public/chunk-5O4JYY7I.js +0 -1
  96. package/public/chunk-APDFTSJS.js +0 -1
  97. package/public/chunk-B7WCXCMH.js +0 -1
  98. package/public/chunk-C6IAD6Z2.js +0 -7
  99. package/public/chunk-DTZAQOWH.js +0 -1
  100. package/public/chunk-EWIBW3TR.js +0 -1
  101. package/public/chunk-GQ2AM7UQ.js +0 -1
  102. package/public/chunk-GXHFLHC7.js +0 -1
  103. package/public/chunk-H43QBACT.js +0 -1
  104. package/public/chunk-I2437F3J.js +0 -1
  105. package/public/chunk-JN65M5Z3.js +0 -1
  106. package/public/chunk-KPMCIYRI.js +0 -1
  107. package/public/chunk-LFT7TXCS.js +0 -1
  108. package/public/chunk-NA4FVMAC.js +0 -1
  109. package/public/chunk-OHB3DOWR.js +0 -1
  110. package/public/chunk-Q34V7AKX.js +0 -1
  111. package/public/chunk-QHZWTWUL.js +0 -1
  112. package/public/chunk-QVCLXIPG.js +0 -1
  113. package/public/chunk-RH5JN2KO.js +0 -1
  114. package/public/chunk-T3C3XS2R.js +0 -1
  115. package/public/chunk-UFE4FFID.js +0 -1
  116. package/public/chunk-XZLDELWN.js +0 -1
  117. package/public/chunk-YEYWAMLQ.js +0 -1
  118. package/public/chunk-YNHGSUQI.js +0 -1
  119. package/public/chunk-YXMANVOI.js +0 -1
  120. package/public/chunk-ZCZ2G2I7.js +0 -1
  121. package/public/chunk-ZS3NNO45.js +0 -1
  122. package/public/main-IFQC7RQB.js +0 -1
  123. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-Z4ULC276.js";import"./chunk-RTV24JZ6.js";import"./chunk-HC5CDCFI.js";import"./chunk-WOMLSQL2.js";import"./chunk-Z3ELHX24.js";import"./chunk-I7XJFG3L.js";import"./chunk-GAGCS7JF.js";import"./chunk-RNR7WDHX.js";import"./chunk-TSSB5L6B.js";import"./chunk-LIV76PNE.js";export{a as StartupScriptComponent};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-7MKC2H7Z.js";import"./chunk-GAGCS7JF.js";import"./chunk-RNR7WDHX.js";import"./chunk-TSSB5L6B.js";import"./chunk-LIV76PNE.js";export{a as ShutdownLinuxComponent};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-7RZIX3D2.js";import"./chunk-GRJUKQYS.js";import"./chunk-Z3ELHX24.js";import"./chunk-L7F4JVLR.js";import"./chunk-I7XJFG3L.js";import"./chunk-GAGCS7JF.js";import"./chunk-RNR7WDHX.js";import"./chunk-TSSB5L6B.js";import"./chunk-LIV76PNE.js";export{a as RestartComponent};
@@ -1 +1 @@
1
- import{a as _,b as D}from"./chunk-XIFLDXKP.js";import{j as c,k as S}from"./chunk-EETCTFAQ.js";import{f as x}from"./chunk-GJWJQ3Z5.js";import{C as v,Rc as I,g as O,ga as h,h as a,ha as E,ja as y,la as l,ma as f,r as p,tb as j,w as d,x as T,z as w}from"./chunk-C6IAD6Z2.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
1
+ import{a as _,b as D}from"./chunk-I7XJFG3L.js";import{j as c,k as S}from"./chunk-GAGCS7JF.js";import{f as x}from"./chunk-RNR7WDHX.js";import{C as v,Rc as I,g as O,ga as h,h as a,ha as E,ja as y,la as l,ma as f,r as p,tb as j,w as d,x as T,z as w}from"./chunk-LIV76PNE.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
@@ -0,0 +1 @@
1
+ import{m as w}from"./chunk-ATIIQTF3.js";import{b as E}from"./chunk-TSSB5L6B.js";import{Ac as p,Bc as d,Jb as C,Kb as u,Ob as M,Pb as l,Ub as o,Vb as a,Wb as c,_b as k,bc as x,cb as b,cc as s,db as T,gb as i,ma as L,mc as _,nc as y,oc as v,sb as B,ua as I,va as g,zb as m}from"./chunk-LIV76PNE.js";function H(t,f){if(t&1&&c(0,"i",15),t&2){let e=s();M("fas fa-fw ",e.faIconClass," mb-3")}}function S(t,f){if(t&1&&c(0,"h5",6),t&2){let e=s();u("innerHTML",e.subtitle,b)}}function h(t,f){if(t&1&&c(0,"p",8),t&2){let e=s();u("innerHTML",e.message2,b)}}function z(t,f){if(t&1){let e=k();o(0,"button",16),p(1,"translate"),x("click",function(){I(e);let n=s();return g(n.$activeModal.dismiss("Dismiss"))}),_(2),p(3,"translate"),a()}t&2&&(C("aria-label",d(1,2,"form.button_close")),i(2),v(" ",d(3,4,"form.button_close")," "))}function V(t,f){if(t&1){let e=k();o(0,"button",16),p(1,"translate"),x("click",function(){I(e);let n=s();return g(n.$activeModal.dismiss("Dismiss"))}),_(2),p(3,"translate"),a()}t&2&&(C("aria-label",d(1,2,"form.button_close")),i(2),v(" ",d(3,4,"form.button_close")," "))}function D(t,f){if(t&1&&(o(0,"a",14),_(1),c(2,"i",17),a()),t&2){let e=s();u("href",e.ctaButtonLink,T),i(),v(" ",e.ctaButtonLabel," ")}}var q=(()=>{class t{$activeModal=L(w);title;subtitle;message;message2;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=B({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",message2:"message2",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:18,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"mb-0","mt-3",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(r,n){r&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),_(3),a(),o(4,"button",3),p(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a()(),o(6,"div",4),m(7,H,1,3,"i",5)(8,S,1,1,"h5",6),c(9,"p",7),m(10,h,1,1,"p",8),a(),o(11,"div",9)(12,"div",10),m(13,z,4,6,"button",11),a(),o(14,"div",12),m(15,V,4,6,"button",11),a(),o(16,"div",13),m(17,D,3,2,"a",14),a()()()),r&2&&(i(3),y(n.title),i(),C("aria-label",d(5,9,"form.button_close")),i(3),l(n.faIconClass?7:-1),i(),l(n.subtitle?8:-1),i(),u("innerHTML",n.message,b),i(),l(n.message2?10:-1),i(3),l(n.ctaButtonLink?13:-1),i(2),l(n.ctaButtonLink?-1:15),i(2),l(n.ctaButtonLink?17:-1))},dependencies:[E],encapsulation:2})}return t})();export{q as a};