From 669393f22f48af7fd4aaf5c1e343385cbeb272d7 Mon Sep 17 00:00:00 2001
From: vekaste <vekaste@stud.ntnu.no>
Date: Thu, 2 May 2024 20:27:03 +0200
Subject: [PATCH] feat: made checking boxes transfer money

---
 .../SavingGoal/SavingGoalRoadmap.vue          | 24 ++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/components/SavingGoal/SavingGoalRoadmap.vue b/src/components/SavingGoal/SavingGoalRoadmap.vue
index 54a8ffd..fe1a241 100644
--- a/src/components/SavingGoal/SavingGoalRoadmap.vue
+++ b/src/components/SavingGoal/SavingGoalRoadmap.vue
@@ -1,7 +1,14 @@
 <script lang="ts">
 import {CategoryScale, Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, Title, Tooltip} from 'chart.js'
 import {Line} from 'vue-chartjs'
-import type {ChallengeDTO, CreateGoalDTO, GoalDTO, MarkChallengeDTO} from "@/api";
+import {
+  type ChallengeDTO,
+  type CreateGoalDTO,
+  type GoalDTO,
+  type MarkChallengeDTO,
+  TransactionControllerService, type TransactionDTO,
+  UserService
+} from "@/api";
 import {GoalService} from '@/api'
 import {useUserInfoStore} from "@/stores/UserStore";
 
@@ -171,6 +178,7 @@ export default {
         }
 
         this.addDataToChart(amount, dateString);
+        await this.transferMoney(amount)
         this.calculateSavedSoFar();
       } catch (error: any) {
         console.log(error.message);
@@ -334,8 +342,18 @@ export default {
       }
     },
 
-    transferMoney(amount: number) {
-      //need users bank accounts
+    async transferMoney(amount: number) {
+      let response = await UserService.getUser()
+      let spendingAccount = response.checkingAccount?.bban
+      let savingAccount = response.savingsAccount?.bban
+
+      const transactionPayload: TransactionDTO = {
+        debtorBBAN: spendingAccount,
+        creditorBBAN: savingAccount,
+        amount: amount,
+      }
+
+      await TransactionControllerService.transferToSelf({requestBody: transactionPayload})
     },
   },
 };
-- 
GitLab