import { select } from '@evershop/postgres-query-builder'; import { pool } from '../../../lib/postgres/connection.js'; export type Setting = { name: string; value: unknown; }; let setting: Setting[] | undefined; export async function getSetting(name: string, defaultValue: T): Promise { if (!setting) { setting = await select().from('setting').execute(pool); } const row = setting.find((s) => s.name === name); if (row) { return row.value as T; } else { return defaultValue; } } export async function refreshSetting(): Promise { setting = await select().from('setting').execute(pool); } export async function getStoreName( defaultValue: string = 'Evershop' ): Promise { return await getSetting('storeName', defaultValue); } export function getStoreDescription(): Promise { return getSetting('storeDescription', null); } export async function getStoreEmail(): Promise { return await getSetting('storeEmail', null); } export async function getStorePhoneNumber(): Promise { return await getSetting('storePhoneNumber', null); } export function getStoreCountry(): Promise { return getSetting('storeCountry', null); } export function getStoreProvince(): Promise { return getSetting('storeProvince', null); } export function getStoreCity(): Promise { return getSetting('storeCity', null); } export function getStoreAddress(): Promise { return getSetting('storeAddress', null); } export function getStorePostalCode(): Promise { return getSetting('storePostalCode', null); }