Initial commit

This commit is contained in:
2024-03-17 14:07:38 +01:00
commit 22ea1930c4
133 changed files with 24036 additions and 0 deletions

8
nuxt/middleware/auth.ts Normal file
View File

@@ -0,0 +1,8 @@
export default defineNuxtRouteMiddleware((to, from) => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (!auth.isLoggedIn) {
return nuxtApp.runWithContext(() => navigateTo('/login'))
}
})

8
nuxt/middleware/guest.ts Normal file
View File

@@ -0,0 +1,8 @@
export default defineNuxtRouteMiddleware((to, from) => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn) {
return nuxtApp.runWithContext(() => navigateTo('/'))
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware((to, from) => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && !auth.user.roles.includes('admin')) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: "i-heroicons-exclamation-circle-solid",
title: "Access denied.",
color: "red",
});
return navigateTo('/')
})
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware((to, from) => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && !auth.user.roles.includes('user')) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: "i-heroicons-exclamation-circle-solid",
title: "Access denied.",
color: "red",
});
return navigateTo('/')
})
}
})

View File

@@ -0,0 +1,16 @@
export default defineNuxtRouteMiddleware((to, from) => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && auth.user.must_verify_email) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: "i-heroicons-exclamation-circle-solid",
title: "Please confirm your email.",
color: "red",
});
return navigateTo('/account/general')
})
}
})