import { NextResponse } from "next/server";
import { getDbPool } from "@/db";
import { ensureBootstrapAdmin, sessionCookie, signSession, verifyPassword } from "@/lib/auth";
export const runtime = "nodejs";
export async function POST(request: Request) { try { const { email, password } = await request.json(); await ensureBootstrapAdmin(); const [rows] = await getDbPool().execute("SELECT id, tenant_id, name, email, password_hash, role FROM users WHERE email = ? AND status = 'active' LIMIT 1", [String(email || "").toLowerCase().trim()]); const user = (rows as Record<string, string>[])[0]; if (!user || !verifyPassword(String(password || ""), user.password_hash)) return NextResponse.json({ error: "E-mail ou senha inválidos." }, { status: 401 }); const response = NextResponse.json({ redirect: user.role.startsWith("client_") ? "/cliente" : "/" }); response.cookies.set(sessionCookie(signSession({ userId: user.id, tenantId: user.tenant_id, name: user.name, email: user.email, role: user.role as never }))); return response; } catch (error) { console.error(error); return NextResponse.json({ error: "Não foi possível entrar." }, { status: 500 }); } }
