export async function GET()

in src/Frontend/src/app/api/users/[user_id]/exams/[exam_id]/questions/route.ts [6:41]


export async function GET(request: Request, { params }: { params: { user_id: string, exam_id: string }}) {
    // const { searchParams } = new URL(request.url);
    // const user_id = searchParams.get('user_id');
    const user_id = params.user_id;
    const exam_id = params.exam_id;
    const pagination = usePaginationStore.getState();
    const endpoint = getURL(`${ENDPOINT_USERS}/${user_id}/${ENDPOINT_EXAMS}/${exam_id}/questions`, { page: pagination.page, page_size: pagination.page_size, q: pagination.query });
    const url = process.env.NEXT_PUBLIC_API_URL + endpoint;
    
    const headersList = headers();
    const authorization = headersList.get('authorization')
    if (!authorization) {
        return new Response(JSON.stringify({ error: "No token found" }), { status: 500 });
    }
  
    const options = {
        method: "GET",
        headers: {
            "Authorization": authorization,
        },
    };
  
    try {
        const response = await fetch(url, options);
        if (!response.ok) {
            throw new Error(await response.text());
        }
        // Parse the JSON response
        const responseData = await response.json();
        return new Response(JSON.stringify(responseData));
    } catch (error: any) {
        console.error("Error:", error.message);
        // Handle the error and create a response accordingly
        return new Response(JSON.stringify({ error: error.message }), { status: 500 });
    }
}