fix linting

This commit is contained in:
einhorn_b 2021-09-28 16:56:10 +02:00
parent aa2565d294
commit ef0db3cb02
4 changed files with 33 additions and 32 deletions

View File

@ -22,14 +22,23 @@ export class BalanceResolver {
// load user and balance
const userEntity = await dbUser.findByPubkeyHex(result.data.user.public_hex)
const balanceEntity = await dbBalance.findByUser(userEntity.id)
let balance: Balance
const now = new Date()
const balance = new Balance({
balance: roundFloorFrom4(balanceEntity.amount),
decay: roundFloorFrom4(
await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
),
decay_date: now.toString(),
})
if (balanceEntity) {
balance = new Balance({
balance: roundFloorFrom4(balanceEntity.amount),
decay: roundFloorFrom4(
await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
),
decay_date: now.toString(),
})
} else {
balance = new Balance({
balance: 0,
decay: 0,
decay_date: now.toString(),
})
}
return balance
}

View File

@ -38,12 +38,14 @@ export class TransactionResolver {
// get balance
const balanceEntity = await dbBalance.findByUser(userEntity.id)
const now = new Date()
transactions.balance = roundFloorFrom4(balanceEntity.amount)
transactions.decay = roundFloorFrom4(
await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
)
transactions.decayDate = now.toString()
if (balanceEntity) {
const now = new Date()
transactions.balance = roundFloorFrom4(balanceEntity.amount)
transactions.decay = roundFloorFrom4(
await calculateDecay(balanceEntity.amount, balanceEntity.recordDate, now),
)
transactions.decayDate = now.toString()
}
return transactions
}

View File

@ -12,7 +12,7 @@ async function calculateAndAddDecayTransactions(
decay: boolean,
skipFirstTransaction: boolean,
): Promise<Transaction[]> {
let finalTransactions: Transaction[] = []
const finalTransactions: Transaction[] = []
const transactionIds: number[] = []
const involvedUserIds: number[] = []
@ -30,13 +30,13 @@ async function calculateAndAddDecayTransactions(
.where('transaction.id IN (:...transactions)', { transactions: transactionIds })
.leftJoinAndSelect(
'transaction.transactionSendCoin',
'transactionSendCoin'
//'transactionSendCoin.transaction_id = transaction.id',
'transactionSendCoin',
// 'transactionSendCoin.transaction_id = transaction.id',
)
.leftJoinAndSelect(
'transaction.transactionCreation',
'transactionCreation'
//'transactionSendCoin.transaction_id = transaction.id',
'transactionCreation',
// 'transactionSendCoin.transaction_id = transaction.id',
)
.getMany()
@ -63,17 +63,11 @@ async function calculateAndAddDecayTransactions(
prev.balanceDate,
current.balanceDate,
)
console.log("decay: %o for transaction %o", decay, i)
const balance = prev.balance - decay.balance
console.log("balance: %o", balance)
if (balance) {
finalTransaction.decay = decay
console.log("final transaction decay: %o", decay)
console.log("round balance: %o", balance)
finalTransaction.decay.balance = roundFloorFrom4(balance)
console.log("final transaction decay: %o after setting balance", decay)
console.log("rounded: %o", finalTransaction.decay.balance)
if (
decayStartTransaction &&
prev.transactionId < decayStartTransaction.id &&
@ -81,8 +75,6 @@ async function calculateAndAddDecayTransactions(
) {
finalTransaction.decay.decayStartBlock = decayStartTransaction.received.getTime()
}
} else {
console.log("balance isn't true: %o", balance)
}
}
@ -124,7 +116,7 @@ async function calculateAndAddDecayTransactions(
if (i > 0 || !skipFirstTransaction) {
finalTransactions.push(finalTransaction)
}
if (i === userTransactions.length - 1 && decay) {
const now = new Date()
const decay = await calculateDecayWithInterval(
@ -183,7 +175,7 @@ export default async function listTransactions(
user,
decay,
skipFirstTransaction,
)
)
if (order === 'DESC') {
transactions = transactions.reverse()
}

View File

@ -17,9 +17,7 @@ export class Balance extends BaseEntity {
@Column({ type: 'bigint' })
amount: number
static findByUser(userId: number): Promise<Balance> {
return this.createQueryBuilder('balance')
.where('balance.userId = :userId', { userId })
.getOneOrFail()
static findByUser(userId: number): Promise<Balance | undefined> {
return this.createQueryBuilder('balance').where('balance.userId = :userId', { userId }).getOne()
}
}