import { NextRequest, NextResponse } from "next/server"; import { getCollaboraEditUrl } from "@/lib/collabora/client"; import { logger } from "@/lib/logger"; export async function POST(request: NextRequest) { try { const body = await request.json(); if (!body.fileId || !body.fileName) { return NextResponse.json( { error: "Missing required fields: fileId, fileName" }, { status: 400 } ); } const url = await getCollaboraEditUrl( String(body.fileId), String(body.fileName) ); return NextResponse.json({ url }); } catch (error) { const message = error instanceof Error ? error.message : "Unknown error"; logger.error("Collabora edit URL failed", { error: message }); if (message.includes("not configured")) { return NextResponse.json({ error: message }, { status: 503 }); } return NextResponse.json({ error: message }, { status: 500 }); } }