This repository has been archived by the owner on Oct 12, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrouter.js
86 lines (83 loc) · 2.14 KB
/
router.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import Vue from 'vue'
import Router from 'vue-router'
import store from './store'
import Home from './views/Home.vue'
import Reset from './views/Reset.vue'
import PageNotFound from './views/PageNotFound.vue'
import CloudRender from './components/main/CloudRender'
import CourseRender from './components/main/CourseRender'
import FolderRender from './components/main/FolderRender'
import ResourceRender from './components/main/ResourceRender'
import RequestRender from './components/requests/RequestRender'
import RequestManager from './components/requests/RequestManager'
Vue.use(Router)
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
component: Home,
children: [
{
path: "/",
name: 'cloud',
component: CloudRender
},
{
path: "/course/:id",
name: 'course',
props: true,
component: CourseRender
},
{
path: "/folder/:id",
name: 'folder',
props: true,
component: FolderRender
},
{
path: 'stream/:id',
name: 'streamer',
props: true,
component: ResourceRender,
},
{
path: 'requests',
name: 'requests',
component: RequestRender,
beforeEnter: function(to, from, next) {
if (store.getters.isLoggedIn) {
next()
} else {
next({name: 'not-found'})
}
}
},
{
path: 'manage/:id/:type',
name: 'manage-request',
component: RequestManager,
props: true,
beforeEnter: function(to, from, next) {
if (store.getters.isAdmin) {
next()
} else {
next({name: 'not-found'})
}
}
}
],
},
{
path: '/reset',
name: 'reset',
component: Reset
},
{
path: "*",
name: "not-found",
component: PageNotFound
}
]
})