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) 메일 발송 (실패해도 주문 유효)