import { NextRequest, NextResponse } from 'next/server'
import { query } from '@/lib/db'

export async function GET(
  _req: NextRequest,
  { params }: { params: Promise<{ cnpj: string }> },
) {
  const { cnpj } = await params
  const rows = await query(
    `SELECT id, nome, ddd, numero FROM lead_telefones WHERE cnpj = $1 ORDER BY id`,
    [cnpj],
  )
  return NextResponse.json(rows)
}

export async function POST(
  req: NextRequest,
  { params }: { params: Promise<{ cnpj: string }> },
) {
  const { cnpj } = await params
  const body = await req.json() as { nome: string; ddd?: string; numero: string }

  if (!body.nome?.trim() || !body.numero?.trim()) {
    return NextResponse.json({ error: 'nome e numero são obrigatórios' }, { status: 400 })
  }

  const [row] = await query(
    `INSERT INTO lead_telefones (cnpj, nome, ddd, numero) VALUES ($1, $2, $3, $4) RETURNING id, nome, ddd, numero`,
    [cnpj, body.nome.trim(), body.ddd?.trim() || null, body.numero.trim()],
  )
  return NextResponse.json(row, { status: 201 })
}

export async function DELETE(
  req: NextRequest,
  { params }: { params: Promise<{ cnpj: string }> },
) {
  const { cnpj } = await params
  const id = req.nextUrl.searchParams.get('id')
  if (!id) return NextResponse.json({ error: 'id obrigatório' }, { status: 400 })
  await query(`DELETE FROM lead_telefones WHERE id = $1 AND cnpj = $2`, [id, cnpj])
  return NextResponse.json({ ok: true })
}
