import { NextResponse } from "next/server"; import { cookies } from "next/headers"; const BE_BASE_URL = process.env.BE_BASE_URL || "http://localhost:8583"; const COOKIE_NAME = "auth_token"; export async function PUT( request: Request, { params }: { params: { id: string } } ) { try { const { id } = params; if (!id) { return NextResponse.json( { success: false, message: "User ID is required" }, { status: 400 } ); } const cookieStore = await cookies(); const token = cookieStore.get(COOKIE_NAME)?.value; if (!token) { return NextResponse.json( { success: false, message: "No authentication token found" }, { status: 401 } ); } const resp = await fetch( `${BE_BASE_URL}/api/v1/auth/reset-password/${encodeURIComponent(id)}`, { method: "PUT", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, } ); // Attempt to parse JSON; fall back to status-only response let data: unknown = null; try { data = await resp.json(); } catch { data = { success: resp.ok }; } return NextResponse.json(data ?? { success: resp.ok }, { status: resp.status, }); } catch (error: unknown) { const message = error instanceof Error ? error.message : "Unknown error"; return NextResponse.json( { success: false, message: "Internal server error", error: message }, { status: 500 } ); } }