{ "version": 3, "sources": ["src/app/auth-gurd/auth.service.ts"], "sourcesContent": ["import { AuthService } from 'src/app/shared/services/auth.service';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivateFn,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nclass AuthServiceGuard {\r\n constructor(private authService: AuthService, private router: Router) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n const authInfo = this.authService.authInfo();\r\n\r\n if (authInfo) {\r\n const userType = authInfo.userType;\r\n const targetUserType = state.url.split('/')[1];\r\n\r\n if (userType === targetUserType) {\r\n return true;\r\n } else {\r\n const loginUrl = targetUserType == 'agent' ? `/${targetUserType}/login` : '/login'\r\n this.router.navigate([ loginUrl]);\r\n return false;\r\n }\r\n } else {\r\n const loginUrl = state.url.startsWith('/agent') ? '/agent/login' : '/login';\r\n this.router.navigate([loginUrl]);\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport const isAuth: CanActivateFn = (\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n): boolean => {\r\n return inject(AuthServiceGuard).canActivate(route, state);\r\n};\r\n"], "mappings": "0GAYMA,GAAgB,IAAA,CAHtB,IAGMA,EAHN,MAGMA,CAAgB,CACpBC,YAAoBC,EAAkCC,EAAc,CAAhD,KAAAD,YAAAA,EAAkC,KAAAC,OAAAA,CAAiB,CAEvEC,YAAYC,EAA+BC,EAA0B,CACnE,IAAMC,EAAW,KAAKL,YAAYK,SAAQ,EAE1C,GAAIA,EAAU,CACZ,IAAMC,EAAWD,EAASC,SACpBC,EAAiBH,EAAMI,IAAIC,MAAM,GAAG,EAAE,CAAC,EAE7C,GAAIH,IAAaC,EACf,MAAO,GACF,CACL,IAAMG,EAAYH,GAAkB,QAAU,IAAIA,CAAc,SAAW,SAC3E,YAAKN,OAAOU,SAAS,CAAED,CAAQ,CAAC,EACzB,QAEJ,CACL,IAAMA,EAAWN,EAAMI,IAAII,WAAW,QAAQ,EAAI,eAAiB,SACnE,YAAKX,OAAOU,SAAS,CAACD,CAAQ,CAAC,EACxB,GAEX,yCAtBIZ,GAAgBe,EAAAC,CAAA,EAAAD,EAAAE,CAAA,CAAA,CAAA,wBAAhBjB,EAAgBkB,QAAhBlB,EAAgBmB,UAAAC,WAFR,MAAM,CAAA,EADpB,IAGMpB,EAHNqB,SAGMrB,CAAgB,GAAA,EAyBTsB,EAAwBA,CACnCjB,EACAC,IAEOiB,EAAOvB,CAAgB,EAAEI,YAAYC,EAAOC,CAAK", "names": ["AuthServiceGuard", "constructor", "authService", "router", "canActivate", "route", "state", "authInfo", "userType", "targetUserType", "url", "split", "loginUrl", "navigate", "startsWith", "\u0275\u0275inject", "AuthService", "Router", "factory", "\u0275fac", "providedIn", "_AuthServiceGuard", "isAuth", "inject"] }