···11+CREATE TABLE requests (
22+ state TEXT NOT NULL PRIMARY KEY,
33+ authserver_url TEXT NOT NULL,
44+ account_did TEXT,
55+ scopes TEXT NOT NULL,
66+ request_uri TEXT NOT NULL,
77+ authserver_token_endpoint TEXT NOT NULL,
88+ pkce_verifier TEXT NOT NULL,
99+ dpop_authserver_nonce TEXT NOT NULL,
1010+ dpop_privatekey_multibase TEXT NOT NULL
1111+);
1212+1313+CREATE TABLE sessions (
1414+ session_id TEXT NOT NULL PRIMARY KEY,
1515+ account_did TEXT NOT NULL,
1616+ host_url TEXT NOT NULL,
1717+ authserver_url TEXT NOT NULL,
1818+ authserver_token_endpoint TEXT NOT NULL,
1919+ scopes TEXT NOT NULL,
2020+ access_token TEXT NOT NULL,
2121+ refresh_token TEXT NOT NULL,
2222+ dpop_authserver_nonce TEXT NOT NULL,
2323+ dpop_host_nonce TEXT NOT NULL,
2424+ dpop_privatekey_multibase TEXT NOT NULL
2525+);
+2
migrations/001_oauth_down.sql
···11+DROP TABLE IF EXISTS sessions;
22+DROP TABLE IF EXISTS requests;
+2
migrations/002_buttons_down.sql
···11+DELETE INDEX IF EXISTS buttons_posted_at_idx;
22+DROP TABLE IF EXISTS buttons;
+13
migrations/002_buttons_up.sql
···11+CREATE TABLE buttons (
22+ uri TEXT PRIMARY KEY,
33+ did TEXT NOT NULL,
44+ blob_cid TEXT NOT NULL,
55+ blob_mime TEXT NOT NULL,
66+ alt TEXT,
77+ href TEXT,
88+ cid TEXT NOT NULL,
99+ posted_at TIMESTAMPTZ NOT NULL DEFAULT now(),
1010+ indexed_at TIMESTAMPTZ NOT NULL DEFAULT now()
1111+);
1212+1313+CREATE INDEX buttons (posted_at);
···11+CREATE TABLE likes (
22+ uri TEXT PRIMARY KEY,
33+ subject_uri TEXT NOT NULL,
44+ subject_cid TEXT NOT NULL,
55+ did TEXT NOT NULL,
66+ cid TEXT NOT NULL,
77+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
88+ indexed_at TIMESTAMPTZ NOT NULL DEFAULT now()
99+);
···11+CREATE TABLE bans (
22+ id SERIAL PRIMARY KEY,
33+ did TEXT NOT NULL,
44+ reason TEXT,
55+ till TIMESTAMPTZ,
66+ banned_at TIMESTAMPTZ NOT NULL DEFAULT now()
77+);