Files
videoteca/docs/adr/0012-pannello-admin-proprio.md
T

29 lines
2.5 KiB
Markdown

# 0012 — Pannello admin proprio; superuser creato come da documentazione PocketBase
- **Stato**: Accettato
- **Data**: 2026-10-11
- Sostituisce [0011](0011-interfaccia-admin-e-credenziali.md)
## Contesto
Nuova decisione dell'utente (2026-10-11): niente `.env` per la password; seguire la documentazione di PocketBase; l'admin gestisce tutto da un pannello (dashboard) intuitivo creato da noi, non dalla dashboard standard di PocketBase.
## Decisione
- **Superuser**: creato come indica la documentazione ufficiale: link dell'installer web scritto nei log al primo avvio, oppure `superuser create EMAIL PASS` da terminale. Nessun `.env` con la password, nessuno script che la legge. La password vive solo nel DB di PocketBase.
- **Pannello admin**: pagina del frontend ([ADR 0007](0007-frontend-vanilla.md), `pb_public/`, senza build step) accessibile solo dopo il login da superuser (`pb.collection('_superusers').authWithPassword`). Requisito: [F-14](../01-vision-requisiti.md).
- Le operazioni di scrittura restano protette dalle API rules ([ADR 0009](0009-accesso-admin-e-utenti.md)): il pannello è solo un'interfaccia; nascondere i pulsanti non è sicurezza.
- La dashboard standard di PocketBase resta disponibile come strumento di emergenza dell'admin (schema, ripristino), non come interfaccia d'uso.
## Alternative considerate
- Solo dashboard PocketBase (ADR 0011): zero codice, ma poco intuitiva per caricare e vedere lo stato della ricodifica.
- Password in `.env`: scartata dall'utente; PocketBase non la legge comunque da solo.
## Conseguenze
- ✔ Interfaccia pensata per le operazioni reali: carica, stato, categorie.
- ✘ Più codice frontend da scrivere e testare (fase M3b in [03-roadmap.md](../03-roadmap.md)), incluso il login da superuser separato da quello utenti.
- Casi limite da coprire: token scaduto durante un upload lungo (la durata del token superuser non è specificata nella documentazione consultata: verificare in M0), upload interrotto, eliminazione con contenuti (bloccata), doppio invio, rifiuto della regola foglie ([ADR 0010](0010-filmati-solo-nelle-foglie.md)) con messaggio chiaro.
- Accessibilità di base: tastiera, etichette dei campi, messaggi d'errore in italiano.
## Fonti
- https://pocketbase.io/docs/authentication/ (consultata 2026-10-11): il superuser si autentica con `authWithPassword` sulla collection `_superusers`; le rules sono ignorate per i superuser; durata del token non indicata.
- https://pocketbase.io/docs/going-to-production/ (consultata 2026-10-11): primo superuser via `superuser create EMAIL PASS` o installer web (link nei log).