Introduce PocketBase come sostituto di Supabase solo per l'ambiente di sviluppo locale (docs/PORTABILITA.md): docker-compose.pocketbase.yml, schema iniziale in pocketbase/pb_migrations/ (collection equivalenti alle tabelle Supabase, con le stesse API rule dove esprimibili) e la logica procedurale che in Postgres viveva in trigger/funzioni riscritta come hook JS in pocketbase/pb_hooks/ (claim slot giocatore, blocco autovoto, convocati/pagelle chiuse, immutabilità di risposto_il). Il superuser e il provider Google OAuth2 si ricreano da soli a ogni avvio da variabili d'ambiente (script scripts/pocketbase-reset.sh), così un reset non richiede passaggi manuali da dashboard. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
17 lines
630 B
JavaScript
17 lines
630 B
JavaScript
/// <reference path="../pb_data/types.d.ts" />
|
|
//
|
|
// Equivalente del trigger risposte_presenze_risposto_il_immutabile (M9): risposto_il è
|
|
// l'istante della PRIMA risposta, scritto una sola volta e mai più modificabile — serve
|
|
// per la serie "Conferme 24h" (confronto con eventi_app.created).
|
|
|
|
onRecordCreateRequest((e) => {
|
|
e.record.set("risposto_il", new Date().toISOString());
|
|
e.next();
|
|
}, "risposte_presenze");
|
|
|
|
onRecordUpdateRequest((e) => {
|
|
const originale = e.app.findRecordById("risposte_presenze", e.record.id);
|
|
e.record.set("risposto_il", originale.get("risposto_il"));
|
|
e.next();
|
|
}, "risposte_presenze");
|