templates2.Store.Nuxt/server/api/admin/users/[id].delete.ts
w4c-templates 228f2f01f2
Some checks failed
CI / quality (push) Has been cancelled
chore(template): publish Store.Nuxt
2026-10-11 23:24:30 +03:00

14 lines
578 B
TypeScript

import { db } from '../../../utils/db';
import { requireAdmin } from '../../../utils/auth';
import { recordAudit } from '../../../utils/audit';
export default defineEventHandler(async (event) => {
const admin = await requireAdmin(event);
const id = getRouterParam(event, 'id')!;
if (id === admin.id) throw createError({ statusCode: 400, statusMessage: 'You cannot delete your own account.' });
const deleted = await db.user.delete({ where: { id } });
await recordAudit({ actorId: admin.id, action: 'user.delete', target: deleted.email });
return { ok: true };
});