mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
properly return a result when querying an empty transaction list
This commit is contained in:
parent
1f0886585e
commit
3af5ee13b9
@ -30,6 +30,7 @@ import { RIGHTS } from '../../auth/RIGHTS'
|
|||||||
import { User } from '../model/User'
|
import { User } from '../model/User'
|
||||||
import { communityUser } from '../../util/communityUser'
|
import { communityUser } from '../../util/communityUser'
|
||||||
import { virtualDecayTransaction } from '../../util/virtualDecayTransaction'
|
import { virtualDecayTransaction } from '../../util/virtualDecayTransaction'
|
||||||
|
import Decimal from 'decimal.js-light'
|
||||||
|
|
||||||
@Resolver()
|
@Resolver()
|
||||||
export class TransactionResolver {
|
export class TransactionResolver {
|
||||||
@ -59,9 +60,23 @@ export class TransactionResolver {
|
|||||||
{ order: { balanceDate: 'DESC' } },
|
{ 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) {
|
if (!lastTransaction) {
|
||||||
// TODO Have proper return type here
|
return new TransactionList(new Decimal(0), [], 0, balanceGDT)
|
||||||
throw new Error('User has no transactions')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// find transactions
|
// find transactions
|
||||||
@ -118,21 +133,6 @@ export class TransactionResolver {
|
|||||||
transactions.push(new Transaction(userTransaction, self, linkedUser))
|
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
|
// Construct Result
|
||||||
return new TransactionList(
|
return new TransactionList(
|
||||||
lastTransaction.balance,
|
lastTransaction.balance,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user