Files
timmy-tower/lib/db/migrations/0004_sessions.sql

40 lines
1.4 KiB
MySQL
Raw Permalink Normal View History

-- Migration: Session balance mode (Mode 2)
-- Users pre-fund a Lightning session; requests auto-debit actual costs.
CREATE TABLE IF NOT EXISTS sessions (
id TEXT PRIMARY KEY,
state TEXT NOT NULL DEFAULT 'awaiting_payment',
balance_sats INTEGER NOT NULL DEFAULT 0,
deposit_amount_sats INTEGER NOT NULL,
deposit_payment_hash TEXT NOT NULL,
deposit_payment_request TEXT NOT NULL,
deposit_paid BOOLEAN NOT NULL DEFAULT false,
topup_amount_sats INTEGER,
topup_payment_hash TEXT,
topup_payment_request TEXT,
topup_paid BOOLEAN,
macaroon TEXT,
expires_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS session_requests (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL REFERENCES sessions(id),
request TEXT NOT NULL,
state TEXT NOT NULL DEFAULT 'processing',
result TEXT,
reason TEXT,
error_message TEXT,
eval_input_tokens INTEGER,
eval_output_tokens INTEGER,
work_input_tokens INTEGER,
work_output_tokens INTEGER,
debited_sats INTEGER,
balance_after_sats INTEGER,
btc_price_usd REAL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);