aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/db/settings.ts
blob: 1f86a9a0e4d09f06cd7067521a72a1f2a74f1b2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { getDb } from "./index";

export function getSetting(key: string): string | null {
  const row = getDb()
    .prepare("SELECT value FROM settings WHERE key = ?")
    .get(key) as { value: string } | undefined;
  return row ? row.value : null;
}

export function getSettings(keys: string[]): Record<string, string | null> {
  const result: Record<string, string | null> = {};
  for (const key of keys) {
    result[key] = getSetting(key);
  }
  return result;
}

export function setSetting(key: string, value: string): void {
  getDb()
    .prepare("INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)")
    .run(key, value);
}

export function deleteSetting(key: string): void {
  getDb()
    .prepare("DELETE FROM settings WHERE key = ?")
    .run(key);
}