import { CommonModule } from '@angular/common'; import { NgModule, inject } from '@angular/core'; import { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes } from '@angular/router'; import { AuthGuard } from '../auth/auth-guard.service'; import { IncentiveResolver } from './incentive-resolver.service'; import { IncentiveComponent } from './incentive.component'; const incentiveRoutes: Routes = [ { path: '', component: IncentiveComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'incentive', }, resolve: { voucher: (route: ActivatedRouteSnapshot) => inject(IncentiveResolver).resolve(route), }, runGuardsAndResolvers: 'always', }, { path: ':id', component: IncentiveComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'incentive', }, resolve: { voucher: (route: ActivatedRouteSnapshot) => inject(IncentiveResolver).resolve(route), }, runGuardsAndResolvers: 'always', }, ]; @NgModule({ imports: [CommonModule, RouterModule.forChild(incentiveRoutes)], exports: [RouterModule], providers: [IncentiveResolver], }) export class IncentiveRoutingModule {}