chore: move files to frontend

This commit is contained in:
Henrique Dias
2019-05-21 11:13:59 +01:00
parent d45d7f92fb
commit 7414ca10b3
137 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,150 @@
import Vue from 'vue'
import Router from 'vue-router'
import Login from '@/views/Login'
import Layout from '@/views/Layout'
import Files from '@/views/Files'
import Share from '@/views/Share'
import Users from '@/views/settings/Users'
import User from '@/views/settings/User'
import Settings from '@/views/Settings'
import GlobalSettings from '@/views/settings/Global'
import ProfileSettings from '@/views/settings/Profile'
import Error403 from '@/views/errors/403'
import Error404 from '@/views/errors/404'
import Error500 from '@/views/errors/500'
import store from '@/store'
import { baseURL } from '@/utils/constants'
Vue.use(Router)
const router = new Router({
base: baseURL,
mode: 'history',
routes: [
{
path: '/login',
name: 'Login',
component: Login,
beforeEnter: (to, from, next) => {
if (store.getters.isLogged) {
return next({ path: '/files' })
}
document.title = 'Login'
next()
}
},
{
path: '/*',
component: Layout,
children: [
{
path: '/share/*',
name: 'Share',
component: Share
},
{
path: '/files/*',
name: 'Files',
component: Files,
meta: {
requiresAuth: true
}
},
{
path: '/settings',
name: 'Settings',
component: Settings,
redirect: {
path: '/settings/profile'
},
meta: {
requiresAuth: true
},
children: [
{
path: '/settings/profile',
name: 'Profile Settings',
component: ProfileSettings
},
{
path: '/settings/global',
name: 'Global Settings',
component: GlobalSettings,
meta: {
requiresAdmin: true
}
},
{
path: '/settings/users',
name: 'Users',
component: Users,
meta: {
requiresAdmin: true
}
},
{
path: '/settings/users/*',
name: 'User',
component: User,
meta: {
requiresAdmin: true
}
}
]
},
{
path: '/403',
name: 'Forbidden',
component: Error403
},
{
path: '/404',
name: 'Not Found',
component: Error404
},
{
path: '/500',
name: 'Internal Server Error',
component: Error500
},
{
path: '/files',
redirect: {
path: '/files/'
}
},
{
path: '/*',
redirect: to => `/files${to.path}`
}
]
}
]
})
router.beforeEach((to, from, next) => {
document.title = to.name
if (to.matched.some(record => record.meta.requiresAuth)) {
if (!store.getters.isLogged) {
next({
path: '/login',
query: { redirect: to.fullPath }
})
return
}
if (to.matched.some(record => record.meta.requiresAdmin)) {
if (!store.state.user.perm.admin) {
next({ path: '/403' })
return
}
}
}
next()
})
export default router