diff --git a/src/components/SavingGoal/SavingGoalRoadmap.vue b/src/components/SavingGoal/SavingGoalRoadmap.vue index 54a8ffd8fdf1e8652fbe69791511e41a52441ae4..fe1a241977253da06dda6547cf78a0b8d0b27077 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}) }, }, };