2026-04-14 18:05:32 +08:00

29 lines
836 B
TypeScript

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"`,
},
});
}