hrms-user/src/router/index.ts
2024-07-26 10:42:31 +07:00

88 lines
2.4 KiB
TypeScript

import { createRouter, createWebHistory } from "vue-router";
const MainLayout = () => import("@/views/MainLayout.vue");
const Dashboard = () => import("@/modules/01_dashboard/views/Dashboard.vue");
const TestPage = () => import("@/modules/01_dashboard/views/test.vue");
const loginMain = () => import("@/views/login.vue");
import ModuleTransfer from "@/modules/02_transfer/router";
import ModuleRetire from "@/modules/03_retire/router";
import ModuleCheckin from "@/modules/04_checkin/router";
import ModuleLeave from "@/modules/05_leave/router";
import ModuEvaluate from "@/modules/06_evaluate/router";
import ModuAppealComplain from "@/modules/07_appealComplain/router";
import ModuleSupport from "@/modules/00_support/router";
import ModuleKPI from "@/modules/08_KPI/router";
import ModuleScholarship from "@/modules/09_scholarship/router";
import ModuleRegistry from "@/modules/10_registry/router";
import ModuleProbation from "@/modules/11_probation/router";
import ModuleOrganization from "@/modules/12_organization/router";
import ModulePortfolio from "@/modules/13_portfolio/router";
// TODO: ใช้หรือไม่?
import keycloak, { kcLogout } from "@/plugins/keycloak";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/",
name: "home",
component: MainLayout,
children: [
{
path: "/",
name: "dashboard",
component: Dashboard,
meta: {
Auth: true,
Key: [7],
},
},
{
path: "/test",
name: "test",
component: TestPage,
meta: {
Auth: true,
Key: [7],
},
},
...ModuleTransfer,
...ModuleRetire,
...ModuleCheckin,
...ModuleLeave,
...ModuEvaluate,
...ModuAppealComplain,
...ModuleSupport,
...ModuleKPI,
...ModuleScholarship,
...ModuleRegistry,
...ModuleProbation,
...ModuleOrganization,
...ModulePortfolio,
],
},
{
path: "/login",
name: "loginMain",
component: loginMain,
meta: {
Auth: false,
Key: [7],
},
},
],
});
// authen with keycloak client
router.beforeEach((to, from, next) => {
if (keycloak.authenticated === undefined && to.meta.Auth) {
kcLogout();
} else {
next();
}
next();
});
export default router;