import { deleteUserDevice } from "../../db/devices";

/**
 * DELETE /api/devices/:id
 *
 * User entfernt ein eigenes Device — gibt damit einen Slot frei.
 * Idempotent: wenn Device nicht existiert oder bereits gelöscht → 200.
 */
export default defineEventHandler(async (event) => {
  // skipDeviceCheck: User soll bei Geräte-Limit-Sperre trotzdem freigeben können.
  const user = await requireUser(event, { skipDeviceCheck: true });
  const id = getRouterParam(event, "id");
  if (!id) throw createError({ statusCode: 400, message: "id required" });

  await deleteUserDevice(user.id, id);
  return { ok: true };
});
