{ "version": 3, "sources": ["src/app/helpers/guards/pending-changes.guard.ts", "src/app/helpers/guards/admin.guard.ts", "src/app/helpers/guards/god.guard.ts", "src/app/helpers/guards/participant.guard.ts"], "sourcesContent": ["import { ComponentCanDeactivate } from '../interfaces';\nimport { CanDeactivateFn } from '@angular/router';\n\nexport const pendingChangesGuard: CanDeactivateFn = (component: ComponentCanDeactivate) => {\n return component.canDeactivate ? component.canDeactivate() : true;\n};\n", "import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\nimport { AwareSecurityService } from '@appbolaget/aware-security';\nimport { tap } from 'rxjs/operators';\n\nexport function adminGuard(): CanActivateFn {\n return () => {\n const ass = inject(AwareSecurityService);\n const router = inject(Router);\n\n return ass.isGranted('unit.create').pipe(\n tap((hasUnitCreate) => {\n if (!hasUnitCreate) {\n router.navigate(['/app/me']);\n }\n }),\n );\n };\n}\n", "import { inject } from '@angular/core';\nimport { CanActivateFn } from '@angular/router';\n\nimport { AwareSecurityService } from '@appbolaget/aware-security';\nimport { take } from 'rxjs/operators';\n\nexport function godGuard(): CanActivateFn {\n return () => {\n const ass = inject(AwareSecurityService);\n return ass.isGod().pipe(take(1));\n };\n}\n", "import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\nimport { AwareSecurityService } from '@appbolaget/aware-security';\nimport { combineLatest, of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\n\nexport function participantGuard(): CanActivateFn {\n return () => {\n const ass = inject(AwareSecurityService);\n const router = inject(Router);\n\n return ass.isGod().pipe(\n mergeMap((isGod) => {\n return combineLatest([of(isGod), ass.isGranted('role.participant'), ass.isGranted('role.nonparticipant')]);\n }),\n map(([isGod, isParticipant, isNonParticipant]) => {\n if (isGod || isNonParticipant) {\n return true;\n }\n\n if (isParticipant) {\n router.navigate(['/app/me/dashboard']);\n }\n\n return !isParticipant;\n }),\n );\n };\n}\n"], "mappings": "0JAGO,IAAMA,EAAgEC,GAClEA,EAAUC,cAAgBD,EAAUC,cAAa,EAAK,GCC3D,SAAUC,GAAU,CACtB,MAAO,IAAK,CACR,IAAMC,EAAMC,EAAOC,CAAoB,EACjCC,EAASF,EAAOG,CAAM,EAE5B,OAAOJ,EAAIK,UAAU,aAAa,EAAEC,KAChCC,EAAKC,GAAiB,CACbA,GACDL,EAAOM,SAAS,CAAC,SAAS,CAAC,CAEnC,CAAC,CAAC,CAEV,CACJ,CCZM,SAAUC,GAAQ,CACpB,MAAO,IACSC,EAAOC,CAAoB,EAC5BC,MAAK,EAAGC,KAAKC,EAAK,CAAC,CAAC,CAEvC,CCLM,SAAUC,GAAgB,CAC5B,MAAO,IAAK,CACR,IAAMC,EAAMC,EAAOC,CAAoB,EACjCC,EAASF,EAAOG,CAAM,EAE5B,OAAOJ,EAAIK,MAAK,EAAGC,KACfC,EAAUF,GACCG,EAAc,CAACC,EAAGJ,CAAK,EAAGL,EAAIU,UAAU,kBAAkB,EAAGV,EAAIU,UAAU,qBAAqB,CAAC,CAAC,CAC5G,EACDC,EAAI,CAAC,CAACN,EAAOO,EAAeC,CAAgB,IACpCR,GAASQ,EACF,IAGPD,GACAT,EAAOW,SAAS,CAAC,mBAAmB,CAAC,EAGlC,CAACF,EACX,CAAC,CAEV,CACJ", "names": ["pendingChangesGuard", "component", "canDeactivate", "adminGuard", "ass", "inject", "AwareSecurityService", "router", "Router", "isGranted", "pipe", "tap", "hasUnitCreate", "navigate", "godGuard", "inject", "AwareSecurityService", "isGod", "pipe", "take", "participantGuard", "ass", "inject", "AwareSecurityService", "router", "Router", "isGod", "pipe", "mergeMap", "combineLatest", "of", "isGranted", "map", "isParticipant", "isNonParticipant", "navigate"] }