// Protège toute l'API (sauf login/me) derrière la session mot de passe partagé. import { isAuthenticated } from '../lib/session' const PUBLIC_API = new Set(['/api/auth/login', '/api/auth/me']) export default defineEventHandler((event) => { const path = event.path.split('?')[0] if (!path.startsWith('/api/')) return if (PUBLIC_API.has(path)) return // Vue publique : /api/public/* est ouvert (chaque endpoint vérifie lui-même // que le portfolio ciblé a publicShare actif). if (path.startsWith('/api/public/')) return if (!isAuthenticated(event)) { throw createError({ statusCode: 401, statusMessage: 'Authentification requise' }) } })