diff --git a/backend/src/graphql/resolvers/BalanceResolver.ts b/backend/src/graphql/resolvers/BalanceResolver.ts index 1d1afaa2a..4c83bbbcd 100644 --- a/backend/src/graphql/resolvers/BalanceResolver.ts +++ b/backend/src/graphql/resolvers/BalanceResolver.ts @@ -2,9 +2,10 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Resolver, Query, Ctx, Authorized } from 'type-graphql' +import { getCustomRepository } from 'typeorm' import { Balance } from '../models/Balance' -import { User as dbUser } from '../../typeorm/entity/User' -import { Balance as dbBalance } from '../../typeorm/entity/Balance' +import { BalanceRepository } from '../../typeorm/repository/Balance' +import { UserRepository } from '../../typeorm/repository/User' import { calculateDecay } from '../../util/decay' import { roundFloorFrom4 } from '../../util/round' @@ -14,8 +15,11 @@ export class BalanceResolver { @Query(() => Balance) async balance(@Ctx() context: any): Promise { // load user and balance - const userEntity = await dbUser.findByPubkeyHex(context.pubKey) - const balanceEntity = await dbBalance.findByUser(userEntity.id) + const balanceRepository = getCustomRepository(BalanceRepository) + const userRepository = getCustomRepository(UserRepository) + + const userEntity = await userRepository.findByPubkeyHex(context.pubKey) + const balanceEntity = await balanceRepository.findByUser(userEntity.id) let balance: Balance const now = new Date() if (balanceEntity) { diff --git a/backend/src/typeorm/entity/Balance.ts b/backend/src/typeorm/entity/Balance.ts index 23b21de78..c1ca359f1 100644 --- a/backend/src/typeorm/entity/Balance.ts +++ b/backend/src/typeorm/entity/Balance.ts @@ -16,8 +16,4 @@ export class Balance extends BaseEntity { @Column({ type: 'bigint' }) amount: number - - static findByUser(userId: number): Promise { - return this.createQueryBuilder('balance').where('balance.userId = :userId', { userId }).getOne() - } } diff --git a/backend/src/typeorm/repository/Balance.ts b/backend/src/typeorm/repository/Balance.ts new file mode 100644 index 000000000..2cec58fdf --- /dev/null +++ b/backend/src/typeorm/repository/Balance.ts @@ -0,0 +1,11 @@ +import { EntityRepository, Repository } from '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 }) + .getOneOrFail() + } +}