aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/auth/login-guard.service.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-10-10 10:18:25 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-10-10 10:24:02 +0200
commitf47bf2e142b0b22460558e23720f5aed8deb982c (patch)
tree63a084494585a67e4326bf18c611e108de59aaee /client/src/app/core/auth/login-guard.service.ts
parent35bf0c83c80f59ca79f4b84fac8700f17adeb22d (diff)
downloadPeerTube-f47bf2e142b0b22460558e23720f5aed8deb982c.tar.gz
PeerTube-f47bf2e142b0b22460558e23720f5aed8deb982c.tar.zst
PeerTube-f47bf2e142b0b22460558e23720f5aed8deb982c.zip
Client: check user is logged in for some pages
Diffstat (limited to 'client/src/app/core/auth/login-guard.service.ts')
-rw-r--r--client/src/app/core/auth/login-guard.service.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/client/src/app/core/auth/login-guard.service.ts b/client/src/app/core/auth/login-guard.service.ts
new file mode 100644
index 000000000..c09e8fe97
--- /dev/null
+++ b/client/src/app/core/auth/login-guard.service.ts
@@ -0,0 +1,30 @@
1import { Injectable } from '@angular/core'
2import {
3 ActivatedRouteSnapshot,
4 CanActivateChild,
5 RouterStateSnapshot,
6 CanActivate,
7 Router
8} from '@angular/router'
9
10import { AuthService } from './auth.service'
11
12@Injectable()
13export class LoginGuard implements CanActivate, CanActivateChild {
14
15 constructor (
16 private router: Router,
17 private auth: AuthService
18 ) {}
19
20 canActivate (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
21 if (this.auth.isLoggedIn() === true) return true
22
23 this.router.navigate([ '/login' ])
24 return false
25 }
26
27 canActivateChild (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
28 return this.canActivate(route, state)
29 }
30}