import { and, eq } from "drizzle-orm"; import { agents } from "~~/drizzle/schema"; import { db } from "~~/server/lib/db"; import { userEvents } from "~~/server/utils/events"; export default defineEventHandler(async (event) => { await protectRoute(event); const userId = event.context.user!.id; const agentId = getRouterParam(event, 'id')!; const res = await db.delete(agents).where( and( eq(agents.id, agentId), eq(agents.userId, userId), ) ); if (res.rowCount === 0) { throw createError({ statusCode: 400, statusMessage: 'Invalid agent', }); } userEvents.emit(userId, 'agents', { op: 'delete', payload: { id: agentId, }, }); return { ok: true }; });