From a75083267d4bd967380abfc935a9c95a46448fb9 Mon Sep 17 00:00:00 2001 From: timvof Date: Tue, 21 Jan 2025 20:59:07 +0000 Subject: [PATCH] feat: New endpoint to speed up app loading --- pi-bank-backend/api/BankService.ts | 32 ++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/pi-bank-backend/api/BankService.ts b/pi-bank-backend/api/BankService.ts index f4a489d..7e40211 100644 --- a/pi-bank-backend/api/BankService.ts +++ b/pi-bank-backend/api/BankService.ts @@ -171,7 +171,7 @@ class BankService { const sender = this.userDao.findById(senderBankAccount.User); return { - "Reciever": reciever.Username, + "Receiver": reciever.Username, "Sender": sender.Username, "Amount": transaction.Amount, "Date": formattedDate @@ -187,8 +187,8 @@ class BankService { } } - @Get("/transactionItems/:userId") - public getTransactionItems(_: any, ctx: any) { + @Get("/userInteractions/:userId") + public getUserInteractions(_: any, ctx: any) { const userId = ctx.pathParameters.userId; const user = this.userDao.findById(userId); @@ -227,8 +227,30 @@ class BankService { return { message: "User doesn't have Transactions!" }; } + const allBankAccounts = this.bankAccountDao.findAll(); + let userInteractions: any = []; + + allBankAccounts.forEach(bankAccount => { + userTransactions.forEach(transaction => { + if (transaction.Sender === bankAccount.Id || transaction.Reciever === bankAccount.Id) { + const username = this.userDao.findById(bankAccount.User).Username; + + userInteractions.push({ + "Name:": username, + "IBAN": bankAccount.IBAN, + "BankAccountId": bankAccount.Id, + "Amount": bankAccount.Amount + }) + } + }) + }) + + userInteractions = Array.from( + new Set(userInteractions.map(interaction => JSON.stringify(interaction))) + ).map(jsonString => JSON.parse(jsonString)); + response.setStatus(response.OK); - return { "UserTransactions": userTransactions }; + return userInteractions; } catch (e: any) { response.setStatus(response.BAD_REQUEST); @@ -236,6 +258,8 @@ class BankService { } } + + @Get("/cards/:userId") public getCards(_: any, ctx: any) { const userId = ctx.pathParameters.userId;