{ "version": 3, "sources": ["src/app/auth/guards/role-guard.service.ts"], "sourcesContent": ["import { inject, Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable, map } from 'rxjs';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class RoleGuard {\r\n\tpublic auth = inject(OidcSecurityService);\r\n\tpublic router= inject(Router);\r\n\t\r\n\tcanActivate(\r\n\t\troute: ActivatedRouteSnapshot\r\n\t): Observable | Promise | boolean | UrlTree {\r\n\t\treturn this.auth.getUserData().pipe(\r\n\t\t\tmap((data) => {\r\n\t\t\t\tconst roles: string[] = data?.resource_access?.['order-management']?.roles;\r\n\t\t\t\tif (roles?.length === 1) {\r\n\t\t\t\t\tif (route.data['expectedRole'] && route.data['expectedRole'].some((role: string) => roles?.some((r) => r === role))) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (route.data['expectedRole'] && route.data['expectedRole'].some((role: string) => roles?.some((r) => r === role))) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n"], "mappings": "uIAOA,IAAaA,GAAS,IAAA,CAAhB,MAAOA,CAAS,CAHtBC,aAAA,CAIQ,KAAAC,KAAOC,EAAOC,CAAmB,EACjC,KAAAC,OAASF,EAAOG,CAAM,EAE7BC,YACCC,EAA6B,CAE7B,OAAO,KAAKN,KAAKO,YAAW,EAAGC,KAC9BC,EAAKC,GAAQ,CACZ,IAAMC,EAAkBD,GAAME,kBAAkB,kBAAkB,GAAGD,MACrE,OAAIA,GAAOE,SAAW,EACjBP,GAAAA,EAAMI,KAAK,cAAmBJ,EAAMI,KAAK,aAAgBI,KAAMC,GAAiBJ,GAAOG,KAAME,GAAMA,IAAMD,CAAI,CAAC,GAK9GT,GAAAA,EAAMI,KAAK,cAAmBJ,EAAMI,KAAK,aAAgBI,KAAMC,GAAiBJ,GAAOG,KAAME,GAAMA,IAAMD,CAAI,CAAC,EAKpH,CAAC,CAAC,CAEJ,iDAvBYjB,EAAS,CAAA,iCAATA,EAASmB,QAATnB,EAASoB,UAAAC,WAFT,MAAM,CAAA,CAAA,SAENrB,CAAS,GAAA", "names": ["RoleGuard", "constructor", "auth", "inject", "OidcSecurityService", "router", "Router", "canActivate", "route", "getUserData", "pipe", "map", "data", "roles", "resource_access", "length", "some", "role", "r", "factory", "\u0275fac", "providedIn"] }