resolvers

This commit is contained in:
Ulf Gebhardt 2021-10-01 20:15:48 +02:00
parent 42f66221a1
commit 0449beb19b
No known key found for this signature in database
GPG Key ID: 81308EFE29ABFEBD
2 changed files with 15 additions and 20 deletions

View File

@ -2,11 +2,12 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { Resolver, Query, Args, Ctx, Authorized } from 'type-graphql'
import { getCustomRepository } from 'typeorm'
import CONFIG from '../../config'
import { GdtEntryList } from '../models/GdtEntryList'
import { GdtTransactionSessionIdInput } from '../inputs/GdtInputs'
import { apiGet } from '../../apis/HttpRequest'
import { User as dbUser } from '../../typeorm/entity/User'
import { UserRepository } from '../../typeorm/repository/User'
@Resolver()
export class GdtResolver {
@ -19,7 +20,8 @@ export class GdtResolver {
@Ctx() context: any,
): Promise<GdtEntryList> {
// load user
const userEntity = await dbUser.findByPubkeyHex(context.pubKey)
const userRepository = getCustomRepository(UserRepository)
const userEntity = await userRepository.findByPubkeyHex(context.pubKey)
const resultGDT = await apiGet(
`${CONFIG.GDT_API_URL}/GdtEntries/listPerEmailApi/${userEntity.email}/${currentPage}/${pageSize}/${order}`,

View File

@ -1,8 +1,11 @@
import { getCustomRepository } from 'typeorm'
import { User as dbUser } from '../../typeorm/entity/User'
import { UserRepository } from '../../typeorm/repository/User'
import { TransactionList, Transaction } from '../models/Transaction'
import { UserTransaction as dbUserTransaction } from '../../typeorm/entity/UserTransaction'
import { UserTransactionRepository } from '../../typeorm/repository/UserTransaction'
import { Transaction as dbTransaction } from '../../typeorm/entity/Transaction'
import { Decay } from '../models/Decay'
import { TransactionRepository } from '../../typeorm/repository/Transaction'
import { calculateDecayWithInterval } from '../../util/decay'
import { roundFloorFrom4 } from '../../util/round'
@ -20,20 +23,8 @@ async function calculateAndAddDecayTransactions(
transactionIds.push(userTransaction.transactionId)
})
const transactions = await dbTransaction
.createQueryBuilder('transaction')
.where('transaction.id IN (:...transactions)', { transactions: transactionIds })
.leftJoinAndSelect(
'transaction.transactionSendCoin',
'transactionSendCoin',
// 'transactionSendCoin.transaction_id = transaction.id',
)
.leftJoinAndSelect(
'transaction.transactionCreation',
'transactionCreation',
// 'transactionSendCoin.transaction_id = transaction.id',
)
.getMany()
const transactionRepository = getCustomRepository(TransactionRepository)
const transactions = await transactionRepository.joinFullTransactionsByIds(transactionIds)
const transactionIndiced: dbTransaction[] = []
transactions.forEach((transaction: dbTransaction) => {
@ -46,9 +37,10 @@ async function calculateAndAddDecayTransactions(
// remove duplicates
// https://stackoverflow.com/questions/1960473/get-all-unique-values-in-a-javascript-array-remove-duplicates
const involvedUsersUnique = involvedUserIds.filter((v, i, a) => a.indexOf(v) === i)
const userIndiced = await dbUser.getUsersIndiced(involvedUsersUnique)
const userRepository = getCustomRepository(UserRepository)
const userIndiced = await userRepository.getUsersIndiced(involvedUsersUnique)
const decayStartTransaction = await Decay.getDecayStartBlock()
const decayStartTransaction = await transactionRepository.findDecayStartBlock()
for (let i = 0; i < userTransactions.length; i++) {
const userTransaction = userTransactions[i]
@ -163,7 +155,8 @@ export default async function listTransactions(
if (offset && order === 'ASC') {
offset--
}
let [userTransactions, userTransactionsCount] = await dbUserTransaction.findByUserPaged(
const userTransactionRepository = getCustomRepository(UserTransactionRepository)
let [userTransactions, userTransactionsCount] = await userTransactionRepository.findByUserPaged(
user.id,
limit,
offset,