{ "version": 3, "sources": ["tigereye/app/services/routeSecurity/analysisGuard/analysis-guard.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { AnalysisService } from '@services/analysis/analysis.service';\nimport { ModuleAuth } from '@common_libraries/lib/ModuleAuth';\nimport { TRASecurityModule } from '@common_libraries/lib/Enums';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class AnalysisGuardService {\n\n constructor(private analysisService: AnalysisService, private router: Router, private moduleAuth: ModuleAuth) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.checkAnalysisUser(route).toPromise()\n .then((e) => {\n return e;\n })\n .catch(() => {\n this.router.navigate(['/']);\n return false;\n });\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.canActivate(route, state);\n }\n\n checkAnalysisUser(route: any): Observable {\n return new Observable(observer => {\n const analysisID = route.params['id'];\n\n if (analysisID === undefined) {\n // if no analysis id (Analysis View, Create New, etc) say they have access if they got past the module check\n observer.next(true);\n observer.complete();\n } else {\n // if there is an analysisID, check they have access to that analysis\n return this.analysisService.GetAnalysisByID(analysisID).subscribe((res: any) => {\n if (res.json.data != null) {\n observer.next(true);\n observer.complete();\n } else {\n this.router.navigate(['/analysis']);\n observer.next(false);\n observer.complete();\n }\n });\n }\n });\n }\n}\n"], "mappings": "8EASA,IAAaA,GAAoB,IAAA,CAA3B,IAAOA,EAAP,MAAOA,CAAoB,CAE/BC,YAAoBC,EAA0CC,EAAwBC,EAAsB,CAAxF,KAAAF,gBAAAA,EAA0C,KAAAC,OAAAA,EAAwB,KAAAC,WAAAA,CACtF,CAEAC,YAAYC,EAA+BC,EAA0B,CACnE,OAAO,KAAKC,kBAAkBF,CAAK,EAAEG,UAAS,EAC3CC,KAAMC,GACEA,CACR,EACAC,MAAM,KACL,KAAKT,OAAOU,SAAS,CAAC,GAAG,CAAC,EACnB,GACR,CACL,CAEAC,iBAAiBR,EAA+BC,EAA0B,CACxE,OAAO,KAAKF,YAAYC,EAAOC,CAAK,CACtC,CAEAC,kBAAkBF,EAAU,CAC1B,OAAO,IAAIS,EAAoBC,GAAW,CACxC,IAAMC,EAAaX,EAAMY,OAAO,GAEhC,GAAID,IAAeE,OAEjBH,EAASI,KAAK,EAAI,EAClBJ,EAASK,SAAQ,MAGjB,QAAO,KAAKnB,gBAAgBoB,gBAAgBL,CAAU,EAAEM,UAAWC,GAAY,CACvEA,EAAIC,KAAKC,MAAQ,MACnBV,EAASI,KAAK,EAAI,EAClBJ,EAASK,SAAQ,IAEjB,KAAKlB,OAAOU,SAAS,CAAC,WAAW,CAAC,EAClCG,EAASI,KAAK,EAAK,EACnBJ,EAASK,SAAQ,EAErB,CAAC,CAEP,CAAC,CACH,yCA1CWrB,GAAoB2B,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,CAAA,CAAA,wBAApB9B,EAAoB+B,QAApB/B,EAAoBgC,UAAAC,WADR,MAAM,CAAA,EACzB,IAAOjC,EAAPkC,SAAOlC,CAAoB,GAAA", "names": ["AnalysisGuardService", "constructor", "analysisService", "router", "moduleAuth", "canActivate", "route", "state", "checkAnalysisUser", "toPromise", "then", "e", "catch", "navigate", "canActivateChild", "Observable", "observer", "analysisID", "params", "undefined", "next", "complete", "GetAnalysisByID", "subscribe", "res", "json", "data", "\u0275\u0275inject", "AnalysisService", "Router", "ModuleAuth", "factory", "\u0275fac", "providedIn", "_AnalysisGuardService"] }