21 lines
710 B
TypeScript
21 lines
710 B
TypeScript
// Middleware server Nuxt — protection des routes /codev/fiche et /codev/carto
|
|
// Laisse passer /codev (lock screen), /codev/demo et toutes les routes /api/*
|
|
|
|
export default defineEventHandler((event) => {
|
|
const url = getRequestURL(event)
|
|
const path = url.pathname
|
|
|
|
// Seulement les routes sous /codev/
|
|
if (!path.startsWith('/codev/')) return
|
|
|
|
// Routes publiques : /codev/demo (et sous-routes éventuelles)
|
|
if (path === '/codev/demo' || path.startsWith('/codev/demo/')) return
|
|
|
|
// Vérification cookie
|
|
const session = getCookie(event, 'codev_session')
|
|
if (session === 'ok') return
|
|
|
|
// Non authentifié -> redirect vers /codev (lock screen)
|
|
return sendRedirect(event, '/codev', 302)
|
|
})
|