TeamVis Self-Host-Bundle v0.31.0
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
-- Webhook-Subscriptions für externe Integrationen.
|
||||
-- ====================================================================
|
||||
-- Externe Systeme abonnieren Events ("employee.created",
|
||||
-- "employee.updated", "lead.created", etc.) und erhalten POST-Requests
|
||||
-- mit JSON-Payload. Signatur via HMAC-SHA256 mit Secret pro Endpoint.
|
||||
--
|
||||
-- Delivery-Log: jede Zustellung wird protokolliert (für Retry-
|
||||
-- Diagnose und Audit).
|
||||
|
||||
create table if not exists public.webhook_subscriptions (
|
||||
id uuid primary key default gen_random_uuid(),
|
||||
name text not null,
|
||||
url text not null,
|
||||
events text[] not null default array[]::text[],
|
||||
secret text not null, -- für HMAC-Signatur
|
||||
active boolean not null default true,
|
||||
created_at timestamptz not null default now(),
|
||||
updated_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
create index if not exists webhook_subscriptions_active_idx
|
||||
on public.webhook_subscriptions (active) where active = true;
|
||||
|
||||
drop trigger if exists trg_webhook_subscriptions_updated_at
|
||||
on public.webhook_subscriptions;
|
||||
create trigger trg_webhook_subscriptions_updated_at
|
||||
before update on public.webhook_subscriptions
|
||||
for each row execute function public.set_updated_at();
|
||||
|
||||
create table if not exists public.webhook_deliveries (
|
||||
id uuid primary key default gen_random_uuid(),
|
||||
subscription_id uuid references public.webhook_subscriptions(id)
|
||||
on delete cascade,
|
||||
event text not null,
|
||||
payload jsonb not null,
|
||||
status_code integer,
|
||||
response_body text,
|
||||
error text,
|
||||
delivered_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
create index if not exists webhook_deliveries_subscription_idx
|
||||
on public.webhook_deliveries (subscription_id, delivered_at desc);
|
||||
|
||||
alter table public.webhook_subscriptions enable row level security;
|
||||
alter table public.webhook_deliveries enable row level security;
|
||||
-- Service-Role-only.
|
||||
Reference in New Issue
Block a user