import { NextRequest, NextResponse } from 'next/server'; import { downloadPosFile } from '@/lib/pos/download-pos-file'; export async function GET(request: NextRequest) { try { const searchParams = request.nextUrl.searchParams; const relativePath = searchParams.get('path'); if (!relativePath) { return NextResponse.json( { error: '파일 경로가 제공되지 않았습니다.' }, { status: 400 } ); } const result = await downloadPosFile({ relativePath }); if (!result.success) { return NextResponse.json( { error: result.error }, { status: 404 } ); } if (!result.fileBuffer || !result.fileName) { return NextResponse.json( { error: '파일을 읽을 수 없습니다.' }, { status: 500 } ); } // 파일 다운로드 응답 생성 const response = new NextResponse(result.fileBuffer); response.headers.set('Content-Type', result.mimeType || 'application/octet-stream'); response.headers.set('Content-Disposition', `attachment; filename="${encodeURIComponent(result.fileName)}"`); response.headers.set('Content-Length', result.fileBuffer.length.toString()); return response; } catch (error) { console.error('POS 파일 다운로드 API 오류:', error); return NextResponse.json( { error: '서버 내부 오류가 발생했습니다.' }, { status: 500 } ); } }