UNPKG

6.54 kBSource Map (JSON)View Raw
1{"version":3,"file":"ng-security.js","sources":["../../../../packages/ng-security/src/security-guard.module.ts","../../../../packages/ng-security/src/security-guard.framer.ts","../../../../packages/ng-security/src/security-guard.service.ts","../../../../packages/ng-security/src/security-guard-authorizer.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { Framing } from '@framing/ng-core';\n\nimport { SecurityGuardService } from './security-guard.service';\n\n@NgModule(Framing((framing) => framing.provider(SecurityGuardService)))\nexport class SecurityGuardModule {}\n","import { Framer, FramingNgModule } from '@framing/ng-core';\n\nimport { SecurityGuardModel } from './security-guard.model';\nimport { SecurityGuardService } from './security-guard.service';\n\nexport class SecurityGuardFramer extends Framer<SecurityGuardModel, void> {\n\n public get framerName(): string { return 'SecurityGuard'; }\n\n public get addModelToRouteData(): boolean { return true; }\n\n public get defaultModel(): SecurityGuardModel {\n return {\n authorization: undefined,\n canActive: true,\n canLoad: false,\n canActivateChild: false,\n };\n }\n\n /**\n * The frame function.\n */\n public frame(framing: FramingNgModule): void {\n if (this.theModel.canActive) {\n this.route.canActivate = [ SecurityGuardService ];\n }\n\n if (this.theModel.canActivateChild) {\n this.route.canActivateChild = [ SecurityGuardService ];\n }\n\n if (this.theModel.canLoad) {\n this.route.canLoad = [ SecurityGuardService ];\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, CanLoad, Route, RouterStateSnapshot } from '@angular/router';\n\nimport { SecurityGuardAuthorizer } from './security-guard-authorizer';\nimport { SecurityGuardModel } from './security-guard.model';\n\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SecurityGuardService implements CanActivate, CanActivateChild, CanLoad {\n\n constructor(\n public authService: SecurityGuardAuthorizer,\n ) {}\n\n /**\n * CanActivate hook.\n */\n public canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean> | Promise<boolean> | boolean {\n const model = route.data ? (route.data as any).SecurityGuardModel as SecurityGuardModel : undefined;\n if (model) {\n return this.authService.canActivate(model, route, state);\n } else {\n console.warn(`Expecting 'SecurityGuardModel' in route data`, { route });\n return false;\n }\n }\n\n /**\n * CanActivateChild hook.\n */\n public canActivateChild(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean> | Promise<boolean> | boolean {\n const model = route.data ? (route.data as any).SecurityGuardModel as SecurityGuardModel : undefined;\n if (model) {\n return this.authService.canActivate(model, route, state);\n } else {\n console.warn(`Expecting 'SecurityGuardModel' in route data`, { route });\n return false;\n }\n }\n\n /**\n * CanActivate hook.\n */\n public canLoad(\n route: Route,\n ): Observable<boolean> | Promise<boolean> | boolean {\n const model = route.data ? (route.data as any).SecurityGuardModel as SecurityGuardModel : undefined;\n if (model) {\n return this.authService.canLoad(model, route);\n } else {\n console.warn(`Expecting 'SecurityGuardModel' in route data`, { route });\n return false;\n }\n }\n}\n","import { ActivatedRouteSnapshot, Route, RouterStateSnapshot } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport { SecurityGuardModel } from './security-guard.model';\n\nexport abstract class SecurityGuardAuthorizer {\n public abstract canActivate(\n config: SecurityGuardModel,\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean> | Promise<boolean> | boolean;\n\n public abstract canActivateChild(\n config: SecurityGuardModel,\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean> | Promise<boolean> | boolean;\n\n public abstract canLoad(\n config: SecurityGuardModel,\n route: Route,\n ): Observable<boolean> | Promise<boolean> | boolean;\n}\n"],"names":["__decorate"],"mappings":"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"}
\No newline at end of file