import { Injectable } from '@angular/core'
-import {
- ActivatedRouteSnapshot,
- CanActivateChild,
- RouterStateSnapshot,
- CanActivate,
- Router
-} from '@angular/router'
-
+import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'
import { AuthService } from '../auth/auth.service'
+import { RedirectService } from './redirect.service'
@Injectable()
-export class LoginGuard implements CanActivate, CanActivateChild {
+export class LoginGuard {
constructor (
- private router: Router,
- private auth: AuthService
+ private auth: AuthService,
+ private redirectService: RedirectService
) {}
canActivate (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (this.auth.isLoggedIn() === true) return true
- this.auth.redirectUrl = state.url
-
- this.router.navigate([ '/login' ])
+ this.redirectService.redirectToLogin()
return false
}