import { NextResponse } from "next/server"; import fs from "fs"; import path from "path"; export async function POST(request) { try { const { file, content } = await request.json(); if (!file || content === undefined) { return NextResponse.json({ success: false, error: "File and content required" }, { status: 400 }); } // Security: only allow specific filenames const allowedFiles = [ "1_req_client.json", "2_req_source.json", "3_req_openai.json", "4_req_target.json", "5_res_provider.txt", "6_res_openai.txt", "7_res_client.txt", "7_res_client.json", ]; if (!allowedFiles.includes(file)) { return NextResponse.json({ success: false, error: "Invalid file name" }, { status: 400 }); } const logsDir = path.join(process.cwd(), "logs", "translator"); // Create directory if not exists if (!fs.existsSync(logsDir)) { fs.mkdirSync(logsDir, { recursive: true }); } const filePath = path.join(logsDir, file); fs.writeFileSync(filePath, content, "utf-8"); return NextResponse.json({ success: true }); } catch (error) { console.error("Error saving file:", error); return NextResponse.json({ success: false, error: error.message }, { status: 500 }); } }