1 import { Injectable } from '@angular/core'
2 import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'
3 import { AuthService } from '../auth/auth.service'
4 import { RedirectService } from './redirect.service'
7 export class UserRightGuard {
10 private redirectService: RedirectService,
11 private auth: AuthService
14 canActivate (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
15 const user = this.auth.getUser()
17 const neededUserRight = route.data.userRight
19 if (user.hasRight(neededUserRight)) return true
22 this.redirectService.redirectToLogin()
26 canActivateChild (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
27 return this.canActivate(route, state)