mirror of
https://github.com/Bubka/2FAuth.git
synced 2025-08-17 17:11:06 +02:00
Add Starter middleware & Restore the Data have changed notification
This commit is contained in:
5
resources/js_vue3/router/index.js
vendored
5
resources/js_vue3/router/index.js
vendored
@@ -27,7 +27,8 @@ import EditCredential from '../views/settings/Credentials/Edit.vue'
|
||||
import Errors from '../views/Error.vue'
|
||||
import About from '../views/About.vue'
|
||||
|
||||
import authGuard from './middlewares/authGuard'
|
||||
import authGuard from './middlewares/authGuard'
|
||||
import starter from './middlewares/starter'
|
||||
import noEmptyError from './middlewares/noEmptyError'
|
||||
|
||||
const router = createRouter({
|
||||
@@ -36,7 +37,7 @@ const router = createRouter({
|
||||
{ path: '/start', name: 'start', component: Start, meta: { middlewares: [authGuard] } },
|
||||
{ path: '/capture', name: 'capture', component: Capture, meta: { middlewares: [authGuard] } },
|
||||
|
||||
{ path: '/accounts', name: 'accounts', component: Accounts, meta: { middlewares: [authGuard] }, alias: '/' },
|
||||
{ path: '/accounts', name: 'accounts', component: Accounts, meta: { middlewares: [authGuard, starter] }, alias: '/' },
|
||||
{ path: '/account/create', name: 'createAccount', component: CreateAccount, meta: { middlewares: [authGuard] } },
|
||||
{ path: '/account/import', name: 'importAccounts', component: ImportAccount, meta: { middlewares: [authGuard] } },
|
||||
{ path: '/account/:twofaccountId/edit', name: 'editAccount', component: EditAccount, meta: { middlewares: [authGuard] } },
|
||||
|
19
resources/js_vue3/router/middlewares/starter.js
vendored
Normal file
19
resources/js_vue3/router/middlewares/starter.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { useTwofaccounts } from '@/stores/twofaccounts'
|
||||
|
||||
/**
|
||||
* Allows the user to access the main view only if he owns at least one twofaccount.
|
||||
* Push to the starter view otherwise.
|
||||
*/
|
||||
export default function starter({ to, next }) {
|
||||
const twofaccounts = useTwofaccounts()
|
||||
|
||||
if (twofaccounts.isEmpty) {
|
||||
twofaccounts.refresh().then(() => {
|
||||
if (twofaccounts.isEmpty) {
|
||||
next({ name: 'start' });
|
||||
}
|
||||
else next()
|
||||
})
|
||||
}
|
||||
else next()
|
||||
}
|
Reference in New Issue
Block a user