import { NextResponse } from "next/server"; import { getOriginFromRequest } from "@/lib/request-origin"; import { requireAdminAccess } from "@/lib/session"; import { buildNodeHy2Config } from "@/lib/subscription"; import { getNodeBySlug } from "@/lib/store"; export async function GET( request: Request, context: RouteContext<"/api/admin/nodes/[slug]/config">, ) { await requireAdminAccess(); const { slug } = await context.params; const node = await getNodeBySlug(slug); if (!node) { return new NextResponse("node not found", { status: 404 }); } return new NextResponse(buildNodeHy2Config(node, getOriginFromRequest(request)), { status: 200, headers: { "Content-Type": "application/x-yaml; charset=utf-8", "Content-Disposition": `attachment; filename="${slug}.config.yaml"`, }, }); }