From 8c571045f8739e260764fd4b9eaeb1f2d672d786 Mon Sep 17 00:00:00 2001 From: Kevsl Date: Thu, 13 Jun 2024 12:15:42 +0200 Subject: [PATCH] fixed offer creation --- src/offer/offer.service.ts | 13 +++++++++++++ src/trade/trade.service.ts | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/offer/offer.service.ts b/src/offer/offer.service.ts index 6b4e0bb..a9e04e3 100644 --- a/src/offer/offer.service.ts +++ b/src/offer/offer.service.ts @@ -29,6 +29,19 @@ export class OfferService { async createOffer(userId: string, dto: OfferDto) { await checkUserHasAccount(userId); + + const userAssets = await this.prisma.userHasCrypto.findFirst({ + where: { + id: userId, + Crypto: { + id: dto.id_crypto, + }, + }, + }); + if (userAssets.amount < dto.amount) { + throw new ForbiddenException('Insuficient tokens avaiblable'); + } + const offer = await this.prisma.offer.create({ data: { id_crypto: dto.id_crypto, diff --git a/src/trade/trade.service.ts b/src/trade/trade.service.ts index a5c685d..d987fa9 100644 --- a/src/trade/trade.service.ts +++ b/src/trade/trade.service.ts @@ -2,7 +2,6 @@ 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) {}