{ "version": 3, "sources": ["apps/partner-center-client/src/app/core/guards/access-feature-guard.service.ts"], "sourcesContent": ["import { Inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AccessService, StubAccessService } from '../access';\n\n@Injectable({ providedIn: 'root' })\nexport class AccessFeatureGuard {\n constructor(\n @Inject(StubAccessService) private access: AccessService,\n private router: Router,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n const feature = route.data.feature;\n return this.access.hasAccessToFeature(feature).pipe(\n map((hasAccess) => {\n if (hasAccess) {\n return true;\n }\n return this.router.createUrlTree(['/restricted/', feature], { queryParams: { page: state.url } });\n }),\n );\n }\n}\n"], "mappings": "wIAOA,IAAaA,GAAkB,IAAA,CAAzB,IAAOA,EAAP,MAAOA,CAAkB,CAC7BC,YACqCC,EAC3BC,EAAc,CADa,KAAAD,OAAAA,EAC3B,KAAAC,OAAAA,CACP,CAEHC,YAAYC,EAA+BC,EAA0B,CACnE,IAAMC,EAAUF,EAAMG,KAAKD,QAC3B,OAAO,KAAKL,OAAOO,mBAAmBF,CAAO,EAAEG,KAC7CC,EAAKC,GACCA,EACK,GAEF,KAAKT,OAAOU,cAAc,CAAC,eAAgBN,CAAO,EAAG,CAAEO,YAAa,CAAEC,KAAMT,EAAMU,GAAG,CAAE,CAAE,CACjG,CAAC,CAEN,yCAhBWhB,GAAkBiB,EAEnBC,CAAiB,EAAAD,EAAAE,CAAA,CAAA,CAAA,wBAFhBnB,EAAkBoB,QAAlBpB,EAAkBqB,UAAAC,WADL,MAAM,CAAA,EAC1B,IAAOtB,EAAPuB,SAAOvB,CAAkB,GAAA", "names": ["AccessFeatureGuard", "constructor", "access", "router", "canActivate", "route", "state", "feature", "data", "hasAccessToFeature", "pipe", "map", "hasAccess", "createUrlTree", "queryParams", "page", "url", "\u0275\u0275inject", "StubAccessService", "Router", "factory", "\u0275fac", "providedIn", "_AccessFeatureGuard"] }