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 { RoleDetailComponent } from './role-detail/role-detail.component'; import { RoleListComponent } from './role-list/role-list.component'; import { roleListResolver } from './role-list.resolver'; import { roleResolver } from './role.resolver'; const roleRoutes: Routes = [ { path: '', component: RoleListComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Users', }, resolve: { list: roleListResolver, }, }, { path: 'new', component: RoleDetailComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Users', }, resolve: { item: roleResolver, }, }, { path: ':id', component: RoleDetailComponent, canActivate: [ (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state), ], data: { permission: 'Users', }, resolve: { item: roleResolver, }, }, ]; @NgModule({ imports: [CommonModule, RouterModule.forChild(roleRoutes)], exports: [RouterModule], }) export class RoleRoutingModule {}