Persist settings in SQLite, import legacy environment values once, and apply changes to cleanup and deployment queues without restarting. Closes #51
15 lines
641 B
TypeScript
15 lines
641 B
TypeScript
import { validateFleetSettings, type FleetSettings } from '../fleet-settings.js';
|
|
import { db } from './db/index.js';
|
|
import { FLEET_SETTINGS_KEY } from './db/fleet-settings.js';
|
|
|
|
export function fleetSettings(): FleetSettings {
|
|
const row = db().prepare('SELECT value FROM settings WHERE key = ?').get(FLEET_SETTINGS_KEY) as { value: string };
|
|
return JSON.parse(row.value);
|
|
}
|
|
|
|
export function saveFleetSettings(input: unknown): FleetSettings {
|
|
const settings = validateFleetSettings(input);
|
|
db().prepare('UPDATE settings SET value = ? WHERE key = ?').run(JSON.stringify(settings), FLEET_SETTINGS_KEY);
|
|
return settings;
|
|
}
|