// app/api/auth/register/route.ts
import { NextRequest, NextResponse } from "next/server"
import { createUser } from "@/lib/auth/credentials"

export async function POST(request: NextRequest) {
  try {
    const { email, password, name } = await request.json()

    // Validações
    if (!email || !password || !name) {
      return NextResponse.json(
        { error: "Todos os campos são obrigatórios" },
        { status: 400 }
      )
    }

    if (password.length < 6) {
      return NextResponse.json(
        { error: "A senha deve ter pelo menos 6 caracteres" },
        { status: 400 }
      )
    }

    // Criar usuário
    const user = await createUser(email, password, name)

    return NextResponse.json({
      success: true,
      user: {
        id: user.id,
        email: user.email,
        name: user.name
      }
    })
  } catch (error: any) {
    console.error("Erro ao registrar:", error)
    
    if (error.message === "Email já cadastrado") {
      return NextResponse.json(
        { error: "Este email já está cadastrado" },
        { status: 400 }
      )
    }

    return NextResponse.json(
      { error: "Erro ao criar conta" },
      { status: 500 }
    )
  }
}

