pdnsmanager/frontend/src/app/app-routing.module.ts

94 lines
2.9 KiB
TypeScript
Raw Normal View History

2018-04-10 17:17:20 +02:00
import { EditUserComponent } from './pages/edit-user/edit-user.component';
import { AdminGuard } from './services/admin-guard.service';
import { UsersComponent } from './pages/users/users.component';
2018-04-10 16:16:11 +02:00
import { CreateAuthComponent } from './pages/create-auth/create-auth.component';
2018-04-09 22:32:23 +02:00
import { CreateSlaveComponent } from './pages/create-slave/create-slave.component';
import { EditSlaveComponent } from './pages/edit-slave/edit-slave.component';
2018-04-08 16:48:56 +02:00
import { PasswordComponent } from './pages/password/password.component';
2018-04-08 14:30:00 +02:00
import { AuthGuard } from './services/auth-guard.service';
2018-04-08 13:02:00 +02:00
import { DomainsComponent } from './pages/domains/domains.component';
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LoginComponent } from './pages/login/login.component';
import { EditAuthComponent } from './pages/edit-auth/edit-auth.component';
2018-04-08 13:02:00 +02:00
const routes: Routes = [
{
path: '',
2018-04-08 14:30:00 +02:00
component: LoginComponent,
pathMatch: 'full'
2018-04-08 13:02:00 +02:00
},
{
2018-04-08 14:30:00 +02:00
path: 'logout',
component: LoginComponent,
data: { logout: true }
2018-04-08 13:02:00 +02:00
},
{
path: '',
2018-04-08 14:30:00 +02:00
pathMatch: 'prefix',
canActivate: [AuthGuard],
children: [
{
path: 'domains',
component: DomainsComponent
},
{
path: 'domains/slave/:domainId',
component: EditSlaveComponent
},
{
2018-04-10 16:16:11 +02:00
path: 'domains/master/:domainId',
component: EditAuthComponent,
data: { type: 'MASTER' }
},
{
path: 'domains/native/:domainId',
component: EditAuthComponent,
data: { type: 'NATIVE' }
},
2018-04-09 22:32:23 +02:00
{
path: 'domains/create/slave',
component: CreateSlaveComponent
},
2018-04-10 16:16:11 +02:00
{
path: 'domains/create/master',
component: CreateAuthComponent,
data: { type: 'MASTER' }
},
{
path: 'domains/create/native',
component: CreateAuthComponent,
data: { type: 'NATIVE' }
},
2018-04-10 17:17:20 +02:00
{
path: '',
canActivate: [AdminGuard],
children: [
{
path: 'users',
component: UsersComponent
},
{
path: 'users/:userId',
component: EditUserComponent
}
]
},
2018-04-08 16:48:56 +02:00
{
path: 'password',
component: PasswordComponent
},
2018-04-08 14:30:00 +02:00
{
path: '**',
redirectTo: '/'
}
]
2018-04-08 13:02:00 +02:00
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }