import { AUTH_COOKIE_NAME, BE_BASE_URL } from "@/app/services/constants"; import { NextRequest, NextResponse } from "next/server"; export async function PUT( request: NextRequest, context: { params: Promise<{ id: string }> } ) { try { const { id } = await context.params; const { cookies } = await import("next/headers"); const cookieStore = await cookies(); const token = cookieStore.get(AUTH_COOKIE_NAME)?.value; if (!token) { return NextResponse.json( { message: "Missing Authorization header" }, { status: 401 } ); } const payload = await request.json(); const upstream = await fetch(`${BE_BASE_URL}/api/v1/transactions/${id}`, { method: "PUT", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, body: JSON.stringify(payload), }); const data = await upstream.json(); return NextResponse.json(data, { status: upstream.status }); } catch (err: unknown) { const errorMessage = err instanceof Error ? err.message : "Unknown error"; return NextResponse.json( { message: "Internal server error", error: errorMessage }, { status: 500 } ); } }