FarmMapsLib/projects/common/src/fm/services/package-guard.service.ts

20 lines
640 B
TypeScript
Raw Normal View History

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',
})
export class PackageGuardService implements CanActivate {
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);
}
}