From 1d0b160ba8cf6dac9a6323a3482f5d5b16a05dc6 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Fri, 20 Mar 2026 15:33:37 -0400 Subject: [PATCH] fix: ensure non-negative payouts in fund investment calculations --- src/app/api/admin/users/[userId]/reset/route.ts | 4 ++-- src/app/api/user/me/reset/route.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/api/admin/users/[userId]/reset/route.ts b/src/app/api/admin/users/[userId]/reset/route.ts index 9a49b13..280a1fd 100644 --- a/src/app/api/admin/users/[userId]/reset/route.ts +++ b/src/app/api/admin/users/[userId]/reset/route.ts @@ -89,7 +89,7 @@ export async function POST( }, 0) const fundTotalValue = inv.fund.user.balance + fundPortfolioValue const nav = calcFundNav(fundTotalValue, inv.fund.sharesOutstanding) - return sum + inv.shares * nav + return sum + Math.max(0, inv.shares * nav) }, 0) const totalValue = user.balance + portfolioValue + fundInvestmentValue @@ -106,7 +106,7 @@ export async function POST( }, 0) const fundTotalValue = inv.fund.user.balance + fundPortfolioValue const nav = calcFundNav(fundTotalValue, inv.fund.sharesOutstanding) - const payout = inv.shares * nav + const payout = Math.max(0, inv.shares * nav) return [ prisma.hedgeFund.update({ where: { id: inv.fundId }, diff --git a/src/app/api/user/me/reset/route.ts b/src/app/api/user/me/reset/route.ts index b77e9d2..2a3f7bc 100644 --- a/src/app/api/user/me/reset/route.ts +++ b/src/app/api/user/me/reset/route.ts @@ -91,7 +91,7 @@ export async function POST(req: NextRequest) { }, 0) const fundTotalValue = inv.fund.user.balance + fundPortfolioValue const nav = calcFundNav(fundTotalValue, inv.fund.sharesOutstanding) - return sum + inv.shares * nav + return sum + Math.max(0, inv.shares * nav) }, 0) const totalValue = user.balance + portfolioValue + fundInvestmentValue @@ -108,7 +108,7 @@ export async function POST(req: NextRequest) { }, 0) const fundTotalValue = inv.fund.user.balance + fundPortfolioValue const nav = calcFundNav(fundTotalValue, inv.fund.sharesOutstanding) - const payout = inv.shares * nav + const payout = Math.max(0, inv.shares * nav) return [ prisma.hedgeFund.update({ where: { id: inv.fundId },