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 { RateContractDetailComponent } from './rate-contract-detail/rate-contract-detail.component'; import { RateContractListComponent } from './rate-contract-list/rate-contract-list.component'; import { RateContractListResolver } from './rate-contract-list-resolver.service'; import { RateContractResolver } from './rate-contract-resolver.service'; const rateContractRoutes: Routes = [ { path: '', component: RateContractListComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Rate Contracts', }, resolve: { list: () => inject(RateContractListResolver).resolve(), }, }, { path: 'new', component: RateContractDetailComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Rate Contracts', }, resolve: { item: (route: ActivatedRouteSnapshot) => inject(RateContractResolver).resolve(route), }, }, { path: ':id', component: RateContractDetailComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Rate Contracts', }, resolve: { item: (route: ActivatedRouteSnapshot) => inject(RateContractResolver).resolve(route), }, }, ]; @NgModule({ imports: [CommonModule, RouterModule.forChild(rateContractRoutes)], exports: [RouterModule], providers: [RateContractListResolver, RateContractResolver], }) export class RateContractRoutingModule {}