// src/app/api/search/route.ts import { NextResponse } from "next/server"; import { Logger } from "@/lib/Logger"; import { botRpc, errorResponse, requireSession } from "@/lib/api"; export async function GET(request: Request) { try { const sessionResult = await requireSession(); if (!sessionResult.ok) return sessionResult.response; const { searchParams } = new URL(request.url); const query = searchParams.get("q")?.trim(); if (!query) return errorResponse("검색어가 없습니다.", 400); const { status, body } = await botRpc({ channel: "search", payload: { action: "search", query, }, timeoutMs: 10000, pollIntervalMs: 250, }); return NextResponse.json(body, { status }); } catch (error) { Logger.error(`search API error: ${error instanceof Error ? error.message : String(error)}`); return errorResponse("서버 오류가 발생했습니다.", 500); } }