Project

General

Profile

1 50169 argiro.kok
import { Injectable } from '@angular/core';
2 54649 k.triantaf
import {
3
  Router,
4
  CanActivate,
5
  ActivatedRouteSnapshot,
6
  RouterStateSnapshot,
7
  Route,
8
  CanLoad
9
} from '@angular/router';
10 55964 argiro.kok
import {Observable} from 'rxjs';
11 53612 konstantin
import {LoginErrorCodes} from './utils/guardHelper.class';
12 50169 argiro.kok
13
@Injectable()
14 55964 argiro.kok
export class FreeGuard implements CanActivate {
15 50169 argiro.kok
16 54912 k.triantaf
  constructor(private router: Router) {
17
  }
18 50169 argiro.kok
19 54912 k.triantaf
  check(path: string): boolean {
20
    const valid = true;
21
    if (!valid) {
22
      this.router.navigate(['/user-info'], {queryParams: {'errorCode': LoginErrorCodes.NOT_VALID, 'redirectUrl': path}});
23 50169 argiro.kok
    }
24 54649 k.triantaf
    return valid;
25
  }
26 50169 argiro.kok
27 54649 k.triantaf
  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {
28 54665 k.triantaf
    return this.check(state.url);
29 50169 argiro.kok
  }
30 54649 k.triantaf
31 50169 argiro.kok
}