import { PrismaClient } from "@prisma/client" import bcrypt from "bcryptjs" const prisma = new PrismaClient() export default async function handler(req, res) { if (req.method !== "POST") { return res.status(405).json({ error: "Método não permitido" }) } const { username, password } = req.body if (!username || !password) { return res.status(400).json({ error: "Username e senha são obrigatórios" }) } if (password.length < 6) { return res.status(400).json({ error: "Senha deve ter pelo menos 6 caracteres" }) } try { // Check if username exists const existingUser = await prisma.user.findUnique({ where: { username } }) if (existingUser) { return res.status(400).json({ error: "Nome de usuário já existe" }) } // Hash password const hashedPassword = await bcrypt.hash(password, 12) // Create user const user = await prisma.user.create({ data: { username, password: hashedPassword, email: `${username}@1000apps.local` } }) return res.status(201).json({ message: "Usuário criado com sucesso", user: { id: user.id, username: user.username } }) } catch (error) { console.error("Signup error:", error) return res.status(500).json({ error: "Erro interno do servidor" }) } finally { await prisma.$disconnect() } }