29 lines
2.5 KiB
Markdown
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).
|