import axios from 'axios' import { NextResponse } from 'next/server' import { queryStringFormatter } from '@/utils/common-utils' import { getIronSession } from 'iron-session' import { cookies } from 'next/headers' import { sessionOptions } from '@/libs/session' import { SessionData } from '@/types/Auth' export async function GET(request: Request) { const cookieStore = await cookies() const session = await getIronSession(cookieStore, sessionOptions) if (!session.isLoggedIn) { return NextResponse.json({ error: 'ログインしていません。' }, { status: 401 }) } const { searchParams } = new URL(request.url) const params: Record = {} searchParams.forEach((value, key) => { const match = key.match(/inquiryListRequest\[(.*)\]/) if (match) { params[match[1]] = value } else { params[key] = value } }) try { const response = await axios.get(`${process.env.NEXT_PUBLIC_INQUIRY_API_URL}/api/qna/list?${queryStringFormatter(params)}`) if (response.status === 200) { return NextResponse.json(response.data) } return NextResponse.json({ error: 'Failed to fetch qna list' }, { status: response.status }) } catch (error: any) { console.error('Error fetching qna list:', error.response.data) return NextResponse.json({ error: 'route error' }, { status: 500 }) } }