Files
openclaw-taskboard/app/api/wiki/[filename]/route.ts

39 lines
1.1 KiB
TypeScript

import { NextResponse } from "next/server";
import { deleteWikiPage, readWikiPage, updateWikiPage } from "@/lib/wiki";
export async function GET(
_request: Request,
{ params }: { params: Promise<{ filename: string }> },
) {
const { filename } = await params;
const page = readWikiPage(filename);
if (!page) {
return NextResponse.json({ error: "wiki_page_not_found" }, { status: 404 });
}
return NextResponse.json(page);
}
export async function PUT(
request: Request,
{ params }: { params: Promise<{ filename: string }> },
) {
const { filename } = await params;
const payload = (await request.json()) as { content?: string };
if (typeof payload.content !== "string") {
return NextResponse.json({ error: "content_is_required" }, { status: 400 });
}
updateWikiPage(filename, payload.content);
return NextResponse.json({ success: true });
}
export async function DELETE(
_request: Request,
{ params }: { params: Promise<{ filename: string }> },
) {
const { filename } = await params;
deleteWikiPage(filename);
return NextResponse.json({ success: true });
}