From d12cf75f1bd24f70fc084c47b6f9ff2f0ceef279 Mon Sep 17 00:00:00 2001 From: "nekomimi.pet" Date: Sun, 9 Nov 2025 03:32:59 -0500 Subject: [PATCH] index db --- src/lib/db.ts | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/lib/db.ts b/src/lib/db.ts index b5f82c4..076b4e9 100644 --- a/src/lib/db.ts +++ b/src/lib/db.ts @@ -108,6 +108,65 @@ await db` ) `; +// Create indexes for common query patterns +await Promise.all([ + // oauth_states cleanup queries + db`CREATE INDEX IF NOT EXISTS idx_oauth_states_expires_at ON oauth_states(expires_at)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_oauth_states_expires_at:', err); + } + }), + + // oauth_sessions cleanup queries + db`CREATE INDEX IF NOT EXISTS idx_oauth_sessions_expires_at ON oauth_sessions(expires_at)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_oauth_sessions_expires_at:', err); + } + }), + + // oauth_keys key rotation queries + db`CREATE INDEX IF NOT EXISTS idx_oauth_keys_created_at ON oauth_keys(created_at)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_oauth_keys_created_at:', err); + } + }), + + // domains queries by (did, rkey) + db`CREATE INDEX IF NOT EXISTS idx_domains_did_rkey ON domains(did, rkey)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_domains_did_rkey:', err); + } + }), + + // custom_domains queries by did + db`CREATE INDEX IF NOT EXISTS idx_custom_domains_did ON custom_domains(did)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_custom_domains_did:', err); + } + }), + + // custom_domains queries by (did, rkey) + db`CREATE INDEX IF NOT EXISTS idx_custom_domains_did_rkey ON custom_domains(did, rkey)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_custom_domains_did_rkey:', err); + } + }), + + // custom_domains DNS verification worker queries + db`CREATE INDEX IF NOT EXISTS idx_custom_domains_verified ON custom_domains(verified)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_custom_domains_verified:', err); + } + }), + + // sites queries by did + db`CREATE INDEX IF NOT EXISTS idx_sites_did ON sites(did)`.catch(err => { + if (!err.message?.includes('already exists')) { + console.error('Failed to create idx_sites_did:', err); + } + }) +]); + const RESERVED_HANDLES = new Set([ "www", "api", -- 2.54.0