From 248622f3bed68d4ecc7c315ec3578cf14968fd9b Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sat, 6 Nov 2021 19:30:03 +0100 Subject: [PATCH] hasElopage is now implemented on apollo - requires authorization now --- backend/src/graphql/resolver/UserResolver.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 7cc8cbf6d..879d5a183 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -26,6 +26,7 @@ import { UserSettingRepository } from '../../typeorm/repository/UserSettingRepos import { Setting } from '../enum/Setting' import { UserRepository } from '../../typeorm/repository/User' import { LoginUser } from '@entity/LoginUser' +import { LoginElopageBuys } from '@entity/LoginElopageBuys' import { LoginUserBackup } from '@entity/LoginUserBackup' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { sendEMail } from '../../util/sendEMail' @@ -570,12 +571,19 @@ export class UserResolver { return new CheckEmailResponse(result.data) } + @Authorized() @Query(() => Boolean) async hasElopage(@Ctx() context: any): Promise { - const result = await apiGet(CONFIG.LOGIN_API_URL + 'hasElopage?session_id=' + context.sessionId) - if (!result.success) { - throw new Error(result.data) + // const result = await apiGet(CONFIG.LOGIN_API_URL + 'hasElopage?session_id=' + context.sessionId) + const userRepository = getCustomRepository(UserRepository) + const userEntity = await userRepository.findByPubkeyHex(context.pubKey).catch() + + if (!userEntity) { + return false } - return result.data.hasElopage + + const elopageBuyCount = await LoginElopageBuys.count({ payerEmail: userEntity.email }) + + return elopageBuyCount > 0 } }