From 82549fdad2cfabcac4f5d56b4146e6d306941bbf Mon Sep 17 00:00:00 2001 From: Kevsl Date: Thu, 20 Jun 2024 10:17:42 +0200 Subject: [PATCH] added endpoint to get offers by crypto id --- src/offer/offer.controller.ts | 4 ++++ src/offer/offer.service.ts | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/offer/offer.controller.ts b/src/offer/offer.controller.ts index 1b9abdf..52778d8 100644 --- a/src/offer/offer.controller.ts +++ b/src/offer/offer.controller.ts @@ -29,6 +29,10 @@ export class OfferController { getAllOffers(@GetUser() user: User) { return this.offerService.getOffers(user.id); } + @Get('/crypto/:id') + getOffersByCryptoId(@GetUser() user: User, @Param('id') cryptoId: string) { + return this.offerService.getOffersByCrypto(user.id, cryptoId); + } @HttpCode(HttpStatus.CREATED) @Post('/create') diff --git a/src/offer/offer.service.ts b/src/offer/offer.service.ts index 80ed19a..aa9ea59 100644 --- a/src/offer/offer.service.ts +++ b/src/offer/offer.service.ts @@ -31,6 +31,30 @@ export class OfferService { }); } + async getOffersByCrypto(userId: string, cryptoId: string) { + await checkUserHasAccount(userId); + return this.prisma.offer.findMany({ + where: { + id_crypto: cryptoId, + }, + orderBy: { + amount: 'desc', + }, + select: { + id: true, + User: { + select: { + pseudo: true, + }, + }, + amount: true, + created_at: true, + id_user: true, + Crypto: true, + }, + }); + } + async createOffer(userId: string, dto: OfferDto) { await checkUserHasAccount(userId);