Jucundus/client/src/app/core/guards/auth.guard.ts

33 lines
945 B
TypeScript

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import * as moment from 'moment';
import { AuthenticationService } from '../services/auth.service';
import { NotificationService } from '../services/notification.service';
@Injectable()
export class AuthGuard {
constructor(private router: Router,
private notificationService: NotificationService,
private authService: AuthenticationService) { }
canActivate() {
const user = this.authService.getCurrentUser();
if (user && user.expiration) {
if (moment() < moment(user.expiration)) {
return true;
} else {
this.notificationService.openSnackBar('Your session has expired');
this.router.navigate(['auth/login']);
return false;
}
}
this.router.navigate(['auth/login']);
return false;
}
}