templates2.Content.Nuxt/server/api/admin/docs/[id].patch.ts
w4c-templates 940313f8c5
Some checks failed
CI / quality (push) Has been cancelled
chore(template): publish Content.Nuxt
2026-10-11 23:26:40 +03:00

14 lines
678 B
TypeScript

import { docSchema, updateDoc } from '../../../utils/content';
import { requireAuthor } from '../../../utils/guard';
export default defineEventHandler(async (event) => {
const user = await requireAuthor(event);
const id = getRouterParam(event, 'id')!;
const parsed = docSchema.safeParse(await readBody(event).catch(() => ({})));
if (!parsed.success) throw createError({ statusCode: 400, statusMessage: parsed.error.issues[0]?.message || 'Invalid doc' });
const result = await updateDoc(id, parsed.data, user);
if (!result.ok) throw createError({ statusCode: result.error === 'Not found' ? 404 : 409, statusMessage: result.error });
return { id: result.id };
});