JustPaste.it
import { NextRequest, NextResponse } from 'next/server';

export async function POST(req: NextRequest) {
  try {
    // Obtém os dados do formulário da requisição
    const formData = await req.formData();
    const file = formData.get('audio'); // O arquivo de áudio enviado
    const targetSongId = formData.get('target_song_id'); // ID da música alvo


console.log('Received file:', file);
console.log('Received target_song_id:', targetSongId);

    // Verifica se o arquivo de áudio e o ID da música alvo foram enviados
    if (!file || !targetSongId) {
      return NextResponse.json({ error: 'Audio file or target song ID is missing' }, { status: 400 });
    }

    // Envia a requisição para a API de comparação de áudio
    const response = await fetch(`${process.env.NEXT_PUBLIC_COMPARE_AUDIO_IA_URL}/compare-audio/`, {
      method: 'POST',
      body: formData,
    });

    // Verifica se a resposta da API foi bem-sucedida
    if (!response.ok) {
      const message = await response.text();
      console.error('API responded with an error:', message);
      return NextResponse.json({ error: `Failed to compare audio: ${message}` }, { status: response.status });
    }

    // Processa a resposta da API e retorna para o cliente
    const result = await response.json();
    return NextResponse.json(result, { status: 200 });
  } catch (error) {
    // Trata erros inesperados
    console.error('Upload error:', error);
    return NextResponse.json({ error: 'Unexpected error occurred during upload' }, { status: 500 });
  }
}