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 { CostCentreListResolver } from '../cost-centre/cost-centre-list-resolver.service'; import { ClosingStockResolver } from './closing-stock-resolver.service'; import { ClosingStockComponent } from './closing-stock.component'; const closingStockRoutes: Routes = [ { path: '', component: ClosingStockComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Closing Stock', }, resolve: { info: (route: ActivatedRouteSnapshot) => inject(ClosingStockResolver).resolve(route), costCentres: () => inject(CostCentreListResolver).resolve(), }, runGuardsAndResolvers: 'always', }, { path: ':date', component: ClosingStockComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Closing Stock', }, resolve: { info: (route: ActivatedRouteSnapshot) => inject(ClosingStockResolver).resolve(route), costCentres: () => inject(CostCentreListResolver).resolve(), }, runGuardsAndResolvers: 'always', }, ]; @NgModule({ imports: [CommonModule, RouterModule.forChild(closingStockRoutes)], exports: [RouterModule], providers: [ClosingStockResolver], }) export class ClosingStockRoutingModule {}