Provision instance bank credentials automatically (Refs #146)

This commit is contained in:
2026-10-12 20:44:01 -04:00
parent e071e5b574
commit d14c6a7ff4
21 changed files with 634 additions and 109 deletions
+22
View File
@@ -0,0 +1,22 @@
import type Database from 'better-sqlite3';
export function migrateBankCredentials(handle: Database.Database): void {
handle.exec(`
CREATE TABLE IF NOT EXISTS bank_credentials (
instance_id TEXT PRIMARY KEY, server TEXT NOT NULL,
token TEXT NOT NULL, token_hash TEXT NOT NULL UNIQUE, created_at TEXT NOT NULL
);
`);
if (
!(handle.pragma('table_info(bank_requests)') as { name: string }[]).some(
(column) => column.name === 'instance_id'
)
) {
handle.exec(`
ALTER TABLE bank_requests ADD COLUMN instance_id TEXT;
UPDATE bank_requests SET instance_id = (
SELECT id FROM native_instances WHERE server = bank_requests.server AND retired_at IS NULL
);
`);
}
}