{"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":null,"metadata":{},"sourceType":"module","externalDependencies":[]}