Deploy stack su Proxmox / deploy (push) Failing after 3s
Monorepo npm con apps/public (Angular SSR), apps/private (Angular SPA), apps/api (Fastify), packages/shared e packages/styles; Medusa 2.21 in medusa/; infrastruttura Docker (Postgres PostGIS+pgvector, Redis, Caddy, backup) e workflow Gitea Actions per il deploy via SSH a ogni push su master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018jQyT6dR9czzGwqb7FkG6u
1.1 KiB
1.1 KiB
21 — API: contatti, showroom, consensi
Leggi CLAUDE.md.
Obiettivo
Form pubblici e registro consensi GDPR.
Cosa fare
POST /contact→ salvacontact_requests, email all'admin. Protezione anti-spam senza servizi terzi: honeypot + tempo minimo di compilazione + rate limit per IP.GET /showroom/slots(slot disponibili da configurazione: giorni/orari di apertura, durata visita, capienza) ePOST /showroom/bookings(verifica disponibilità, email di conferma). Admin: elenco e cambio stato prenotazioni.- Consensi: ogni form con dati personali richiede consenso privacy; consenso marketing/newsletter separato e facoltativo. Salvati in
consentscon versione del testo informativo e timestamp. GET /me/consentse revoca consenso marketing.POST /me/delete-account(richiesta cancellazione: disabilita l'account e notifica l'admin; la cancellazione effettiva resta manuale nell'MVP).
Criteri di accettazione
- Form senza consenso privacy → 400.
- Due prenotazioni sullo stesso slot oltre la capienza → la seconda rifiutata.
- Honeypot compilato → richiesta scartata silenziosamente (200, nulla salvato).
CLAUDE.mdaggiornato.