import { prisma } from '../lib/prisma'; import { DEFAULT_SETTINGS } from '../models/enums'; export async function getSetting(key: string): Promise { const row = await prisma.setting.findUnique({ where: { key } }); return row?.value ?? null; } export async function getSettingOrDefault( key: keyof typeof DEFAULT_SETTINGS, ): Promise { const value = await getSetting(key); return value ?? DEFAULT_SETTINGS[key]; } export async function getSettingsMap(): Promise> { const rows = await prisma.setting.findMany(); const map: Record = { ...DEFAULT_SETTINGS }; for (const row of rows) { map[row.key] = row.value; } return map; } export async function upsertSetting(key: string, value: string): Promise { await prisma.setting.upsert({ where: { key }, create: { key, value }, update: { value }, }); } export async function seedDefaultSettings(): Promise { for (const [key, value] of Object.entries(DEFAULT_SETTINGS)) { await prisma.setting.upsert({ where: { key }, create: { key, value }, update: {}, }); } }