properly return a result when querying an empty transaction list

This commit is contained in:
Ulf Gebhardt 2022-03-04 12:38:17 +01:00
parent 1f0886585e
commit 3af5ee13b9
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9

View File

@ -30,6 +30,7 @@ import { RIGHTS } from '../../auth/RIGHTS'
import { User } from '../model/User'
import { communityUser } from '../../util/communityUser'
import { virtualDecayTransaction } from '../../util/virtualDecayTransaction'
import Decimal from 'decimal.js-light'
@Resolver()
export class TransactionResolver {
@ -59,9 +60,23 @@ export class TransactionResolver {
{ order: { balanceDate: 'DESC' } },
)
// get GDT
let balanceGDT = null
try {
const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, {
email: user.email,
})
if (!resultGDTSum.success) {
throw new Error('Call not successful')
}
balanceGDT = Number(resultGDTSum.data.sum) || 0
} catch (err: any) {
// eslint-disable-next-line no-console
console.log('Could not query GDT Server', err)
}
if (!lastTransaction) {
// TODO Have proper return type here
throw new Error('User has no transactions')
return new TransactionList(new Decimal(0), [], 0, balanceGDT)
}
// find transactions
@ -118,21 +133,6 @@ export class TransactionResolver {
transactions.push(new Transaction(userTransaction, self, linkedUser))
}
// get GDT
let balanceGDT = null
try {
const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, {
email: user.email,
})
if (!resultGDTSum.success) {
throw new Error('Call not successful')
}
balanceGDT = Number(resultGDTSum.data.sum) || 0
} catch (err: any) {
// eslint-disable-next-line no-console
console.log('Could not query GDT Server', err)
}
// Construct Result
return new TransactionList(
lastTransaction.balance,