Files
cmc/support-portal-frontend/src/app/app-routing.module.ts

42 lines
1.8 KiB
TypeScript

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from "@angular/router";
import {LoginComponent} from "./component/login/login.component";
import {RegisterComponent} from "./component/register/register.component";
import {UserComponent} from "./component/user/user.component";
import {AuthenticationGuard} from "./guard/authentication.guard";
import {ManagementComponent} from "./component/management/management.component";
import {UsersComponent} from "./component/management/users/users.component";
import {SettingsComponent} from "./component/management/settings/settings.component";
import {ProfileComponent} from "./component/management/profile/profile.component";
import {UserEditComponent} from "./component/management/users/user-edit/user-edit.component";
import {UserViewComponent} from "./component/management/users/user-view/user-view.component";
import {UserResolver} from "./component/management/users/user-resolver.service";
export const routes: Routes = [
{path: 'login', component: LoginComponent},
{path: 'register', component: RegisterComponent},
{path: 'user/management', component: UserComponent, canActivate: [AuthenticationGuard]},
{
path: 'management', component: ManagementComponent, canActivate: [AuthenticationGuard],
children: [
{path: 'settings', component: SettingsComponent},
{path: 'profile', component: ProfileComponent},
{
path: 'users', component: UsersComponent,
children: [
{path: ':id/view', component: UserViewComponent, resolve: {user: UserResolver}},
{path: ':id/edit', component: UserEditComponent}
]
}
]
},
{path: '', redirectTo: '/login', pathMatch: 'full'}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}