import { prisma } from '@/db'; import { Audit, Setting } from '@/generated/prisma/client'; type AdminSettingValue = Pick; type AdminSettingValueOnly = { [key: string]: string; }; type AdminSettingFull = { [key: string]: AdminSettingValue; }; export async function getAllAdminSettings( valueOnly: true, ): Promise; export async function getAllAdminSettings( valueOnly?: false, ): Promise; export async function getAllAdminSettings(valueOnly = false) { const settings = await prisma.setting.findMany({ where: { relation: 'admin', }, select: { id: true, key: true, value: true, }, }); const results: Record = {}; settings.forEach((setting) => { results[setting.key] = valueOnly ? setting.value : setting; }); return results; } export const createAuditLog = async (data: Omit) => { try { await prisma.audit.create({ data: { ...data, }, }); } catch (error) { console.log(error); throw error; } };