27 lines
2.0 KiB
TypeScript
27 lines
2.0 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
import { RouterModule, Routes } from '@angular/router';
|
|
import { NotFoundComponent } from './components/error/not-found/not-found.component';
|
|
import { HomeComponent } from './components/home/home.component';
|
|
import { AuthRoles } from './models/auth/auth-roles.enum';
|
|
import { AuthGuard } from './modules/shared/guards/auth/auth.guard';
|
|
|
|
const routes: Routes = [
|
|
{ path: '', redirectTo: 'home', pathMatch: 'full' },
|
|
{ path: 'home', component: HomeComponent, pathMatch: 'full' },
|
|
{ path: 'host', loadChildren: () => import('./modules/view/host/host.module').then(m => m.HostModule), canActivate: [AuthGuard], data: { role: AuthRoles.Admin } },
|
|
{ path: 'gameserver', loadChildren: () => import('./modules/view/gameserver/gameserver.module').then(m => m.GameserverModule), canActivate: [AuthGuard], data: { role: AuthRoles.User } },
|
|
{ path: 'support', loadChildren: () => import('./modules/view/support/support.module').then(m => m.SupportModule), canActivate: [AuthGuard], data: { role: AuthRoles.Supporter } },
|
|
{ path: 'change-password', loadChildren: () => import('./modules/view/change-password/change-password.module').then(m => m.ChangePasswordModule), canActivate: [AuthGuard] },
|
|
{ path: 'user-settings', loadChildren: () => import('./modules/view/user-settings/user-settings.module').then(m => m.UserSettingsModule), canActivate: [AuthGuard] },
|
|
{ path: 'auth', loadChildren: () => import('./modules/auth/auth.module').then(m => m.AuthModule) },
|
|
{ path: 'admin/settings', loadChildren: () => import('./modules/admin/settings/settings.module').then(m => m.SettingsModule), canActivate: [AuthGuard], data: { role: AuthRoles.Admin } },
|
|
{ path: 'admin/users', loadChildren: () => import('./modules/admin/auth-users/auth-user.module').then(m => m.AuthUserModule), canActivate: [AuthGuard], data: { role: AuthRoles.Admin } },
|
|
{ path: '404', component: NotFoundComponent}
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
|
|
exports: [RouterModule]
|
|
})
|
|
export class AppRoutingModule { }
|