/
Alcatraz
/
Wagomon
Обзор
Документация
Войти
/
Alcatraz
/
Wagomon
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/lib/server/systemSettings.js
51 строка
1 KB
saitgalineu
vkr
26 май 2026, 10:08
26 май 2026, 10:08
f9b2919
Код
Авторство
О чём код?
import { db } from './db.js'; const SYSTEM_KEY = 'system'; function getDefaultSettings() { return { temperature_unit: 'C', time_zone: 'UTC', snapshot_refresh_interval_ms: 5000 }; } export async function getSystemSettings() { try { const res = await db.query( `SELECT value FROM system_settings WHERE key = $1`, [SYSTEM_KEY] ); if (res.rowCount === 0) { return getDefaultSettings(); } const raw = res.rows[0]?.value || {}; const unit = typeof raw.temperature_unit === 'string' ? raw.temperature_unit : 'C'; const time_zone = typeof raw.time_zone === 'string' && raw.time_zone.trim() ? raw.time_zone.trim() : 'UTC'; const safeUnit = unit === 'F' || unit === 'K' || unit === 'C' ? unit : 'C'; let intervalMs = Number(raw.snapshot_refresh_interval_ms); if (!Number.isFinite(intervalMs) || intervalMs <= 0) { intervalMs = 5000; } intervalMs = Math.min(Math.max(intervalMs, 1000), 60000); return { temperature_unit: safeUnit, time_zone, snapshot_refresh_interval_ms: intervalMs }; } catch (e) { console.error('Ошибка чтения system_settings:', e); return getDefaultSettings(); } }