From c5c948787413ae46de993b212af9ccdea4379436 Mon Sep 17 00:00:00 2001 From: gahusb Date: Thu, 9 Jul 2026 22:59:27 +0900 Subject: [PATCH] =?UTF-8?q?fix(phase3b):=20orders=20=EC=98=81=EC=83=81?= =?UTF-8?q?=ED=99=94=20=ED=8A=B8=EB=9E=99=20update=C2=B7=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20error=20=EB=A1=9C=EA=B9=85(=ED=8C=8C=EC=9D=BC=20=EB=82=B4=20?= =?UTF-8?q?=EA=B7=9C=EC=95=BD=20=EC=9D=BC=EC=B9=98)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/orders/route.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/api/orders/route.ts b/app/api/orders/route.ts index 6e45e7e..5a563a1 100644 --- a/app/api/orders/route.ts +++ b/app/api/orders/route.ts @@ -75,8 +75,11 @@ export async function POST(request: Request) { if (productId === 'music_video') { musicTrackId = sanitizeStr((body as Record).musicTrackId, 64) || null; if (!musicTrackId) return NextResponse.json({ error: '영상화할 트랙이 필요합니다' }, { status: 400 }); - const { data: track } = await admin + const { data: track, error: trackLookupError } = await admin .from('music_tracks').select('id').eq('id', musicTrackId).eq('user_id', user.id).maybeSingle(); + if (trackLookupError) { + console.error('[Orders] music_tracks ownership lookup error:', trackLookupError); + } if (!track) return NextResponse.json({ error: '본인 음악 트랙만 영상화할 수 있습니다' }, { status: 404 }); } @@ -116,9 +119,12 @@ export async function POST(request: Request) { const orderId = order.id as string; if (productId === 'music_video' && musicTrackId) { - await admin.from('music_tracks') + const { error: trackUpdateError } = await admin.from('music_tracks') .update({ video_status: 'requested', video_order_id: orderId }) .eq('id', musicTrackId).eq('user_id', user.id); + if (trackUpdateError) { + console.error('[Orders] music_tracks video_status update error:', trackUpdateError); + } } // 6) 메일 발송 (실패해도 주문 유효)