179 lines
4.7 KiB
TypeScript
179 lines
4.7 KiB
TypeScript
import { Routes } from '@angular/router';
|
|
|
|
import {
|
|
AeronefsComponent, CalculatorComponent, CanopiesComponent, CredentialsComponent,
|
|
HerowarsComponent, HerowarsGuildraidComponent, HerowarsGuildwarComponent,
|
|
DashboardComponent, DemoComponent, DropzonesComponent, JumpComponent, JumpsComponent,
|
|
LogbookComponent, PageComponent, PagesComponent, ProductComponent, ProductsComponent, ProfileComponent, QcmComponent, SettingsComponent
|
|
} from '@components';
|
|
import { authGuard, adminGuard } from '@guards';
|
|
import {
|
|
aeronefsPageResolver, articleResolver, articlesResolver, authResolver, canopiesPageResolver, dropZonesPageResolver,
|
|
jumpResolver, jumpsPageResolver, lastjumpResolver, productResolver, productsResolver, profileResolver, qcmResolver
|
|
} from '@resolvers';
|
|
|
|
export const AUTH_ROUTES: Routes = [
|
|
{
|
|
path: 'demo',
|
|
component: DemoComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'herowars',
|
|
component: HerowarsComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'herowars/guildwar',
|
|
component: HerowarsGuildwarComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'herowars/guildraid',
|
|
component: HerowarsGuildraidComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'page/:slug',
|
|
component: PageComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
pageData: articleResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'pages',
|
|
component: PagesComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
pageData: articlesResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'product/:slug',
|
|
component: ProductComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
pageData: productResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'products/:category',
|
|
component: ProductsComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
pageData: productsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'products',
|
|
component: ProductsComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
pageData: productsResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'profile',
|
|
component: ProfileComponent,
|
|
canActivate: [ authGuard ],
|
|
children: [
|
|
{
|
|
path: ':username',
|
|
component: ProfileComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
profile: profileResolver
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: 'qcm/:type',
|
|
component: QcmComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
qcm: qcmResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'settings',
|
|
component: SettingsComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'settings/credentials',
|
|
component: CredentialsComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'skydive',
|
|
component: DemoComponent,
|
|
canActivate: [ authGuard ]
|
|
},
|
|
{
|
|
path: 'skydive/aeronefs',
|
|
component: AeronefsComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
aeronefsPageData: aeronefsPageResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/calculator',
|
|
component: CalculatorComponent,
|
|
canActivate: [ authGuard ],
|
|
resolve: {
|
|
isAuthenticated: authResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/canopies',
|
|
component: CanopiesComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
canopiesPageData: canopiesPageResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/dashboard',
|
|
component: DashboardComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
isAuthenticated: authResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/dropzones',
|
|
component: DropzonesComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
dropZonesPageData: dropZonesPageResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/jumps',
|
|
component: JumpsComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
pageData: jumpsPageResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/jump/:slug',
|
|
component: JumpComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
pageData: jumpResolver
|
|
}
|
|
},
|
|
{
|
|
path: 'skydive/logbook',
|
|
component: LogbookComponent,
|
|
canActivate: [ authGuard, adminGuard ],
|
|
resolve: {
|
|
isAuthenticated: authResolver,
|
|
lastjump: lastjumpResolver
|
|
}
|
|
}
|
|
]; |