Files
famdone/frontend/src/lib/server/services/settings.ts
T

26 lines
998 B
TypeScript

import { todayInTz, resolveTz } from '@shared/timezone';
import { famMeta } from './fam';
function resolveServerTz(tz?: string): string {
return resolveTz(tz || 'auto');
}
export async function getSettings(pb: any, famId: string) {
const list = await pb.collection('settings').getFullList({ filter: `famId = '${famId}'` });
const s = list?.[0] || {};
return { webhookUrl: s.webhookUrl || '' };
}
export async function updateSettings(pb: any, famId: string, data: Record<string, unknown>) {
const list = await pb.collection('settings').getFullList({ filter: `famId = '${famId}'` });
const existing = list?.[0];
const patch: Record<string, unknown> = {};
if (data.webhookUrl !== undefined) patch.webhookUrl = String(data.webhookUrl);
let s;
if (existing) {
s = Object.keys(patch).length ? await pb.collection('settings').update(existing.id, patch) : existing;
} else {
s = await pb.collection('settings').create({ famId, ...patch });
}
return { webhookUrl: s.webhookUrl || '' };
}