Files
PDI-MAKER/frontend/app/api/auth/register/route.ts

52 lines
1.2 KiB
TypeScript
Raw Normal View History

// 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 }
)
}
}