diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index 079e8e88c..6245ef8ba 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -10,7 +10,7 @@ const isAuthorized: AuthChecker = async ( ) => { if (context.token) { const decoded = decode(context.token) - context.pubKey = decoded.pubKey + context.pubKey = Buffer.from(decoded.pubKey).toString('hex') context.setHeaders.push({ key: 'token', value: encode(decoded.pubKey) }) return true } diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index 902e50b8b..e067b4d68 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -18,8 +18,7 @@ export class BalanceResolver { const balanceRepository = getCustomRepository(BalanceRepository) const userRepository = getCustomRepository(UserRepository) - const pubKeyString = Buffer.from(context.pubKey).toString('hex') - const userEntity = await userRepository.findByPubkeyHex(pubKeyString) + const userEntity = await userRepository.findByPubkeyHex(context.pubKey) const balanceEntity = await balanceRepository.findByUser(userEntity.id) const now = new Date() diff --git a/backend/src/graphql/resolver/GdtResolver.ts b/backend/src/graphql/resolver/GdtResolver.ts index ba10d45bf..b4f9a512b 100644 --- a/backend/src/graphql/resolver/GdtResolver.ts +++ b/backend/src/graphql/resolver/GdtResolver.ts @@ -22,8 +22,7 @@ export class GdtResolver { ): Promise { // load user const userRepository = getCustomRepository(UserRepository) - const pubKeyString = Buffer.from(context.pubKey).toString('hex') - const userEntity = await userRepository.findByPubkeyHex(pubKeyString) + const userEntity = await userRepository.findByPubkeyHex(context.pubKey) const resultGDT = await apiGet( `${CONFIG.GDT_API_URL}/GdtEntries/listPerEmailApi/${userEntity.email}/${currentPage}/${pageSize}/${order}`, diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index fbdbaf1bc..968ce9d4c 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -473,8 +473,7 @@ export class TransactionResolver { ): Promise { // load user const userRepository = getCustomRepository(UserRepository) - const pubKeyString = Buffer.from(context.pubKey).toString('hex') - const userEntity = await userRepository.findByPubkeyHex(pubKeyString) + const userEntity = await userRepository.findByPubkeyHex(context.pubKey) const transactions = await listTransactions(currentPage, pageSize, order, userEntity) @@ -509,8 +508,7 @@ export class TransactionResolver { // TODO this is subject to replay attacks // validate sender user (logged in) const userRepository = getCustomRepository(UserRepository) - const pubKeyString = Buffer.from(context.pubKey).toString('hex') - const senderUser = await userRepository.findByPubkeyHex(pubKeyString) + const senderUser = await userRepository.findByPubkeyHex(context.pubKey) if (senderUser.pubkey.length !== 32) { throw new Error('invalid sender public key') } diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 436aee075..ad04a0e9f 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -621,8 +621,7 @@ export class UserResolver { @Query(() => Boolean) async hasElopage(@Ctx() context: any): Promise { const userRepository = getCustomRepository(UserRepository) - const pubKey = Buffer.from(context.pubKey).toString('hex') - const userEntity = await userRepository.findByPubkeyHex(pubKey).catch() + const userEntity = await userRepository.findByPubkeyHex(context.pubKey).catch() if (!userEntity) { return false }