import { NextRequest, NextResponse } from "next/server"; import { sendToNode } from "@/lib/websocket"; function getBearerToken(req: NextRequest): string | null { const auth = req.headers.get("authorization") || ""; const match = auth.match(/^Bearer\s+(\S+)$/i); return match ? match[1] : null; } export async function POST(req: NextRequest) { const apiKey = process.env.INTERNAL_API_KEY; if (!apiKey) { return NextResponse.json({ error: "Internal API key not configured" }, { status: 500 }); } const token = getBearerToken(req); if (!token || token !== apiKey) { return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); } const body = await req.json(); const { nodeId, message } = body; if (!nodeId || !message) { return NextResponse.json({ error: "Missing nodeId or message" }, { status: 400 }); } const sent = sendToNode(nodeId, message); return NextResponse.json({ sent }); }