59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
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 {}
|