import { NextResponse } from 'next/server'; import { uploadMedia } from '@/actions/media'; import { getAuthContextFromRequest } from '@/lib/auth/request-context'; export async function POST(request: Request) { try { const auth = await getAuthContextFromRequest(request); if (!auth) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); } const formData = await request.formData(); const file = formData.get('file'); if (!(file instanceof File)) { return NextResponse.json({ error: 'Missing file' }, { status: 400 }); } const result = await uploadMedia(file, { ownerId: auth.userId }); return NextResponse.json({ media: { mediaId: result.media.id, filename: result.media.filename, status: result.media.status, }, }); } catch (error) { return NextResponse.json( { error: error instanceof Error ? error.message : 'Upload failed' }, { status: 500 } ); } }