59 lines
1.4 KiB
JavaScript
59 lines
1.4 KiB
JavaScript
|
import Vue from 'vue'
|
||
|
import Router from 'vue-router'
|
||
|
import Startpage from '../views/Startpage'
|
||
|
import HelloWorld from '../components/HelloWorld'
|
||
|
import Login from '../views/Login'
|
||
|
import Dashboard from '../views/Dashboard'
|
||
|
import store from '../store/store';
|
||
|
import OAuthPermission from '../views/OAuthPermission'
|
||
|
import ListApps from '../views/ListApps'
|
||
|
import AppDetails from '../views/AppDetails'
|
||
|
|
||
|
Vue.use(Router)
|
||
|
|
||
|
function guard(to, from, next){
|
||
|
if(store.state.loggedIn) {
|
||
|
next(); // allow to enter route
|
||
|
} else{
|
||
|
store.state.redirectIfLoggedIn = to;
|
||
|
next('/login'); // go to '/login';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default new Router({
|
||
|
routes: [
|
||
|
{
|
||
|
path: '/',
|
||
|
name: 'Startpage',
|
||
|
component: Startpage
|
||
|
},
|
||
|
{
|
||
|
path: '/login',
|
||
|
name: 'Login',
|
||
|
component: Login
|
||
|
},
|
||
|
{
|
||
|
path: '/oauth',
|
||
|
name: 'oAuthPermission',
|
||
|
component: OAuthPermission
|
||
|
},
|
||
|
{
|
||
|
beforeEnter: guard,
|
||
|
path: '/dashboard',
|
||
|
name: 'Dashboard',
|
||
|
component: Dashboard
|
||
|
},
|
||
|
{
|
||
|
beforeEnter: guard,
|
||
|
path: '/apps',
|
||
|
name: 'Apps',
|
||
|
component: ListApps
|
||
|
},
|
||
|
{
|
||
|
beforeEnter: guard,
|
||
|
path: '/apps/:id',
|
||
|
name: 'appDetails',
|
||
|
component: AppDetails
|
||
|
}
|
||
|
]
|
||
|
})
|