longevity: index.astro smista per ruolo, test del gestionale

pages/longevity/index.astro: trainer e admin → /longevity/gestionale, cliente →
/longevity/io come prima (l'assert esistente sul redirect a /longevity/io resta
valido, il ramo cliente lo chiama ancora testualmente).
tests/longevity/pagine.test.ts: le quattro pagine del gestionale esistono, usano
variante="gestionale", non toccano il DB direttamente e non nominano il database
anagrafico riservato; index.astro smista per ruolo.

Refs #2
This commit is contained in:
2026-09-26 13:05:52 +00:00
parent 9375a0380d
commit 948068b312
2 changed files with 46 additions and 3 deletions
@@ -1,7 +1,12 @@
---
// Punto di ingresso della piattaforma: non c'è un indice, solo la scorciatoia al
// referto del cliente. La protezione della rotta è già del middleware (isProtectedPath
// e canAccessAdminPath in src/lib/auth.ts).
// Punto di ingresso della piattaforma: smista per ruolo, non è un indice proprio.
// Il trainer e l'admin lavorano nel gestionale (Unità 2b, #2); il cliente resta sulla
// scorciatoia al proprio referto, come prima. La protezione della rotta è già del
// middleware (isProtectedPath e canAccessPath in src/lib/auth.ts): qui arriva solo chi è
// già autenticato su una delle due sezioni.
export const prerender = false;
const ruolo = Astro.locals.user?.role;
if (ruolo === 'admin' || ruolo === 'trainer') return Astro.redirect('/longevity/gestionale');
return Astro.redirect('/longevity/io');
---