Files
wgenerator/src/app/app-routing.module.ts
2021-05-21 10:10:45 +02:00

59 lines
1.8 KiB
TypeScript

import {NgModule} from '@angular/core';
import {PreloadAllModules, RouterModule, Routes} from '@angular/router';
import {AngularFireAuthGuard, redirectUnauthorizedTo} from '@angular/fire/auth-guard';
import {RoleGuard} from './widget-modules/guards/role.guard';
const routes: Routes = [
{
path: '',
redirectTo: 'songs',
pathMatch: 'full'
},
{
path: 'songs',
loadChildren: () => import('./modules/songs/songs.module').then(m => m.SongsModule),
canActivate: [AngularFireAuthGuard, RoleGuard],
data: {
authGuardPipe: () => redirectUnauthorizedTo(['user', 'login']),
requiredRoles: ['user']
}
},
{
path: 'shows',
loadChildren: () => import('./modules/shows/shows.module').then(m => m.ShowsModule),
canActivate: [AngularFireAuthGuard, RoleGuard],
data: {
authGuardPipe: () => redirectUnauthorizedTo(['user', 'login']),
requiredRoles: ['leader']
}
},
{
path: 'presentation',
loadChildren: () => import('./modules/presentation/presentation.module').then(m => m.PresentationModule),
canActivate: [AngularFireAuthGuard, RoleGuard],
data: {
authGuardPipe: () => redirectUnauthorizedTo(['user', 'login']),
requiredRoles: ['presenter']
}
},
{
path: 'user',
loadChildren: () => import('./modules/user/user.module').then(m => m.UserModule)
},
{
path: 'brand',
loadChildren: () => import('./modules/brand/brand.module').then(m => m.BrandModule),
},
{
path: 'guest',
loadChildren: () => import('./modules/guest/guest.module').then(m => m.GuestModule),
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, relativeLinkResolution: 'legacy' })],
exports: [RouterModule]
})
export class AppRoutingModule {
}