14 lines
578 B
TypeScript
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 };
|
|
});
|