feat: enhance canActivate guard to use zod for process ID validation

This commit is contained in:
Lorenz Hilpert
2025-03-10 10:57:54 +01:00
parent 532c7e5e86
commit 8eb5e09490
2 changed files with 9 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { ApplicationService } from '@core/application';
import { Config } from '@core/config';
import { first } from 'rxjs/operators';
import { z } from 'zod';
@Injectable({ providedIn: 'root' })
export class CanActivateGoodsInGuard {
@@ -12,10 +13,8 @@ export class CanActivateGoodsInGuard {
) {}
async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
const process = await this._applicationService
.getProcessById$(this._config.get('process.ids.goodsIn'))
.pipe(first())
.toPromise();
const pid = this._config.get('process.ids.goodsIn', z.number());
const process = await this._applicationService.getProcessById$(pid).pipe(first()).toPromise();
if (!process) {
await this._applicationService.createProcess({
id: this._config.get('process.ids.goodsIn'),