Skip to content
Snippets Groups Projects
Commit 1cd8deb0 authored by Sverre Frogner Haugen's avatar Sverre Frogner Haugen
Browse files

Merge branch 'logic-fix' into 'master'

Logic fix

See merge request !36
parents 46062a2f 5d5dad14
No related branches found
No related tags found
1 merge request!36Logic fix
Pipeline #278933 passed
import axios from 'axios'
export const getTransactions = async (pageNumber: Number, pageSize: Number): Promise<any> => {
const transactionsList = [
{
transactionId: 1,
transactionTitle: "Kiwi",
date: "15-05-2003",
debtorAccount: 12312312312,
debtorName: "Kiwi AS",
creditorAccount: 32131232132,
amount: 250,
currency: "NOK",
TransactionCategory: {
category: "Groceries"
}
},
{
transactionId: 2,
transactionTitle: "Apple",
date: "16-05-2003",
debtorAccount: 12312312312,
debtorName: "Apple Inc.",
creditorAccount: 32131232132,
amount: 300,
currency: "NOK",
TransactionCategory: {
category: "Electronics"
}
},
{
transactionId: 3,
transactionTitle: "Banana",
date: "17-05-2003",
debtorAccount: 12312312312,
debtorName: "Banana Corp.",
creditorAccount: 32131232132,
amount: 350,
currency: "NOK",
TransactionCategory: {
category: "Banana criminality"
}
},
{
transactionId: 4,
transactionTitle: "Orange",
date: "18-05-2003",
debtorAccount: 12312312312,
debtorName: "Orange Ltd.",
creditorAccount: 32131232132,
amount: 400,
currency: "NOK",
TransactionCategory: {
category: "Annoying"
}
},
{
transactionId: 4,
transactionTitle: "Crab",
date: "18-05-2003",
debtorAccount: 12312312312,
debtorName: "Crab Narcotics.",
creditorAccount: 32131232132,
amount: 400,
currency: "NOK",
TransactionCategory: {
category: "Drugs hehe"
}
}
];
export const getTransactions = async (token:string, pageNumber: Number, pageSize: Number): Promise<any> => {
const config = {
headers: {
"Content-type": "application/json",
"Authorization": "Bearer " + "Ddaddaaddasasda"
}
}
const transactionsList = [
{
transactionId: 1,
transactionTitle: "Kiwi",
date: "15-05-2003",
debtorAccount: 12312312312,
debtorName: "Kiwi AS",
creditorAccount: 32131232132,
amount: 250,
currency: "NOK",
TransactionCategory: {
category: "Groceries"
}
},
{
transactionId: 2,
transactionTitle: "Apple",
date: "16-05-2003",
debtorAccount: 12312312312,
debtorName: "Apple Inc.",
creditorAccount: 32131232132,
amount: 300,
currency: "NOK",
TransactionCategory: {
category: "Electronics"
}
},
{
transactionId: 3,
transactionTitle: "Banana",
date: "17-05-2003",
debtorAccount: 12312312312,
debtorName: "Banana Corp.",
creditorAccount: 32131232132,
amount: 350,
currency: "NOK",
TransactionCategory: {
category: "Banana criminality"
}
},
{
transactionId: 4,
transactionTitle: "Orange",
date: "18-05-2003",
debtorAccount: 12312312312,
debtorName: "Orange Ltd.",
creditorAccount: 32131232132,
amount: 400,
currency: "NOK",
TransactionCategory: {
category: "Annoying"
}
'Authorization': `Bearer ${token}`
},
{
transactionId: 4,
transactionTitle: "Crab",
date: "18-05-2003",
debtorAccount: 12312312312,
debtorName: "Crab Narcotics.",
creditorAccount: 32131232132,
amount: 400,
currency: "NOK",
TransactionCategory: {
category: "Drugs hehe"
}
params:{
"page": pageNumber,
"size": pageSize
}
];
const pageable = {
pageNum: pageNumber,
pageSize: pageSize
}
try {
await axios.post("localhost:8080/user/transaction/latest/expense", pageable, config)
console.log(token)
console.log('trying to get transactions')
console.log(config)
const result = await axios.get("http://localhost:8080/user/transaction/latest/expense", config)
console.log(result.data);
return result.data;
} catch (e: any) {
console.log("sending test data")
return transactionsList
// throw "Failed to fetch transacions: "+e.response.data
console.log(e)
throw e;
}
}
......@@ -5,23 +5,33 @@ import { ArcElement, Chart as ChartJS, Colors, Legend, Tooltip } from 'chart.js'
import TransactionComponent from '@/components/economy/TransactionComponent.vue'
import ToggleButton from '@/components/economy/ToggleButton.vue'
import { getTransactions } from '@/utils/TransactionUtils'
import { useTokenStore } from '@/stores/token'
ChartJS.register(ArcElement,Tooltip,Legend, Colors)
const selectedOption = ref<string | null>("")
interface Transaction {
"transactionCategory": string,
"transactionTitle": string,
"amount": number,
"transactionId": number,
"date": string,
}
const token:string = useTokenStore().jwtToken;
const selectedOption = ref<string | null>("")
//let page = 0;
let pages = 0;
let currentPage = 0;
const transactions = ref<any[]>([])
const transactions = ref<Transaction[]>([])
const fetchTransactions = async() => {
try{
transactions.value = await getTransactions(1, 2)
//const response = await getTransactions(1,2)
//transactions.value = response.data
//fordi akk nå benytter vi av test data
const response = await getTransactions(token,0,6)
transactions.value = response
console.log(transactions.value)
} catch (e) {
console.log(e)
}
......@@ -46,7 +56,9 @@ const handleSelectionChange = (value: string | null) => {
const distinctCategories = computed(() => {
const categories = new Set<string>()
transactions.value.forEach(transaction => {
categories.add(transaction.TransactionCategory.category)
console.log(transaction.transactionCategory)
categories.add(transaction.transactionCategory)
console.log(categories)
})
return Array.from(categories)
})
......@@ -57,11 +69,13 @@ const dropdownOptions = computed(() => {
const filteredTransactions = computed(() => {
if (selectedOption.value === 'Alle' || !selectedOption.value) {
console.log(transactions.value)
return transactions.value
} else {
return transactions.value.filter(transaction => transaction.TransactionCategory.category === selectedOption.value)
return transactions.value.filter(transaction => transaction.transactionCategory === selectedOption.value)
}
})
const chartData = computed(() => {
const data: { labels: string[], datasets: { data: number[], label:string ,backgroundColor: string[] }[] } = {
labels: [],
......@@ -75,9 +89,9 @@ const chartData = computed(() => {
const categoryAmounts: { [key: string]: number } = {};
transactions.value.forEach(transaction => {
const { TransactionCategory, amount } = transaction;
console.log(TransactionCategory)
const category = TransactionCategory.category
const { transactionCategory, amount } = transaction;
console.log(transactionCategory)
const category = transactionCategory
if (category in categoryAmounts) {
categoryAmounts[category] += amount;
} else {
......@@ -161,7 +175,7 @@ const getRandomColor = () => {
v-for="transaction in filteredTransactions"
:key="transaction.transactionId"
:title="transaction.transactionTitle"
:category="transaction.TransactionCategory.category"
:category="transaction.transactionCategory"
:amount="transaction.amount"
:date="transaction.date"
></transaction-component>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment