Corregge riferimenti alla migration M3, mai applicata

M3 esisteva solo come bozza archiviata in docs/archive/migrations/: il bucket
profili-giocatore è creato dalla migration M2 insieme alla tabella. Allinea
PROJECT_STATE.md (12 -> 18 migration), DATABASE.md, CHANGELOG.md, TODO.md,
DESIGN_DECISIONS.md, test/README.md e il test di integrazione dei profili.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 11:00:27 +02:00
co-authored by Claude Sonnet 5
parent a07c8104d5
commit 9c173df753
7 changed files with 17 additions and 18 deletions
+7 -7
View File
@@ -5,8 +5,8 @@
* configurato in `.env`) le tre cose che il codice dà per scontate: le colonne della
* tabella, la chiusura verso l'utente anonimo e il bucket privato.
*
* Salta con un motivo esplicito quando mancano le credenziali o quando le migration
* M2/M3 non sono ancora applicate a quel database: sono stati dell'ambiente, non difetti.
* Salta con un motivo esplicito quando mancano le credenziali o quando la migration
* M2 non è ancora applicata a quel database: sono stati dell'ambiente, non difetti.
*/
import assert from "node:assert/strict";
import { COLONNE_PROFILO } from "@/lib/profili-core";
@@ -132,13 +132,13 @@ if (!URL_BASE || !CHIAVE_SERVIZIO || !CHIAVE_PUBBLICA) {
});
}
// --- M3: bucket privato ------------------------------------------------------
const m3 = await bucketProfili(CHIAVE_SERVIZIO);
if (!m3.ok) {
salta("bucket dei documenti", "M3 non applicata (npx supabase db push)");
// --- M2: bucket privato -------------------------------------------------------
const bucketRes = await bucketProfili(CHIAVE_SERVIZIO);
if (!bucketRes.ok) {
salta("bucket dei documenti", "M2 non applicata (npx supabase db push)");
} else {
await prova("il bucket dei documenti è privato", async () => {
const bucket = (await m3.json()) as { public?: boolean };
const bucket = (await bucketRes.json()) as { public?: boolean };
assert.equal(bucket.public, false, "documenti e certificati non sono mai pubblici");
});