Files
yaak-mountain-loop/crates-proxy/yaak-proxy-models/migrations/00000001_init.sql
2026-03-08 08:56:08 -07:00

36 lines
1.7 KiB
SQL

-- Proxy version of http_responses, duplicated from client.
-- No workspace_id/request_id foreign keys — proxy captures raw traffic.
CREATE TABLE proxy_http_responses (
id TEXT NOT NULL PRIMARY KEY,
model TEXT DEFAULT 'proxy_http_response' NOT NULL,
proxy_request_id INTEGER NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
elapsed INTEGER NOT NULL DEFAULT 0,
elapsed_headers INTEGER NOT NULL DEFAULT 0,
elapsed_dns INTEGER NOT NULL DEFAULT 0,
status INTEGER NOT NULL DEFAULT 0,
status_reason TEXT,
url TEXT NOT NULL,
headers TEXT NOT NULL DEFAULT '[]',
request_headers TEXT NOT NULL DEFAULT '[]',
error TEXT,
body_path TEXT,
content_length INTEGER,
content_length_compressed INTEGER,
request_content_length INTEGER,
remote_addr TEXT,
version TEXT,
state TEXT DEFAULT 'initialized' NOT NULL
);
CREATE INDEX idx_proxy_http_responses_created_at ON proxy_http_responses (created_at DESC);
-- Inline body storage (proxy keeps everything self-contained in one DB file)
CREATE TABLE proxy_http_response_bodies (
id INTEGER PRIMARY KEY AUTOINCREMENT,
response_id TEXT NOT NULL REFERENCES proxy_http_responses(id) ON DELETE CASCADE,
body_type TEXT NOT NULL,
data BLOB NOT NULL,
UNIQUE(response_id, body_type)
);