import { NextRequest, NextResponse } from "next/server";
import axios from "axios";


export async function GET(request: NextRequest) {
    const { searchParams } = new URL(request.url);
    const from = searchParams.get("from") || 'AED';
    const to = searchParams.get("to");
    const amount = searchParams.get("amount") || "1";

    if (!from || !to) {
        return NextResponse.json({ error: "Missing 'from' or 'to' parameters" }, { status: 400 });
    }

    try {
        const params = {
            api_key: process.env.CURRENCY_API_KEY,
            from: from.toUpperCase(),
            to: to.toUpperCase(),
            amount,
        };

        const response = await axios.get(process.env.CURRENCY_API_URL!, {
            params,
        });

        return NextResponse.json(response.data);
    } catch (error: any) {
        console.error("Server-side currency fetch error:", error?.response?.data || error.message);
        return NextResponse.json(
            { error: "Failed to fetch exchange rate", details: error?.response?.data || error.message },
            { status: error?.response?.status || 500 }
        );
    }
}
