WIP User service, login routing.

This commit is contained in:
2019-03-02 02:07:56 -06:00
parent a6e8da95f4
commit bcde5fbfc0
3 changed files with 69 additions and 13 deletions

View File

@ -1,13 +1,17 @@
import Vue from 'vue';
import Router from 'vue-router';
import Dashboard from './views/Dashboard.vue';
import Measures from './views/Measures.vue';
import UserAccount from './views/UserAccount.vue';
import QuickPanels from './views/QuickPanels.vue';
import { default as Router, Route } from 'vue-router';
import Dashboard from '@/views/Dashboard.vue';
import Login from '@/views/Login.vue';
import Measures from '@/views/Measures.vue';
import UserAccount from '@/views/UserAccount.vue';
import QuickPanels from '@/views/QuickPanels.vue';
import userService from '@/services/user';
Vue.use(Router);
export default new Router({
const router = new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
@ -15,25 +19,47 @@ export default new Router({
path: '/',
redirect: '/dashboard'
},
{
path: '/login',
name: 'login',
component: Login
},
{
path: '/dashboard',
name: 'dashboard',
component: Dashboard
component: Dashboard,
meta: { requiresAuth: true }
},
{
path: '/measures',
name: 'measures',
component: Measures
component: Measures,
meta: { requiresAuth: true }
},
{
path: '/user-account',
name: 'user-account',
component: UserAccount
component: UserAccount,
meta: { requiresAuth: true }
},
{
path: '/quick-panels',
name: 'quick-panels',
component: QuickPanels
component: QuickPanels,
meta: { requiresAuth: true }
}
]
});
// Auth filter
router.beforeEach((to, from, next) => {
if (to.matched.some((record) => record.meta.requiresAuth)) {
if (!userService.isAuthed()) {
next({
path: '/login',
params: { nextUrl: to.fullPath } });
} else { next(); } // if authed
} else { next(); } // if auth required
});
export default router;