diff --git a/src/app/api/admin/companies/[id]/route.ts b/src/app/api/admin/companies/[id]/route.ts index 7357065..0f5653f 100644 --- a/src/app/api/admin/companies/[id]/route.ts +++ b/src/app/api/admin/companies/[id]/route.ts @@ -77,6 +77,21 @@ export async function DELETE(_: Request, { params }: { params: Promise<{ id: str } try { + // Pré‑checagem para evitar 500 por FK: conta vínculos antes + const [usersCount, ticketsCount] = await Promise.all([ + prisma.user.count({ where: { companyId: company.id } }), + prisma.ticket.count({ where: { companyId: company.id } }), + ]) + if (usersCount > 0 || ticketsCount > 0) { + return NextResponse.json( + { + error: "Não é possível remover esta empresa pois existem registros vinculados.", + details: { users: usersCount, tickets: ticketsCount }, + }, + { status: 409 } + ) + } + await prisma.company.delete({ where: { id: company.id } }) return NextResponse.json({ ok: true }) } catch (error) {