From 9574af9278d912f3f325d0cc6a324cc7f8e0eabe Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 21 Feb 2022 00:38:39 +0100 Subject: [PATCH] removed balance & transaction repository since its no longer needed --- backend/src/graphql/resolver/AdminResolver.ts | 13 +++++-------- backend/src/graphql/resolver/BalanceResolver.ts | 5 ++--- backend/src/graphql/resolver/TransactionResolver.ts | 12 +++--------- backend/src/typeorm/repository/Balance.ts | 9 --------- backend/src/typeorm/repository/Transaction.ts | 11 ----------- 5 files changed, 10 insertions(+), 40 deletions(-) delete mode 100644 backend/src/typeorm/repository/Balance.ts delete mode 100644 backend/src/typeorm/repository/Transaction.ts diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 11d7f201c..54898f770 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -8,7 +8,6 @@ import { PendingCreation } from '../model/PendingCreation' import { CreatePendingCreations } from '../model/CreatePendingCreations' import { UpdatePendingCreation } from '../model/UpdatePendingCreation' import { RIGHTS } from '../../auth/RIGHTS' -import { TransactionRepository } from '../../typeorm/repository/Transaction' import { UserRepository } from '../../typeorm/repository/User' import CreatePendingCreationArgs from '../arg/CreatePendingCreationArgs' import UpdatePendingCreationArgs from '../arg/UpdatePendingCreationArgs' @@ -17,13 +16,13 @@ import moment from 'moment' import { Transaction } from '@entity/Transaction' import { UserTransaction } from '@entity/UserTransaction' import { UserTransactionRepository } from '../../typeorm/repository/UserTransaction' -import { BalanceRepository } from '../../typeorm/repository/Balance' import { calculateDecay } from '../../util/decay' import { AdminPendingCreation } from '@entity/AdminPendingCreation' import { hasElopageBuys } from '../../util/hasElopageBuys' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { User } from '@entity/User' import { TransactionTypeId } from '../enum/TransactionTypeId' +import { Balance } from '@entity/Balance' // const EMAIL_OPT_IN_REGISTER = 1 // const EMAIL_OPT_UNKNOWN = 3 // elopage? @@ -223,7 +222,6 @@ export class AdminResolver { if (moderatorUser.id === pendingCreation.userId) throw new Error('Moderator can not confirm own pending creation') - const transactionRepository = getCustomRepository(TransactionRepository) const receivedCallDate = new Date() let transaction = new Transaction() transaction.transactionTypeId = 1 @@ -232,7 +230,7 @@ export class AdminResolver { transaction.userId = pendingCreation.userId transaction.amount = BigInt(parseInt(pendingCreation.amount.toString())) transaction.creationDate = pendingCreation.date - transaction = await transactionRepository.save(transaction) + transaction = await transaction.save() if (!transaction) throw new Error('Could not create transaction') const userTransactionRepository = getCustomRepository(UserTransactionRepository) @@ -262,15 +260,14 @@ export class AdminResolver { throw new Error('Error saving user transaction: ' + error) }) - const balanceRepository = getCustomRepository(BalanceRepository) - let userBalance = await balanceRepository.findByUser(pendingCreation.userId) + let userBalance = await Balance.findOne({ userId: pendingCreation.userId }) - if (!userBalance) userBalance = balanceRepository.create() + if (!userBalance) userBalance = new Balance() userBalance.userId = pendingCreation.userId userBalance.amount = Number(newBalance) userBalance.modified = receivedCallDate userBalance.recordDate = receivedCallDate - await balanceRepository.save(userBalance) + await userBalance.save() await AdminPendingCreation.delete(pendingCreation) return true diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index 0ecfbb7cd..fff073b99 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -4,11 +4,11 @@ import { Resolver, Query, Ctx, Authorized } from 'type-graphql' import { getCustomRepository } from '@dbTools/typeorm' import { Balance } from '../model/Balance' -import { BalanceRepository } from '../../typeorm/repository/Balance' import { UserRepository } from '../../typeorm/repository/User' import { calculateDecay } from '../../util/decay' import { roundFloorFrom4 } from '../../util/round' import { RIGHTS } from '../../auth/RIGHTS' +import { Balance as dbBalance } from '@entity/Balance' @Resolver() export class BalanceResolver { @@ -16,11 +16,10 @@ export class BalanceResolver { @Query(() => Balance) async balance(@Ctx() context: any): Promise { // load user and balance - const balanceRepository = getCustomRepository(BalanceRepository) const userRepository = getCustomRepository(UserRepository) const userEntity = await userRepository.findByPubkeyHex(context.pubKey) - const balanceEntity = await balanceRepository.findByUser(userEntity.id) + const balanceEntity = await dbBalance.findOne({ userId: userEntity.id }) const now = new Date() // No balance found diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 417760982..41879f550 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -16,10 +16,8 @@ import Paginated from '../arg/Paginated' import { Order } from '../enum/Order' -import { BalanceRepository } from '../../typeorm/repository/Balance' import { UserRepository } from '../../typeorm/repository/User' import { UserTransactionRepository } from '../../typeorm/repository/UserTransaction' -import { TransactionRepository } from '../../typeorm/repository/Transaction' import { User as dbUser } from '@entity/User' import { UserTransaction as dbUserTransaction } from '@entity/UserTransaction' @@ -49,8 +47,7 @@ async function calculateAndAddDecayTransactions( transactionIds.push(userTransaction.transactionId) }) - const transactionRepository = getCustomRepository(TransactionRepository) - const transactions = await transactionRepository.joinFullTransactionsByIds(transactionIds) + const transactions = await dbTransaction.find({ where: { id: transactionIds } }) const transactionIndiced: dbTransaction[] = [] transactions.forEach((transaction: dbTransaction) => { @@ -114,7 +111,6 @@ async function calculateAndAddDecayTransactions( } else if (userTransaction.transactionTypeId === TransactionTypeId.SEND) { // send coin let otherUser: dbUser | undefined - console.log('converting', transaction.amount) finalTransaction.balance = roundFloorFrom4(Number(transaction.amount)) // Todo unsafe conversion if (transaction.userId === user.id) { finalTransaction.type = TransactionType.SEND @@ -212,8 +208,7 @@ async function updateStateBalance( received: Date, queryRunner: QueryRunner, ): Promise { - const balanceRepository = getCustomRepository(BalanceRepository) - let balance = await balanceRepository.findByUser(user.id) + let balance = await dbBalance.findOne({ userId: user.id }) if (!balance) { balance = new dbBalance() balance.userId = user.id @@ -311,8 +306,7 @@ export class TransactionResolver { } catch (err: any) {} // get balance - const balanceRepository = getCustomRepository(BalanceRepository) - const balanceEntity = await balanceRepository.findByUser(userEntity.id) + const balanceEntity = await dbBalance.findOne({ userId: userEntity.id }) if (balanceEntity) { const now = new Date() transactions.balance = roundFloorFrom4(balanceEntity.amount) diff --git a/backend/src/typeorm/repository/Balance.ts b/backend/src/typeorm/repository/Balance.ts deleted file mode 100644 index 856329443..000000000 --- a/backend/src/typeorm/repository/Balance.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { Balance } from '@entity/Balance' - -@EntityRepository(Balance) -export class BalanceRepository extends Repository { - findByUser(userId: number): Promise { - return this.createQueryBuilder('balance').where('balance.userId = :userId', { userId }).getOne() - } -} diff --git a/backend/src/typeorm/repository/Transaction.ts b/backend/src/typeorm/repository/Transaction.ts deleted file mode 100644 index dcf312753..000000000 --- a/backend/src/typeorm/repository/Transaction.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { Transaction } from '@entity/Transaction' - -@EntityRepository(Transaction) -export class TransactionRepository extends Repository { - async joinFullTransactionsByIds(transactionIds: number[]): Promise { - return this.createQueryBuilder('transaction') - .where('transaction.id IN (:...transactions)', { transactions: transactionIds }) - .getMany() - } -}