Files

27 lines
1.3 KiB
SQL

-- ====================================================================
-- 0066_push_preferences — Push pro Ereignisart schaltbar
-- ====================================================================
-- Bisher war Push ein Alles-oder-nichts-Schalter pro Gerät: wer ihn
-- aktivierte, bekam Leads, Terminanfragen, Buchungen und Empfangs-Besuche.
-- Diese Tabelle hält pro Mitarbeiter:in, welche Ereignisarten überhaupt
-- eine Mitteilung auslösen — geräteübergreifend (Web-Push wie native App),
-- denn die Auswahl ist eine inhaltliche Entscheidung, keine Geräte-Frage.
--
-- Fehlende Zeile = alles aktiviert. Damit ändert sich für Bestandsnutzer
-- nichts, solange sie nichts abwählen; lib/push.ts liest den Default so.
--
-- Zugriff ausschließlich über Service-Role (Portal-Actions und
-- /api/portal/*, jeweils employeeId-gescoped) — kein anon-Zugriff.
create table if not exists public.push_preferences (
employee_id uuid primary key references public.employees(id) on delete cascade,
leads boolean not null default true,
appointments boolean not null default true,
bookings boolean not null default true,
reception boolean not null default true,
updated_at timestamptz not null default now()
);
alter table public.push_preferences enable row level security;
revoke all on public.push_preferences from anon;