import { Injectable } from '@angular/core'; import { Router,CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute} from '@angular/router'; import {Observable} from 'rxjs/Observable'; import {Session} from './utils/helper.class'; import {ErrorCodes} from './utils/guardHelper.class'; import{EnvProperties} from '../utils/properties/env-properties'; @Injectable() export class FreeGuard implements CanActivate { constructor(private router: Router) {} canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean { var user; var valid = true; var loggedIn = false; var errorCode = ErrorCodes.NOT_LOGGIN; var properties = route.data; console.log("FreeGuard"); console.log(properties); if(Session.isLoggedIn()){ loggedIn = true; if(!Session.isValidAndRemove()){ loggedIn = false; valid = false; errorCode = ErrorCodes.NOT_VALID; } } if(!valid){ // this.guardHelper.redirect("/user-info",errorCode,state.url); this.router.navigate(['/user-info'], { queryParams: { "errorCode": errorCode, "redirectUrl": state.url } }); return false; } return true; } }