feat: logged-in check toegevoegd in de router

This commit is contained in:
Joyelle Ndagijimana 2025-03-17 11:20:48 +01:00
parent 4f67b1e9fe
commit 0d15d068cd
2 changed files with 29 additions and 13 deletions

View file

@ -12,6 +12,7 @@ import CallbackPage from "@/views/CallbackPage.vue";
import UserDiscussions from "@/views/discussions/UserDiscussions.vue";
import UserClasses from "@/views/classes/UserClasses.vue";
import UserAssignments from "@/views/classes/UserAssignments.vue";
import authState from "@/services/auth/auth-service.ts";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@ -20,15 +21,18 @@ const router = createRouter({
path: "/",
name: "home",
component: () => import("../views/HomePage.vue"),
meta: {requiresAuth: false}
},
{
path: "/login",
name: "LoginPage",
component: () => import("../views/LoginPage.vue"),
meta: {requiresAuth: false},
},
{
path: "/callback",
component: CallbackPage,
meta: {requiresAuth: false}
},
{
@ -99,9 +103,23 @@ const router = createRouter({
path: "/:catchAll(.*)",
name: "NotFound",
component: NotFound,
meta: {requiresAuth: true},
meta: {requiresAuth: false}
},
],
});
router.beforeEach(async (to, from, next) => {
// Verify if user is logged in for paths that require access
if (to.meta.requiresAuth) {
if (!authState.isLoggedIn) {
next("/login");
} else {
next();
}
} else {
next();
}
});
export default router;