File size: 679 Bytes
db2d72c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | -- 1. Create the table for storing incoming webhooks
CREATE TABLE IF NOT EXISTS webhook_events (
id SERIAL PRIMARY KEY,
event_type TEXT,
payload JSONB,
created_at TIMESTAMP DEFAULT NOW()
);
-- 2. Create the trigger function
CREATE OR REPLACE FUNCTION notify_new_webhook()
RETURNS TRIGGER AS $$
BEGIN
-- Notify the 'new_webhook' channel with the row data
PERFORM pg_notify('new_webhook', row_to_json(NEW)::text);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
-- 3. Create the trigger
DROP TRIGGER IF EXISTS trg_notify_webhook ON webhook_events;
CREATE TRIGGER trg_notify_webhook
AFTER INSERT ON webhook_events
FOR EACH ROW EXECUTE PROCEDURE notify_new_webhook();
|