diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts index 907761309..28412ea59 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts @@ -15,6 +15,7 @@ import { EncryptedTransferArgs, fullName, interpretEncryptedTransferArgs, + sendTransactionReceivedEmail, TransactionTypeId, } from 'core' import { randomBytes } from 'crypto' @@ -661,6 +662,12 @@ export class TransactionLinkResolver { if (methodLogger.isDebugEnabled()) { methodLogger.debug('Disburse JWT was sent successfully with result=', result) } + const senderUser = await findUserByIdentifier(senderGradidoId, senderCommunityUuid) + if (!senderUser) { + const errmsg = `Sender user not found with identifier=${senderGradidoId}` + methodLogger.error(errmsg) + throw new LogError(errmsg) + } const recipientUser = await findUserByIdentifier(recipientGradidoId, recipientCommunityUuid) if (!recipientUser) { const errmsg = `Recipient user not found with identifier=${recipientGradidoId}` diff --git a/core/src/federation/client/1_0/logging/SendCoinsResultLogging.view.ts b/core/src/federation/client/1_0/logging/SendCoinsResultLogging.view.ts index d92a20e71..1eb08c432 100644 --- a/core/src/federation/client/1_0/logging/SendCoinsResultLogging.view.ts +++ b/core/src/federation/client/1_0/logging/SendCoinsResultLogging.view.ts @@ -14,7 +14,6 @@ export class SendCoinsResultLoggingView extends AbstractLoggingView { recipFirstName: this.self.recipFirstName?.substring(0, 3), recipLastName: this.self.recipLastName?.substring(0, 3), recipAlias: this.self.recipAlias?.substring(0, 3), - recipEmail: this.self.recipEmail?.substring(0, 3), } } } diff --git a/core/src/federation/client/1_0/model/SendCoinsResult.ts b/core/src/federation/client/1_0/model/SendCoinsResult.ts index bef399b01..8fc21305f 100644 --- a/core/src/federation/client/1_0/model/SendCoinsResult.ts +++ b/core/src/federation/client/1_0/model/SendCoinsResult.ts @@ -20,7 +20,4 @@ export class SendCoinsResult { @Field(() => String, { nullable: true }) recipAlias: string | null - - @Field(() => String, { nullable: true }) - recipEmail: string | null } diff --git a/core/src/graphql/logic/processXComSendCoins.ts b/core/src/graphql/logic/processXComSendCoins.ts index 7b39f2927..7b2ca3dc6 100644 --- a/core/src/graphql/logic/processXComSendCoins.ts +++ b/core/src/graphql/logic/processXComSendCoins.ts @@ -168,7 +168,7 @@ export async function processXComCompleteTransaction( ) } } - + /* await sendTransactionReceivedEmail({ firstName: foreignUser.firstName, lastName: foreignUser.lastName, @@ -180,6 +180,7 @@ export async function processXComCompleteTransaction( senderEmail: senderUser.emailContact.email, transactionAmount: new Decimal(amount), }) + */ if (dbTransactionLink) { await sendTransactionLinkRedeemedEmail({ firstName: senderUser.firstName, @@ -188,7 +189,7 @@ export async function processXComCompleteTransaction( language: senderUser.language, senderFirstName: foreignUser.firstName, senderLastName: foreignUser.lastName, - senderEmail: foreignUser.emailContact.email, + senderEmail: 'unknown', // foreignUser.emailContact.email, transactionAmount: new Decimal(amount), transactionMemo: memo, }) @@ -509,7 +510,6 @@ export async function processXComCommittingSendCoins( } sendCoinsResult.recipGradidoID = pendingTx.linkedUserGradidoID sendCoinsResult.recipAlias = recipient.recipAlias - sendCoinsResult.recipEmail = recipient.recipEmail } } catch (err) { methodLogger.error( diff --git a/core/src/graphql/logic/storeForeignUser.ts b/core/src/graphql/logic/storeForeignUser.ts index 3722ca351..90c7c7c7b 100644 --- a/core/src/graphql/logic/storeForeignUser.ts +++ b/core/src/graphql/logic/storeForeignUser.ts @@ -45,6 +45,7 @@ export async function storeForeignUser( foreignUser = await DbUser.save(foreignUser) logger.debug('new foreignUser inserted:', new UserLoggingView(foreignUser)) + /* if (committingResult.recipEmail !== null) { let foreignUserEmail = DbUserContact.create() foreignUserEmail.email = committingResult.recipEmail! @@ -59,19 +60,20 @@ export async function storeForeignUser( foreignUser.emailId = foreignUserEmail.id foreignUser = await DbUser.save(foreignUser) } - + */ return foreignUser } else if ( user.firstName !== committingResult.recipFirstName || user.lastName !== committingResult.recipLastName || - user.alias !== committingResult.recipAlias || + user.alias !== committingResult.recipAlias/* || (user.emailContact === null && committingResult.recipEmail !== null) || (user.emailContact !== null && user.emailContact?.email !== null && user.emailContact?.email !== committingResult.recipEmail) + */ ) { logger.debug( - 'foreignUser still exists, but with different name, alias or email:', + 'foreignUser still exists, but with different name or alias:', new UserLoggingView(user), committingResult, ) @@ -84,6 +86,7 @@ export async function storeForeignUser( if (committingResult.recipAlias !== null) { user.alias = committingResult.recipAlias } + /* if (!user.emailContact && committingResult.recipEmail !== null) { logger.debug( 'creating new userContact:', @@ -110,6 +113,7 @@ export async function storeForeignUser( user.emailId = userContact.id logger.debug('foreignUserEmail updated:', new UserContactLoggingView(userContact)) } + */ await DbUser.save(user) logger.debug('update recipient successful.', new UserLoggingView(user)) return user diff --git a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts index 7e29fbe29..4e6dc71d2 100644 --- a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts +++ b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts @@ -128,7 +128,6 @@ export class SendCoinsResolver { receiverUser.firstName, receiverUser.lastName, receiverUser.alias, - receiverUser.emailContact.email, ) const responseJwt = await encryptAndSign( responseArgs, diff --git a/shared/src/jwt/payloadtypes/SendCoinsResponseJwtPayloadType.ts b/shared/src/jwt/payloadtypes/SendCoinsResponseJwtPayloadType.ts index b6335b262..a857cceae 100644 --- a/shared/src/jwt/payloadtypes/SendCoinsResponseJwtPayloadType.ts +++ b/shared/src/jwt/payloadtypes/SendCoinsResponseJwtPayloadType.ts @@ -8,7 +8,7 @@ export class SendCoinsResponseJwtPayloadType extends JwtPayloadType { recipFirstName: string | null recipLastName: string | null recipAlias: string | null - recipEmail: string | null + constructor( handshakeID: string, @@ -17,7 +17,6 @@ export class SendCoinsResponseJwtPayloadType extends JwtPayloadType { recipFirstName: string | null, recipLastName: string | null, recipAlias: string | null, - recipEmail: string | null, ) { super(handshakeID) this.tokentype = SendCoinsResponseJwtPayloadType.SEND_COINS_RESPONSE_TYPE @@ -26,6 +25,5 @@ export class SendCoinsResponseJwtPayloadType extends JwtPayloadType { this.recipFirstName = recipFirstName this.recipLastName = recipLastName this.recipAlias = recipAlias - this.recipEmail = recipEmail } }