Files
formulation/src/application/pages/api/v1/archive/restore.ts
T

32 lines
1.0 KiB
TypeScript

import type { APIRoute } from "astro";
import { openDatabase } from "../../../../../lib/database";
import { createMcpTools } from "../../../../../mcp/tools";
export const prerender = false;
export const POST: APIRoute = async ({ request }) => {
const database = openDatabase({ readOnly: false });
if (!database) return Response.json({ success: false, error: "Database unavailable." }, { status: 503 });
try {
const body = await request.json();
if (!Array.isArray(body.items) || body.items.length === 0) {
return Response.json(
{ success: false, error: "Items array with { id, type } elements is required." },
{ status: 400 }
);
}
const tools = createMcpTools(() => database);
const result = tools.restoreArchived({ items: body.items });
return Response.json(result);
} catch (error) {
return Response.json(
{ success: false, error: error instanceof Error ? error.message : "Failed to restore items." },
{ status: 400 }
);
} finally {
database.close();
}
};