import { jsonError, jsonResponse } from "../../../common.js"; export async function onRequestDelete(context: RequestContext) { const noteId = context.params.id as string; const creatorIdResult = await context.data.prisma.gameModNote.findUnique({ select: { created_by: true, }, where: { id: noteId, }, }); try { await context.data.prisma.gameModNote.delete({ select: { id: true, }, where: { created_by: context.data.current_user.id, id: noteId, }, }); } catch { return jsonError("Cannot delete notes that are not your own", 403); } return new Response(null, { status: 204 }); } export async function onRequestGet(context: RequestContext) { const noteId = context.params.id as string; const result = await context.data.prisma.gameModNote.findUnique({ where: { id: noteId, }, }); if (!result) return jsonError("Note not found", 404); let noteData = structuredClone(result); const gmeEntry: null | { time: number; user: string; name: string } = await context.env.DATA.get(`gamemod_${result.created_by}`, "json"); if (gmeEntry) noteData = Object.defineProperty(noteData, "creator_name", { value: gmeEntry.name, }); return jsonResponse(JSON.stringify(noteData)); }