2019-06-20 16:04:08 +00:00
|
|
|
import Vue from 'vue'
|
|
|
|
import Router from 'vue-router'
|
|
|
|
import Startpage from '../views/Startpage'
|
|
|
|
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'
|
2019-07-23 16:08:19 +00:00
|
|
|
import NewApp from '../views/NewApp'
|
2019-08-11 18:48:02 +00:00
|
|
|
import Mail from '../views/Mail'
|
2019-09-24 17:00:22 +00:00
|
|
|
import Invite from '../views/Invite'
|
|
|
|
import Register from '../views/Register'
|
2019-09-25 09:00:55 +00:00
|
|
|
import Access from '../views/Access'
|
2019-11-22 11:06:33 +00:00
|
|
|
import Profile from '../views/Profile'
|
2019-06-20 16:04:08 +00:00
|
|
|
|
2019-11-22 15:13:51 +00:00
|
|
|
import AdminSettings from '../views/admin/Settings'
|
2019-11-22 17:22:31 +00:00
|
|
|
import AdminUserList from '../views/admin/User'
|
|
|
|
import AdminUserEdit from '../views/admin/UserEdit'
|
2019-11-22 15:13:51 +00:00
|
|
|
|
2019-06-20 16:04:08 +00:00
|
|
|
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';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-22 15:13:51 +00:00
|
|
|
function admin(to, from, next){
|
|
|
|
if(store.state.loggedIn) {
|
|
|
|
next(); // allow to enter route
|
|
|
|
} else{
|
|
|
|
store.state.redirectIfLoggedIn = to;
|
|
|
|
next('/login'); // go to '/login';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-20 16:04:08 +00:00
|
|
|
export default new Router({
|
|
|
|
routes: [
|
|
|
|
{
|
|
|
|
path: '/',
|
|
|
|
name: 'Startpage',
|
|
|
|
component: Startpage
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/login',
|
|
|
|
name: 'Login',
|
|
|
|
component: Login
|
|
|
|
},
|
2019-09-24 17:00:22 +00:00
|
|
|
{
|
|
|
|
path: '/invited',
|
|
|
|
name: 'Invite',
|
|
|
|
component: Invite
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/register',
|
|
|
|
name: 'Register',
|
|
|
|
component: Register
|
|
|
|
},
|
2019-06-20 16:04:08 +00:00
|
|
|
{
|
|
|
|
path: '/oauth',
|
|
|
|
name: 'oAuthPermission',
|
|
|
|
component: OAuthPermission
|
|
|
|
},
|
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/dashboard',
|
|
|
|
name: 'Dashboard',
|
|
|
|
component: Dashboard
|
|
|
|
},
|
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/apps',
|
|
|
|
name: 'Apps',
|
|
|
|
component: ListApps
|
|
|
|
},
|
2019-09-25 09:00:55 +00:00
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/access',
|
|
|
|
name: 'Access',
|
|
|
|
component: Access
|
|
|
|
},
|
2019-11-22 11:06:33 +00:00
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/profile',
|
|
|
|
name: 'Profile',
|
|
|
|
component: Profile
|
|
|
|
},
|
2019-07-23 16:08:19 +00:00
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/apps/new',
|
|
|
|
name: 'newApp',
|
|
|
|
component: NewApp
|
|
|
|
},
|
2019-06-20 16:04:08 +00:00
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/apps/:id',
|
|
|
|
name: 'appDetails',
|
|
|
|
component: AppDetails
|
2019-08-11 18:48:02 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
beforeEnter: guard,
|
|
|
|
path: '/user/mails',
|
|
|
|
name: 'userMails',
|
|
|
|
component: Mail
|
2019-11-22 15:13:51 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
beforeEnter: admin,
|
|
|
|
path: '/admin/settings',
|
|
|
|
name: 'adminSettings',
|
|
|
|
component: AdminSettings
|
|
|
|
},
|
2019-11-22 17:22:31 +00:00
|
|
|
{
|
|
|
|
beforeEnter: admin,
|
|
|
|
path: '/admin/user',
|
|
|
|
name: 'adminUserList',
|
|
|
|
component: AdminUserList
|
|
|
|
},
|
|
|
|
{
|
|
|
|
beforeEnter: admin,
|
|
|
|
path: '/admin/user/:id',
|
|
|
|
name: 'adminUserEdit',
|
|
|
|
component: AdminUserEdit
|
|
|
|
},
|
2019-06-20 16:04:08 +00:00
|
|
|
]
|
2019-08-11 19:03:20 +00:00
|
|
|
})
|