-- 0028_completion_mail_sent.sql -- -- Markierung, ob für eine ausgelieferte (abgeschlossene) Lieferung die -- Liefer-/Belegmail bereits versendet wurde. Der externe Mailclient pollt die -- noch NICHT versendeten Belege (GET /admin/delivered-belegnummern liefert nur -- `mail_sent_at IS NULL`), stößt ERPframe an (das die Mails verschickt) und -- markiert sie anschließend über POST /admin/mark-mail-sent als versendet. -- -- NULL = noch nicht versendet (offen). -- Wert = Zeitstempel, wann markiert wurde (Audit + server-seitiges Dedup, -- damit derselbe Beleg nicht alle 5 Minuten erneut eine Mail auslöst). ALTER TABLE delivery_completions ADD COLUMN mail_sent_at TIMESTAMPTZ; -- Partieller Index: der Mailclient fragt praktisch immer nur die offenen -- (mail_sent_at IS NULL) Belege ab. CREATE INDEX delivery_completions_mail_unsent ON delivery_completions (completed_at) WHERE mail_sent_at IS NULL;