feat: Added login page

This commit is contained in:
2023-06-04 22:47:48 +02:00
parent f360dcec8c
commit 08a24cae07
9 changed files with 74 additions and 7 deletions

25
webv2/middleware/auth.js Normal file
View File

@@ -0,0 +1,25 @@
export default defineNuxtRouteMiddleware(async (to) => {
if (process.server) {
return
}
try {
const user = await $fetch('/api/auth/user')
if (!user.id) {
throw createError({ statusCode: 500, statusMessage: 'No user was found' })
}
useState('user', () => user)
if (to.meta.moderator && !user.role.moderator) {
return navigateTo('/')
}
} catch (e) {
console.error('Failed to get user', e)
useState('user', () => null)
return navigateTo('/login')
}
})