init
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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"`,
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user