wulf-pulse/migrations/031_create_datto_rmm_webhook_logs.sql

22 lines
866 B
MySQL
Raw Permalink Normal View History

-- Datto RMM Webhook Logs
-- Generic capture table for incoming Datto RMM webhook payloads
-- No processing logic yet — store everything raw for inspection
CREATE TABLE IF NOT EXISTS datto_rmm_webhook_logs (
id SERIAL PRIMARY KEY,
received_at TIMESTAMP NOT NULL DEFAULT NOW(),
source_ip VARCHAR(45),
user_agent TEXT,
headers JSONB,
payload JSONB,
raw_body TEXT,
status VARCHAR(20) NOT NULL DEFAULT 'received', -- received, processed, failed
notes TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_datto_rmm_webhook_logs_received ON datto_rmm_webhook_logs(received_at DESC);
CREATE INDEX IF NOT EXISTS idx_datto_rmm_webhook_logs_status ON datto_rmm_webhook_logs(status);
COMMENT ON TABLE datto_rmm_webhook_logs IS 'Raw capture of all incoming Datto RMM webhook payloads for inspection';