nordabiz/database/migrations/102_add_email_preferences.sql
Maciej Pienczyn 3f1e66d3ca
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
feat(email): per-typ preferencje powiadomień e-mail (D.1 dopełnienie)
Symetria z push — panel /konto/prywatnosc rozszerzony o 3 dodatkowe
toggle w karcie "Powiadomienia e-mail":
- Pytanie pod moim ogłoszeniem B2B (notify_email_classified_question)
- Odpowiedź pod moim pytaniem B2B (notify_email_classified_answer)
- Ogłoszenie wygasa za 3 dni (notify_email_classified_expiry)

Migracja 102 dodaje kolumny (default TRUE — nie zmienia zachowania
istniejących userów). Endpointy ask_question / answer_question teraz
czytają dedykowaną flagę zamiast notify_email_messages (która zostaje
tylko dla wiadomości prywatnych). Skrypt classified_expiry_notifier.py
pomija userów z wyłączonym notify_email_classified_expiry.

W kolejnych sub-fazach D.2/D.3 symetrycznie dojdą triggery e-mail +
toggle dla forum/broadcast/wydarzeń — z defaults dobranymi tak, by
nie zalać inbox użytkowników (broadcast OFF, personalne ON).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:50:41 +02:00

11 lines
583 B
SQL

-- Migration 102: per-event e-mail notification preferences
--
-- Dotąd użytkownik miał jedną flagę notify_email_messages (używana także przez
-- classified question/answer). Rozbijamy na dedykowane flagi per typ e-maila.
-- Wszystkie default TRUE — zachowujemy obecne zachowanie dla istniejących userów.
ALTER TABLE users
ADD COLUMN IF NOT EXISTS notify_email_classified_question BOOLEAN DEFAULT TRUE,
ADD COLUMN IF NOT EXISTS notify_email_classified_answer BOOLEAN DEFAULT TRUE,
ADD COLUMN IF NOT EXISTS notify_email_classified_expiry BOOLEAN DEFAULT TRUE;