import{E as d,L as v}from"./chunk-RPFDCEWO.js";import{Ba as m,E as o,Ka as n,Ue as f,Xc as h,fa as c,gg as u,ja as t,r as l,td as p,yg as S}from"./chunk-LAXU3LU7.js";var $=(()=>{class e{constructor(){this.claimService=t(d),this.snackBar=t(v),this.router=t(p),this.translate=t(S),this.injector=t(m),this.authService=t(u),this.platformId=t(n)}canActivate(a,r){return h(this.platformId)?!0:this.authService?f(this.authService.state,{injector:this.injector}).pipe(o(i=>i.loaded),l(i=>{if(i.user?.loggedIn){if(this.hasPermissions(a))return!0;console.log(`No permission for ${r.url} for ${i.user?.slug}`),this.snackBar.open(this.translate.instant("all.permission.no-perm")),this.router.navigate(["/"])}else this.authService?.login(!1,{appState:{target:r.url}});return!1})):(console.warn("AuthGuard: No AuthService"),!1)}hasPermissions(a){let r=[];return a?.data?.claims?typeof a.data?.claims=="string"?r.push(this.claimService.hasClaim(this.replaceParams(a.params,[a.data?.claims])[0])):a.data?.claims.any?(typeof a.data?.claims.any=="string"&&(a.data.claims.any=[a.data?.claims.any]),r.push(this.claimService.hasAnyClaims(this.replaceParams(a.params,a.data?.claims.any)))):a.data?.claims.all&&(typeof a.data?.claims.all=="string"&&(a.data.claims.all=[a.data?.claims.all]),r.push(this.claimService.hasAllClaims(this.replaceParams(a.params,a.data?.claims.all)))):r.push(!0),r.reduce((i,s)=>i&&s,!0)}replaceParams(a,r){for(let[i,s]of Object.entries(a))r=r.map(y=>y.replace(`[:${i}]`,s));return r}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=c({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();export{$ as a};
