]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/admin-guard.service.ts
Client: check user is logged in for some pages
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / admin-guard.service.ts
index a0ad4817562bdbfa9e6d5f1be5964576eb8a593e..429dc032db78c9bf2febe5cdcd2b75fc3158af64 100644 (file)
@@ -3,7 +3,8 @@ import {
   ActivatedRouteSnapshot,
   CanActivateChild,
   RouterStateSnapshot,
-  CanActivate
+  CanActivate,
+  Router
 } from '@angular/router'
 
 import { AuthService } from '../core'
@@ -11,10 +12,16 @@ import { AuthService } from '../core'
 @Injectable()
 export class AdminGuard implements CanActivate, CanActivateChild {
 
-  constructor (private auth: AuthService) {}
+  constructor (
+    private router: Router,
+    private auth: AuthService
+  ) {}
 
   canActivate (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
-    return this.auth.isAdmin()
+    if (this.auth.isAdmin() === true) return true
+
+    this.router.navigate([ '/login' ])
+    return false
   }
 
   canActivateChild (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {