2020-05-13 14:41:43 +02:00
|
|
|
import { NgModule } from '@angular/core';
|
|
|
|
import { RouterModule, Routes } from '@angular/router';
|
2020-06-25 12:52:57 +02:00
|
|
|
import { AuthGuard } from 'src/app/guards/auth.guard';
|
|
|
|
import { RoleGuard } from 'src/app/guards/role.guard';
|
2020-05-13 14:41:43 +02:00
|
|
|
|
2020-06-10 15:52:56 +02:00
|
|
|
import { GrantedProjectDetailComponent } from './granted-project-detail/granted-project-detail.component';
|
2020-06-16 14:52:07 +02:00
|
|
|
import { OwnedProjectDetailComponent } from './owned-project-detail/owned-project-detail.component';
|
|
|
|
import { ProjectsComponent } from './projects.component';
|
2020-05-13 14:41:43 +02:00
|
|
|
|
|
|
|
const routes: Routes = [
|
|
|
|
{
|
|
|
|
path: '',
|
2020-06-16 14:52:07 +02:00
|
|
|
component: ProjectsComponent,
|
2020-05-13 14:41:43 +02:00
|
|
|
data: { animation: 'HomePage' },
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: 'create',
|
|
|
|
loadChildren: () => import('../project-create/project-create.module').then(m => m.ProjectCreateModule),
|
2020-06-25 12:52:57 +02:00
|
|
|
canActivate: [AuthGuard, RoleGuard],
|
|
|
|
data: {
|
|
|
|
roles: ['project.write'],
|
|
|
|
},
|
2020-05-13 14:41:43 +02:00
|
|
|
},
|
2020-06-09 17:12:35 +02:00
|
|
|
{
|
|
|
|
path: ':id/grant/:grantId',
|
2020-06-10 15:52:56 +02:00
|
|
|
component: GrantedProjectDetailComponent,
|
2020-06-09 17:12:35 +02:00
|
|
|
data: { animation: 'HomePage' },
|
|
|
|
},
|
2020-05-13 14:41:43 +02:00
|
|
|
{
|
|
|
|
path: ':id',
|
2020-06-16 14:52:07 +02:00
|
|
|
component: OwnedProjectDetailComponent,
|
2020-05-13 14:41:43 +02:00
|
|
|
data: { animation: 'HomePage' },
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: ':projectid/members',
|
|
|
|
loadChildren: () => import('./project-members/project-members.module').then(m => m.ProjectMembersModule),
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: ':projectid/apps',
|
|
|
|
data: { animation: 'AddPage' },
|
|
|
|
loadChildren: () => import('../apps/apps.module').then(m => m.AppsModule),
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: ':projectid/roles/create',
|
|
|
|
loadChildren: () => import('../project-role-create/project-role-create.module').then(m => m.ProjectRoleCreateModule),
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: ':projectid/grants/create',
|
|
|
|
loadChildren: () => import('../project-grant-create/project-grant-create.module')
|
|
|
|
.then(m => m.ProjectGrantCreateModule),
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
@NgModule({
|
|
|
|
imports: [RouterModule.forChild(routes)],
|
|
|
|
exports: [RouterModule],
|
|
|
|
})
|
|
|
|
export class ProjectsRoutingModule { }
|