Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
app-routing.module.ts 2.68 KiB
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {AppRootComponent} from "./app-root/app-root.component";
import {LoginComponent} from "./app-root/login/login.component";
import {SysCheckStarterComponent} from "./app-root/sys-check-starter/sys-check-starter.component";
import {AdminStarterComponent} from "./app-root/admin-starter/admin-starter.component";
import {CodeInputComponent} from "./app-root/code-input/code-input.component";
import {
  CodeInputComponentActivateGuard,
  DirectLoginActivateGuard,
  RouteDispatcherActivateGuard
} from "./app-routing-guards";
import {TestStarterComponent} from "./app-root/test-starter/test-starter.component";
import {RouteDispatcherComponent} from "./app-root/route-dispatcher/route-dispatcher.component";
import {PrivacyComponent} from "./app-root/privacy/privacy.component";


const routes: Routes = [
  {
    path: '',
    redirectTo: 'r/route-dispatcher',
    pathMatch: 'full'
  },
  {path: 'r', component: AppRootComponent,
    children: [
      {path: '', redirectTo: 'route-dispatcher', pathMatch: 'full'},
      {path: 'login', redirectTo: 'route-dispatcher', pathMatch: 'full'},
      {path: 'login/:returnTo', component: LoginComponent},
      {path: 'check-starter', component: SysCheckStarterComponent},
      {path: 'test-starter', component: TestStarterComponent},
      {path: 'admin-starter', component: AdminStarterComponent},
      {path: 'route-dispatcher', component: RouteDispatcherComponent, canActivate: [RouteDispatcherActivateGuard]},
      {path: 'code-input', component: CodeInputComponent, canActivate: [CodeInputComponentActivateGuard]}
    ]
  },
  {path: 'priv', component: PrivacyComponent},
  {path: 'check', loadChildren: () => import('./sys-check/sys-check.module').then(m => m.SysCheckModule)},
  {path: 'admin', loadChildren: () => import('./workspace-admin/workspace.module').then(m => m.WorkspaceModule)},
  {path: 'superadmin', loadChildren: () => import('./superadmin/superadmin.module').then(m => m.SuperadminModule)},
  {path: 'wm', loadChildren: () => import('./workspace-monitor/workspace-monitor.module').then(m => m.WorkspaceMonitorModule)},
  {path: 'gm', loadChildren: () => import('./group-monitor/group-monitor.module').then(m => m.GroupMonitorModule)},
  {path: 't', loadChildren: () => import('./test-controller/test-controller.module').then(m => m.TestControllerModule)},
  {path: '**', component: RouteDispatcherComponent, canActivate: [DirectLoginActivateGuard]}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: [RouteDispatcherActivateGuard, DirectLoginActivateGuard, CodeInputComponentActivateGuard]
})
export class AppRoutingModule { }