From 9e5fcaa0e8b473ac1c2a469861d439f47bf0a1bd Mon Sep 17 00:00:00 2001 From: Kevsl Date: Fri, 7 Jun 2024 16:00:26 +0200 Subject: [PATCH] added user assets visualisation --- src/user/user.controller.ts | 8 ++++++++ src/user/user.service.ts | 21 ++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index f6e80ff..b5c9345 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -18,6 +18,14 @@ export class UserController { ) { return this.userService.GetMyAssets(user.id); } + + @Get('/users-assets') + GetAlLAssets( + @GetUser() + user: User, + ) { + return this.userService.GetUsersAssets(user.id); + } @Get('/my-trades') GetMyTrades( @GetUser() diff --git a/src/user/user.service.ts b/src/user/user.service.ts index a5dbf55..59fa2bd 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { PrismaService } from '../prisma/prisma.service'; -import { checkUserHasAccount } from 'src/utils/checkUser'; +import { checkUserHasAccount, checkuserIsAdmin } from 'src/utils/checkUser'; @Injectable() export class UserService { @@ -24,6 +24,25 @@ export class UserService { return user; } + async GetUsersAssets(userId: string) { + await checkuserIsAdmin(userId); + + const user = await this.prisma.user.findMany({ + select: { + firstName: true, + lastName: true, + pseudo: true, + dollarAvailables: true, + UserHasCrypto: { + select: { + Crypto: true, + }, + }, + }, + }); + return user; + } + async GetMyTrades(userId: string) { await checkUserHasAccount(userId); const user = await this.prisma.trade.findMany({