42 lines
1.8 KiB
TypeScript
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 {
|
|
}
|