Files
gochat/migrations/000029_align_webhook_subscriptions_with_chatwoot_webhooks.up.sql
T

29 lines
1.3 KiB
SQL

CREATE TABLE IF NOT EXISTS webhook_subscriptions (
id SERIAL PRIMARY KEY,
account_id INTEGER NOT NULL,
inbox_id INTEGER,
name VARCHAR(255),
url VARCHAR(2048) NOT NULL,
events JSONB NOT NULL DEFAULT '[]',
secret VARCHAR(128) NOT NULL,
webhook_type INTEGER DEFAULT 0,
active BOOLEAN DEFAULT TRUE,
verified_at TIMESTAMP WITH TIME ZONE,
last_delivery_status VARCHAR(50),
last_delivery_at TIMESTAMP WITH TIME ZONE,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
deleted_at TIMESTAMP WITH TIME ZONE
);
ALTER TABLE webhook_subscriptions
ADD COLUMN IF NOT EXISTS inbox_id INTEGER,
ADD COLUMN IF NOT EXISTS name VARCHAR(255),
ADD COLUMN IF NOT EXISTS webhook_type INTEGER DEFAULT 0;
UPDATE webhook_subscriptions SET active = TRUE WHERE active IS NULL;
CREATE INDEX IF NOT EXISTS idx_webhook_subscriptions_account_id ON webhook_subscriptions(account_id) WHERE deleted_at IS NULL;
CREATE INDEX IF NOT EXISTS idx_webhook_subscriptions_inbox_id ON webhook_subscriptions(inbox_id) WHERE deleted_at IS NULL;
CREATE UNIQUE INDEX IF NOT EXISTS idx_webhook_subscriptions_account_url ON webhook_subscriptions(account_id, url) WHERE deleted_at IS NULL AND active = TRUE;