{"ast":null,"code":"import * as i0 from \"@angular/core\";\nimport * as i1 from \"./auth.service\";\nimport * as i2 from \"@angular/router\";\nexport let AuthGuard = /*#__PURE__*/(() => {\n  class AuthGuard {\n    constructor(authService, router) {\n      this.authService = authService;\n      this.router = router;\n    }\n    canActivate(route, state) {\n      const requiredPermission = route.data['permission'];\n      const isLoggedIn = this.authService.isLoggedIn();\n      const hasPermission = requiredPermission ? this.authService.hasFunctionality(requiredPermission) : true;\n      console.log('AuthGuard :: isLoggedIn()', isLoggedIn);\n      console.log('AuthGuard :: requiredPermission =', requiredPermission);\n      console.log('AuthGuard :: hasPermission =', hasPermission);\n      if (!isLoggedIn) {\n        this.router.navigate(['/login']);\n        return false;\n      }\n      if (!hasPermission) {\n        this.router.navigate(['/unauthorized']);\n        return false;\n      }\n      return true;\n    }\n    static #_ = this.ɵfac = function AuthGuard_Factory(t) {\n      return new (t || AuthGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.Router));\n    };\n    static #_2 = this.ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n      token: AuthGuard,\n      factory: AuthGuard.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return AuthGuard;\n})();","map":{"version":3,"names":["AuthGuard","constructor","authService","router","canActivate","route","state","requiredPermission","data","isLoggedIn","hasPermission","hasFunctionality","console","log","navigate","_","i0","ɵɵinject","i1","AuthService","i2","Router","_2","factory","ɵfac","providedIn"],"sources":["/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/services/auth.guard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n  constructor(private authService: AuthService, private router: Router) {}\r\n\r\n  canActivate(\r\n    route: ActivatedRouteSnapshot,\r\n    state: RouterStateSnapshot\r\n  ): boolean {\r\n    const requiredPermission = route.data['permission'];\r\n\r\n    const isLoggedIn = this.authService.isLoggedIn();\r\n    const hasPermission = requiredPermission\r\n      ? this.authService.hasFunctionality(requiredPermission)\r\n      : true;\r\n\r\n    console.log('AuthGuard :: isLoggedIn()', isLoggedIn);\r\n    console.log('AuthGuard :: requiredPermission =', requiredPermission);\r\n    console.log('AuthGuard :: hasPermission =', hasPermission);\r\n\r\n    if (!isLoggedIn) {\r\n      this.router.navigate(['/login']);\r\n      return false;\r\n    }\r\n\r\n    if (!hasPermission) {\r\n      this.router.navigate(['/unauthorized']);\r\n      return false;\r\n    }\r\n\r\n    return true;\r\n  }\r\n}\r\n"],"mappings":";;;AAOA,WAAaA,SAAS;EAAhB,MAAOA,SAAS;IACpBC,YAAoBC,WAAwB,EAAUC,MAAc;MAAhD,KAAAD,WAAW,GAAXA,WAAW;MAAuB,KAAAC,MAAM,GAANA,MAAM;IAAW;IAEvEC,WAAWA,CACTC,KAA6B,EAC7BC,KAA0B;MAE1B,MAAMC,kBAAkB,GAAGF,KAAK,CAACG,IAAI,CAAC,YAAY,CAAC;MAEnD,MAAMC,UAAU,GAAG,IAAI,CAACP,WAAW,CAACO,UAAU,EAAE;MAChD,MAAMC,aAAa,GAAGH,kBAAkB,GACpC,IAAI,CAACL,WAAW,CAACS,gBAAgB,CAACJ,kBAAkB,CAAC,GACrD,IAAI;MAERK,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEJ,UAAU,CAAC;MACpDG,OAAO,CAACC,GAAG,CAAC,mCAAmC,EAAEN,kBAAkB,CAAC;MACpEK,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAEH,aAAa,CAAC;MAE1D,IAAI,CAACD,UAAU,EAAE;QACf,IAAI,CAACN,MAAM,CAACW,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,KAAK;;MAGd,IAAI,CAACJ,aAAa,EAAE;QAClB,IAAI,CAACP,MAAM,CAACW,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC;QACvC,OAAO,KAAK;;MAGd,OAAO,IAAI;IACb;IAAC,QAAAC,CAAA,G;uBA7BUf,SAAS,EAAAgB,EAAA,CAAAC,QAAA,CAAAC,EAAA,CAAAC,WAAA,GAAAH,EAAA,CAAAC,QAAA,CAAAG,EAAA,CAAAC,MAAA;IAAA;IAAA,QAAAC,EAAA,G;aAATtB,SAAS;MAAAuB,OAAA,EAATvB,SAAS,CAAAwB,IAAA;MAAAC,UAAA,EAFR;IAAM;;SAEPzB,SAAS;AAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}