API Sistema, Storage e Utility
Questi endpoint gestiscono la configurazione pubblica, le query dirette al DB, la dashboard e le integrazioni cloud.
Configurazione e Stato
GET /api/config
(Endpoint Pubblico)
Restituisce le chiavi anonime per inizializzare il client Supabase dal frontend.
- Risposta:
{
"supabaseUrl": "https://xyz.supabase.co",
"supabaseKey": "eyJhbGciOiJIUzI1NiIsInR..."
}
GET /api/version
Restituisce la versione attuale del package e le info sull’ultimo deploy. Ha una cache di 5 minuti.
- Risposta:
{
"version": "1.0.0",
"latestCommit": "a1b2c3d",
"vercelDeploy": "READY"
}
GET /api/settings/features
(Endpoint Pubblico)
Scarica tutti i “Feature Flags” dal database. Utilizzato dalla UI per mostrare o nascondere pulsanti.
- Risposta: Array di oggetti con
keyeenabled.
POST /api/settings/features
Attiva o disattiva una specifica feature. (Richiede permessi Admin).
- Body:
{ "key": "feature.export", "enabled": true }
GET /api/settings/maintenance
Controlla lo stato della Modalità Manutenzione.
Widget e Statistiche
GET /api/widget/data
Fornisce i dati per la card principale della Dashboard.
- Risposta:
{
"todayArrivals": 2,
"todayDepartures": 1,
"nextGuest": "Bianchi"
}
GET /api/map/top-countries
Restituisce l’aggregazione delle nazionalità per la mappa globale.
- Query Params:
?limit=10 - Risposta:
[
{ "country": "IT", "count": 150 },
{ "country": "US", "count": 45 }
]
Strumenti Sviluppatore e Storage
POST /api/querysql
Permette l’esecuzione di SQL crudo su Postgres via Supabase RPC. Estremamente pericoloso.
- Auth: Necessaria
- Body:
{
"password": "La_Password_Di_Query_Dal_Env",
"sql": "SELECT * FROM ospiti LIMIT 5;"
}
GET /api/storage/signed-url
Genera un URL firmato temporaneo per scaricare un file privato da Supabase Storage.
- Query:
?bucket=documenti&file=123.pdf - Risposta: L’URL firmato valido per 60 secondi.
GET /api/storage/:bucket/:filename
Proxy che scarica il file dal bucket Supabase e lo serve direttamente al client (utile per aggirare le policy CORS in casi specifici).
GET /api/cli/auth/key
Restituisce la API_KEY del server all’utente che fa login tramite UI, per permettergli di configurare la CLI Carrubo locale.
GET /sitemap.xml
Genera la Sitemap XML dinamicamente basandosi sulle pagine pubbliche registrate nel sistema.