From ebb017c07c06f72436ba173c2f0c79c13bf3da44 Mon Sep 17 00:00:00 2001 From: Kevsl Date: Thu, 13 Jun 2024 12:04:26 +0200 Subject: [PATCH] fixed: trade received amount by seller --- src/trade/trade.service.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/trade/trade.service.ts b/src/trade/trade.service.ts index 693345a..a5c685d 100644 --- a/src/trade/trade.service.ts +++ b/src/trade/trade.service.ts @@ -2,6 +2,7 @@ import { ForbiddenException, Injectable } from '@nestjs/common'; import { PrismaService } from '../prisma/prisma.service'; import { checkUserHasAccount, checkuserIsAdmin } from 'src/utils/checkUser'; import { TradeDto } from './dto'; +import { of } from 'rxjs'; @Injectable() export class TradeService { constructor(private prisma: PrismaService) {} @@ -73,6 +74,12 @@ export class TradeService { }, }); + const seller = await this.prisma.user.findFirst({ + where: { + id: offer.id_user, + }, + }); + const price = crypto.value * offer.amount; if (buyer.dollarAvailables < price) { throw new ForbiddenException( @@ -164,6 +171,18 @@ export class TradeService { dollarAvailables: prevAmount - price, }, }); + + const newBalanceSeller = seller.dollarAvailables + price; + + await this.prisma.user.update({ + where: { + id: seller.id, + }, + data: { + dollarAvailables: newBalanceSeller, + }, + }); + await this.prisma.offer.delete({ where: { id: offer.id,