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) {}