File

src/services/can-activate-guard.service.ts

Index

Properties
Methods

Constructor

constructor(router: Router, userService: UserService)
Parameters :
Name Type Optional Description
router Router
userService UserService

Methods

Public canActivate
canActivate()
Returns : boolean

Properties

Private connected
connected:
Default value : false
import { Injectable } from '@angular/core';
import { CanActivate, Router } from '@angular/router';
import { UserService } from './user.service';

@Injectable()
export class CanActivateGuard implements CanActivate {
  private connected = false;

  constructor(
    private router: Router,
    private userService: UserService
  ) {
    this.userService.getCurrent().subscribe((user) => {
      this.connected = user.connected;
    });
  }

  public canActivate() {
    // test here if you user is logged
    if ( !this.connected ) {
      this.router.navigate( [ 'login' ] );
    }
    return this.connected;
  }
}

results matching ""

    No results matching ""