CREATE SCHEMA IF NOT EXISTS kittybox_webmention;

CREATE TABLE kittybox_webmention.incoming_webmention_queue (
       id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
       source TEXT NOT NULL,
       target TEXT NOT NULL,
       recv_timestamp TIMESTAMPTZ NOT NULL DEFAULT now(),
       attempts INTEGER NOT NULL DEFAULT 0
);

CREATE INDEX webmention_jobs_by_attempts ON kittybox_webmention.incoming_webmention_queue (attempts);

CREATE RULE notify_incoming_webmention AS
ON INSERT TO kittybox_webmention.incoming_webmention_queue
DO ALSO NOTIFY incoming_webmention;