m23: un registro (promemoria_eventi_generati) ricorda i promemoria a 24 e 3 ore già generati, così eliminare la notifica non li fa rigenerare dal cron né riaccodare la mail a ogni giro. m24: la push dei promemoria, che nascono nel database, la manda il worker mailer/ con lo stesso modulo dell'app (coda notifiche_push_coda, esiti, backoff, iscrizioni scadute eliminate, push scartate oltre 3 ore). Il sondaggio pre-partita scrive anche notifiche_utente (tipo sondaggio_cacche): compare in-app e arriva per email. L'immagine del worker si costruisce dalla radice del repository per includere src/lib/webpush.server.ts. Test: 9 di integrazione per m23, 17 per la coda push, 6 per la route del sondaggio, nuovi casi unitari sul worker; prova end-to-end con un servizio push finto. Documentazione e catalogo delle notifiche aggiornati. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
12 lines
584 B
Docker
12 lines
584 B
Docker
# Contesto di build: la radice del repository (vedi docker-compose.yml e Dockerfile.dockerignore).
|
|
# Il layout dentro l'immagine rispecchia quello del repository, così mailer.mjs importa
|
|
# ../src/lib/webpush.server.ts allo stesso modo in locale e nel container.
|
|
FROM oven/bun:1-alpine
|
|
WORKDIR /app/mailer
|
|
COPY mailer/package.json mailer/bun.lock mailer/bunfig.toml ./
|
|
RUN bun install --frozen-lockfile --production
|
|
COPY mailer/mailer.mjs mailer/mailer-core.ts mailer/healthcheck.mjs ./
|
|
COPY src/lib/webpush.server.ts /app/src/lib/webpush.server.ts
|
|
USER bun
|
|
CMD ["bun", "mailer.mjs"]
|