blob: 698aa700efe9ffd0e0c09a45ea37b6b556350b8b [file] [log] [blame]
import Vue from "vue";
import VueRouter from "vue-router";
import store from "../store/index";
import AppLayout from "../layouts/AppLayout.vue";
Vue.use(VueRouter);
const routes = [
{
path: "/",
name: "",
meta: {
requiresAuth: true
},
component: AppLayout,
children: [
{
path: "",
component: () => import("@/views/Overview")
},
{
path: "/access-control/local-user-management",
name: "local-users",
component: () => import("@/views/AccessControl/LocalUserManagement")
}
]
},
{
path: "/login",
name: "login",
component: () => import("@/views/Login")
}
];
const router = new VueRouter({
mode: "history",
base: process.env.BASE_URL,
routes,
linkExactActiveClass: "nav__link--current"
});
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
if (store.getters["authentication/isLoggedIn"]) {
next();
return;
}
next("/login");
} else {
next();
}
});
export default router;