-- Velocity production observability foundation.
-- Creates a lightweight table for durable request/error telemetry when enabled.

CREATE TABLE IF NOT EXISTS app_request_events (
    event_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    request_id TEXT NOT NULL,
    method TEXT NOT NULL,
    path TEXT NOT NULL,
    status_code INTEGER NOT NULL,
    duration_ms DOUBLE PRECISION NOT NULL,
    tenant_id TEXT,
    user_id UUID,
    error_type TEXT,
    created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_app_request_events_created_at
    ON app_request_events (created_at DESC);

CREATE INDEX IF NOT EXISTS idx_app_request_events_path_status
    ON app_request_events (path, status_code, created_at DESC);

