Files
micro-frontend/ng-ttc-frontend/src/app/controls/main-control/main-control-routing.module.ts
supphakitd 60be3f7890
Some checks failed
Build Docker Image / Restart Docker Compose (push) Has been cancelled
Build Docker Image / Build Docker Image (push) Has been cancelled
ng-ttc-frontend: sep userrole, added roleGuard
Signed-off-by: supphakitd <67319010028@technictrang.ac.th>
2025-12-03 06:54:07 +07:00

50 lines
2.0 KiB
TypeScript

import { MainManagerContentComponent } from './../../content/main-manager-content/main-manager-content.component';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { MainDashboardContentComponent } from '../../content/main-dashboard-content/main-dashboard-content.component';
import { MainReportComponent } from '../../component/main-report/main-report.component';
import { BudgetAproval } from '../../component/budget-aproval/budget-aproval';
import { MainLandingComponent } from '../../component/main-landing/main-landing.component';
import { MainProjectContent } from '../../content/main-project-content/main-project-content';
import { BudgetAprovalContent } from '../../content/budget-aproval-content/budget-aproval-content';
import { RoleGuard } from '../../services/role.guard.ts';
// import { MainReportComponent } from '../../component/main-report/main-report.component';
const routes: Routes = [
{ path: 'landing', component: MainLandingComponent },
{ path: 'dashboard', component: MainDashboardContentComponent },
{ path: 'report', component: MainReportComponent },
{
path: 'project',
canActivate: [RoleGuard],
data: { denyRole: 'D' },
component: MainProjectContent
},
{
path: 'project/:mode',
canActivate: [RoleGuard],
data: { denyRole: 'D' },
component: MainProjectContent
},
//manager route blocked for users with role "D" via RoleGuard
{
path: 'manager',
canActivate: [RoleGuard],
data: { denyRole: 'U' },
children: [
{ path: '', component: MainManagerContentComponent }, // รายการโครงการ
{ path: 'aproval', component: BudgetAprovalContent }, // จัดการงบประมาณ
]
},
{ path: '', redirectTo: 'landing', pathMatch: 'full' },
{ path: '**', redirectTo: 'landing' }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class MainControlRoutingModule { }