2021-02-05 11:51:43 +00:00
|
|
|
import {Injectable} from '@angular/core';
|
|
|
|
import {ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot} from '@angular/router';
|
|
|
|
import {PackageService} from './package.service';
|
|
|
|
|
|
|
|
@Injectable({
|
|
|
|
providedIn: 'root',
|
|
|
|
})
|
2021-02-11 16:43:19 +00:00
|
|
|
export class PackageGuard implements CanActivate {
|
2021-02-05 11:51:43 +00:00
|
|
|
|
|
|
|
constructor(private packageService: PackageService) { }
|
|
|
|
|
|
|
|
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
|
|
|
|
return route.data && route.data.package && this.hasPackageForRoute(route.data.package);
|
|
|
|
}
|
|
|
|
|
|
|
|
private hasPackageForRoute(packageId: string): boolean {
|
|
|
|
return this.packageService.hasPackage(packageId);
|
|
|
|
}
|
|
|
|
}
|