import { rejectRequest } from "../../../../db/device-approvals";

/**
 * POST /api/devices/approvals/:id/reject
 *
 * Aufgerufen von einem existierenden Gerät wenn der User "Nicht ich" tippt.
 * Markiert den Request als rejected. Das neue Gerät sieht beim nächsten Poll
 * den finalen Status.
 */
export default defineEventHandler(async (event) => {
  const user = await requireUser(event);
  const id = getRouterParam(event, "id");
  if (!id) {
    throw createError({ statusCode: 400, message: "id required" });
  }
  const approval = await rejectRequest(id, user.id);
  if (!approval) {
    throw createError({ statusCode: 404, message: "approval not found" });
  }
  return { approval };
});
