removed balance & transaction repository since its no longer needed

This commit is contained in:
Ulf Gebhardt 2022-02-21 00:38:39 +01:00
parent e1034cb1fd
commit 9574af9278
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9
5 changed files with 10 additions and 40 deletions

View File

@ -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

View File

@ -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<Balance> {
// 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

View File

@ -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<dbBalance> {
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)

View File

@ -1,9 +0,0 @@
import { EntityRepository, Repository } from '@dbTools/typeorm'
import { Balance } from '@entity/Balance'
@EntityRepository(Balance)
export class BalanceRepository extends Repository<Balance> {
findByUser(userId: number): Promise<Balance | undefined> {
return this.createQueryBuilder('balance').where('balance.userId = :userId', { userId }).getOne()
}
}

View File

@ -1,11 +0,0 @@
import { EntityRepository, Repository } from '@dbTools/typeorm'
import { Transaction } from '@entity/Transaction'
@EntityRepository(Transaction)
export class TransactionRepository extends Repository<Transaction> {
async joinFullTransactionsByIds(transactionIds: number[]): Promise<Transaction[]> {
return this.createQueryBuilder('transaction')
.where('transaction.id IN (:...transactions)', { transactions: transactionIds })
.getMany()
}
}