add: guard in router

This commit is contained in:
Alexandro Uc Santos
2023-11-24 21:07:42 -06:00
parent afa8e1983b
commit ec02b98272
18 changed files with 914 additions and 47 deletions

View File

@@ -1,6 +1,5 @@
import { createRouter, createWebHistory } from 'vue-router'
import AuthLayout from '../layouts/AuthLayout.vue'
import LoginView from '../views/LoginView.vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -25,21 +24,77 @@ const router = createRouter({
name: 'recovery',
component: () => import('../views/RecoveryPasswordView.vue'),
},
{
path: 'empresa',
name: 'company',
component: () => import('../views/CompleteRegisterView.vue')
}
]
},
{
path: '/dashboard',
name: 'dashboard',
component: () => import('../layouts/AdminLayout.vue'),
meta: { requiresAuth: true },
children: [
{
path: 'inicio',
name: 'inicio',
name: 'home',
component: () => import('../views/HomeView.vue'),
},
{
path: 'usuarios',
name: 'users',
component: () => import('../views/UsersView.vue'),
},
{
path: 'calendario',
name: 'calendar',
component: () => import('../views/CalendarView.vue'),
},
{
path: 'cargas',
name: 'loads',
component: () => import('../views/LoadsView.vue'),
},
{
path: 'vehiculos',
name: 'vehicles',
component: () => import('../views/VehiclesView.vue'),
},
]
}
]
})
});
router.beforeEach( async(to, from, next) => {
const requiresAuth = to.matched.some(url => url.meta.requiresAuth)
const session = localStorage.getItem('session');
// console.log('--------------- SE EJECUTA -----------------');
// console.log(session);
// console.log('--------------- FIN -----------------');
if(requiresAuth) {
//Comprobamos si el usuario esta authenticado
if(session) {
// try {
// const resp = await renewToken();
// if(resp.msg == 'success') {
// next();
// } else {
// next({name: 'login'})
// }
// } catch (error) {
// console.log(error);
// next({name: 'login'})
// }
next();
} else {
next({name: 'login'})
}
} else {
// No esta protegido
next();
}
});
export default router