{ "version": 3, "sources": ["src/app/_guards/can-manage-users.guard.ts"], "sourcesContent": ["import {Injectable} from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {AuthService} from \"../_shared/services/auth.service\";\nimport {PromptService} from \"../_shared/services/prompt.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanManageUsersGuard {\n constructor(\n private _auth: AuthService,\n private _prompt: PromptService\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n const user = this._auth.user;\n if (!user) return false;\n if (user.role === 'SuperUser') return true;\n\n const canManageUsers = user.permissions.some(x => x.permission === 'ManageUsers');\n if (!canManageUsers) this._prompt.error('You do not have permission to manage users', null, true);\n \n return canManageUsers;\n }\n\n}\n"], "mappings": "+FASA,IAAaA,GAAmB,IAAA,CAA1B,IAAOA,EAAP,MAAOA,CAAmB,CAC5BC,YACYC,EACAC,EAAsB,CADtB,KAAAD,MAAAA,EACA,KAAAC,QAAAA,CACT,CAEHC,YACIC,EACAC,EAA0B,CAC1B,IAAMC,EAAO,KAAKL,MAAMK,KACxB,GAAI,CAACA,EAAM,MAAO,GAClB,GAAIA,EAAKC,OAAS,YAAa,MAAO,GAEtC,IAAMC,EAAiBF,EAAKG,YAAYC,KAAKC,GAAKA,EAAEC,aAAe,aAAa,EAChF,OAAKJ,GAAgB,KAAKN,QAAQW,MAAM,6CAA8C,KAAM,EAAI,EAEzFL,CACX,yCAjBST,GAAmBe,EAAAC,CAAA,EAAAD,EAAAE,CAAA,CAAA,CAAA,wBAAnBjB,EAAmBkB,QAAnBlB,EAAmBmB,UAAAC,WAFhB,MAAM,CAAA,EAEhB,IAAOpB,EAAPqB,SAAOrB,CAAmB,GAAA", "names": ["CanManageUsersGuard", "constructor", "_auth", "_prompt", "canActivate", "route", "state", "user", "role", "canManageUsers", "permissions", "some", "x", "permission", "error", "\u0275\u0275inject", "AuthService", "PromptService", "factory", "\u0275fac", "providedIn", "_CanManageUsersGuard"] }