31 lines
923 B
TypeScript
31 lines
923 B
TypeScript
import { usePrisma } from "../../utils/prisma";
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const config = useRuntimeConfig();
|
|
const secret = getHeader(event, "x-admin-secret");
|
|
if (!config.adminSecret || secret !== config.adminSecret) {
|
|
throw createError({ statusCode: 401, message: "Nicht autorisiert" });
|
|
}
|
|
|
|
const id = getRouterParam(event, "id");
|
|
if (!id) throw createError({ statusCode: 400, message: "id fehlt" });
|
|
|
|
const body = await readBody(event) as {
|
|
status?: string;
|
|
adminNote?: string;
|
|
category?: string;
|
|
};
|
|
|
|
const db = usePrisma();
|
|
const updated = await db.feedbackItem.update({
|
|
where: { id },
|
|
data: {
|
|
...(body.status !== undefined && { status: body.status as any }),
|
|
...(body.adminNote !== undefined && { adminNote: body.adminNote }),
|
|
...(body.category !== undefined && { category: body.category }),
|
|
},
|
|
});
|
|
|
|
return updated;
|
|
});
|