// src/routes/api/negociacao/+server.js
import { google } from 'googleapis';
import { json } from '@sveltejs/kit';

// Configurar Gmail API
const gmail = google.gmail('v1');

const auth = new google.auth.GoogleAuth({
  keyFile: './path/to/service-account-key.json', // ou use variáveis de ambiente
  scopes: ['https://www.googleapis.com/auth/gmail.send']
});

export async function POST({ request }) {
  try {
    const formData = await request.json();

    // Validação básica
    const requiredFields = ['nome', 'celular', 'email', 'empresa', 'setor', 'funcionarios', 'faturamento'];
    const errors = {};

    for (const field of requiredFields) {
      if (!formData[field] || formData[field].trim() === '') {
        errors[field] = `${field} é obrigatório`;
      }
    }

    if (Object.keys(errors).length > 0) {
      return json({ success: false, errors }, { status: 400 });
    }

    // Montar o email
    const emailContent = `From: noreply@seudominio.com
To: comercial@basspago.com.br
Subject: Nova Solicitação de Negociação - ${formData.empresa}
Content-Type: text/html; charset=utf-8

<h2>Nova Solicitação de Negociação - Bass Pago</h2>
<p><strong>Data:</strong> ${new Date().toLocaleString('pt-BR')}</p>

<h3>Dados do Cliente:</h3>
<ul>
    <li><strong>Nome:</strong> ${formData.nome}</li>
    <li><strong>Celular:</strong> ${formData.celular}</li>
    <li><strong>E-mail:</strong> ${formData.email}</li>
    <li><strong>Empresa:</strong> ${formData.empresa}</li>
    <li><strong>Setor:</strong> ${formData.setor}</li>
    <li><strong>Funcionários:</strong> ${formData.funcionarios}</li>
    <li><strong>Faturamento Anual:</strong> ${formData.faturamento}</li>
</ul>

${formData.detalhes ? `
    <h3>Detalhes Adicionais:</h3>
    <p>${formData.detalhes}</p>
` : ''}`;

    // Codificar em base64
    const encodedMessage = Buffer.from(emailContent).toString('base64url');

    // Enviar email
    await gmail.users.messages.send({
      auth,
      userId: 'me',
      requestBody: {
        raw: encodedMessage
      }
    });

    return json({
      success: true,
      message: 'Solicitação enviada com sucesso! Nossa equipe entrará em contato em breve.'
    });

  } catch (error) {
    console.error('Erro ao enviar email:', error);
    return json({
      success: false,
      message: 'Erro ao enviar solicitação. Tente novamente.'
    }, { status: 500 });
  }
}