Some checks failed
Build & Sign Wraith / Build Windows + Sign (push) Has been cancelled
Go + Wails v3 + Vue 3 + SQLite + FreeRDP3 (purego) 183 tests, 76 source files, 9,910 lines of code Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
102 lines
3.3 KiB
SQL
102 lines
3.3 KiB
SQL
-- 001_initial.sql
|
|
CREATE TABLE IF NOT EXISTS groups (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
parent_id INTEGER REFERENCES groups(id) ON DELETE SET NULL,
|
|
sort_order INTEGER DEFAULT 0,
|
|
icon TEXT,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS ssh_keys (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
key_type TEXT,
|
|
fingerprint TEXT,
|
|
public_key TEXT,
|
|
encrypted_private_key TEXT NOT NULL,
|
|
passphrase_encrypted TEXT,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS credentials (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
username TEXT,
|
|
domain TEXT,
|
|
type TEXT NOT NULL CHECK(type IN ('password','ssh_key')),
|
|
encrypted_value TEXT,
|
|
ssh_key_id INTEGER REFERENCES ssh_keys(id) ON DELETE SET NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS connections (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
hostname TEXT NOT NULL,
|
|
port INTEGER NOT NULL DEFAULT 22,
|
|
protocol TEXT NOT NULL CHECK(protocol IN ('ssh','rdp')),
|
|
group_id INTEGER REFERENCES groups(id) ON DELETE SET NULL,
|
|
credential_id INTEGER REFERENCES credentials(id) ON DELETE SET NULL,
|
|
color TEXT,
|
|
tags TEXT DEFAULT '[]',
|
|
notes TEXT,
|
|
options TEXT DEFAULT '{}',
|
|
sort_order INTEGER DEFAULT 0,
|
|
last_connected DATETIME,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS themes (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL UNIQUE,
|
|
foreground TEXT NOT NULL,
|
|
background TEXT NOT NULL,
|
|
cursor TEXT NOT NULL,
|
|
black TEXT NOT NULL,
|
|
red TEXT NOT NULL,
|
|
green TEXT NOT NULL,
|
|
yellow TEXT NOT NULL,
|
|
blue TEXT NOT NULL,
|
|
magenta TEXT NOT NULL,
|
|
cyan TEXT NOT NULL,
|
|
white TEXT NOT NULL,
|
|
bright_black TEXT NOT NULL,
|
|
bright_red TEXT NOT NULL,
|
|
bright_green TEXT NOT NULL,
|
|
bright_yellow TEXT NOT NULL,
|
|
bright_blue TEXT NOT NULL,
|
|
bright_magenta TEXT NOT NULL,
|
|
bright_cyan TEXT NOT NULL,
|
|
bright_white TEXT NOT NULL,
|
|
selection_bg TEXT,
|
|
selection_fg TEXT,
|
|
is_builtin BOOLEAN DEFAULT 0
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS connection_history (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
connection_id INTEGER NOT NULL REFERENCES connections(id) ON DELETE CASCADE,
|
|
protocol TEXT NOT NULL,
|
|
connected_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
disconnected_at DATETIME,
|
|
duration_secs INTEGER
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS host_keys (
|
|
hostname TEXT NOT NULL,
|
|
port INTEGER NOT NULL,
|
|
key_type TEXT NOT NULL,
|
|
fingerprint TEXT NOT NULL,
|
|
raw_key TEXT,
|
|
first_seen DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (hostname, port, key_type)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS settings (
|
|
key TEXT PRIMARY KEY,
|
|
value TEXT NOT NULL
|
|
);
|