import { boot } from 'quasar/wrappers'; import { StateInterface } from '../store'; export default boot(({ Vue, router, store }) => { router.beforeEach((to, from, next) => { let user = (store.state).user; if (to.matched.some(record => { // permissions is set AND has NO matching permission return record.meta.permissions !== undefined && !(record.meta.permissions.filter( (value: string) => user.permissions.includes(value) ).length > 0); }) ) { next({ path: '/login', query: { redirect: to.fullPath } }); } else { next(); } }) });