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; console.log('login_boot', 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(); } }); });