Files
2026-05-25 08:43:30 +07:00

27 lines
1.0 KiB
TypeScript

// server/api/config/screen.post.ts
import { getConfigDb, parseConfigRow } from '~/server/utils/configDb';
export default defineEventHandler(async (event) => {
const body = await readBody(event);
const { namaScreen, nomorScreen, klinik = [] } = body;
if (!namaScreen || !nomorScreen) {
throw createError({ statusCode: 400, message: 'namaScreen dan nomorScreen wajib diisi' });
}
const db = getConfigDb();
try {
const result = db.prepare(
`INSERT INTO config_screen (namaScreen, nomorScreen, klinik) VALUES (?, ?, ?)`
).run(namaScreen, nomorScreen, JSON.stringify(klinik));
const newRow = db.prepare('SELECT * FROM config_screen WHERE id = ?').get(result.lastInsertRowid);
return { success: true, data: parseConfigRow(newRow), message: `Screen ${namaScreen} berhasil ditambahkan` };
} catch (e: any) {
if (e.message?.includes('UNIQUE')) {
throw createError({ statusCode: 409, message: `nomorScreen "${nomorScreen}" sudah digunakan` });
}
throw createError({ statusCode: 500, message: e.message });
}
});