41 lines
1.6 KiB
SQL
41 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS accounts (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
username TEXT UNIQUE NOT NULL,
|
|
pw_hash TEXT NOT NULL,
|
|
is_admin INTEGER NOT NULL DEFAULT 0,
|
|
created_at INTEGER NOT NULL,
|
|
last_login INTEGER NOT NULL DEFAULT 0
|
|
);
|
|
CREATE TABLE IF NOT EXISTS server_meta (key TEXT PRIMARY KEY, value TEXT NOT NULL);
|
|
CREATE TABLE IF NOT EXISTS channels (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
parent_id INTEGER NOT NULL DEFAULT 0,
|
|
name TEXT UNIQUE NOT NULL,
|
|
topic TEXT NOT NULL DEFAULT '',
|
|
password_hash TEXT NOT NULL DEFAULT '',
|
|
max_users INTEGER NOT NULL DEFAULT 0,
|
|
type INTEGER NOT NULL DEFAULT 0,
|
|
audio_codec INTEGER NOT NULL DEFAULT 0,
|
|
audio_mode INTEGER NOT NULL DEFAULT 0,
|
|
audio_sample_rate INTEGER NOT NULL DEFAULT 48000,
|
|
audio_bitrate_bps INTEGER NOT NULL DEFAULT 24000,
|
|
audio_frame_ms INTEGER NOT NULL DEFAULT 20,
|
|
audio_application INTEGER NOT NULL DEFAULT 0,
|
|
audio_fec INTEGER NOT NULL DEFAULT 1,
|
|
audio_expected_packet_loss INTEGER NOT NULL DEFAULT 10,
|
|
audio_dtx INTEGER NOT NULL DEFAULT 1,
|
|
audio_complexity INTEGER NOT NULL DEFAULT 5,
|
|
audio_dred INTEGER NOT NULL DEFAULT 0,
|
|
audio_packet_loss_mode INTEGER NOT NULL DEFAULT 0,
|
|
sort_order INTEGER NOT NULL DEFAULT 0
|
|
);
|
|
CREATE TABLE IF NOT EXISTS bans (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
subject_type TEXT NOT NULL,
|
|
subject TEXT NOT NULL,
|
|
reason TEXT NOT NULL DEFAULT '',
|
|
expires_at INTEGER NOT NULL DEFAULT 0,
|
|
created_at INTEGER NOT NULL
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_bans_subject ON bans(subject_type, subject);
|