-- =====================================================================
--  TeeCup — push-varsler til telefonens OS (Web Push/VAPID), migrasjon 037.
--  FEATURE_BACKLOG.md "Varsler: push til telefon" -- siste gjenstående
--  del av det opprinnelige varsel-forslaget (in-app-senteret + e-post-
--  fallback per type var allerede ferdig).
--
--  Samme `plain_connection()`-mønster som notification/round/friendship --
--  bruker-eid, ingen RLS. Én bruker kan ha FLERE abonnementer (flere
--  enheter/nettlesere) -- `endpoint` er unik per abonnement (selve
--  push-tjenestens URL, ikke brukerens id).
-- =====================================================================
\set ON_ERROR_STOP on

CREATE TABLE push_subscription (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id uuid NOT NULL REFERENCES app_user(id) ON DELETE CASCADE,
    endpoint text NOT NULL UNIQUE,
    p256dh text NOT NULL,
    auth text NOT NULL,
    created_at timestamptz NOT NULL DEFAULT now()
);

CREATE INDEX push_subscription_user_id_idx ON push_subscription (user_id);

GRANT SELECT, INSERT, UPDATE, DELETE ON push_subscription TO teecup_app;
