Moved to _dev
This commit is contained in:
39
crater/resources/scripts/router/index.js
Normal file
39
crater/resources/scripts/router/index.js
Normal file
@@ -0,0 +1,39 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import { useUserStore } from '@/scripts/admin/stores/user'
|
||||
import { useGlobalStore } from '@/scripts/admin/stores/global'
|
||||
|
||||
//admin routes
|
||||
import AdminRoutes from '@/scripts/admin/admin-router'
|
||||
// Customers routes
|
||||
import CustomerRoutes from '@/scripts/customer/customer-router'
|
||||
//Payment Routes
|
||||
|
||||
let routes = []
|
||||
routes = routes.concat(AdminRoutes, CustomerRoutes)
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(),
|
||||
linkActiveClass: 'active',
|
||||
routes,
|
||||
})
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
let ability = to.meta.ability
|
||||
const { isAppLoaded } = globalStore
|
||||
|
||||
if (ability && isAppLoaded && to.meta.requiresAuth) {
|
||||
if (userStore.hasAbilities(ability)) {
|
||||
next()
|
||||
} else next({ name: 'account.settings' })
|
||||
} else if (to.meta.isOwner && isAppLoaded) {
|
||||
if (userStore.currentUser.is_owner) {
|
||||
next()
|
||||
} else next({ name: 'dashboard' })
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
})
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user