correct store foreign user in case of different name or alias

This commit is contained in:
Claus-Peter Huebner 2023-10-17 14:37:50 +02:00
parent a165b588af
commit b9dc65f123
3 changed files with 17 additions and 5 deletions

View File

@ -476,7 +476,7 @@ export class TransactionResolver {
amount,
memo,
senderUser,
pendingResult.recipGradidoID,
pendingResult,
)
logger.debug('processXComCommittingSendCoins result: ', committingResult)
if (!committingResult.vote) {

View File

@ -159,7 +159,7 @@ export async function processXComCommittingSendCoins(
amount: Decimal,
memo: string,
sender: dbUser,
recipUuid: string,
recipient: SendCoinsResult,
): Promise<SendCoinsResult> {
const sendCoinsResult = new SendCoinsResult()
try {
@ -171,7 +171,7 @@ export async function processXComCommittingSendCoins(
amount,
memo,
sender,
recipUuid,
recipient,
)
// first find pending Tx with given parameters
const pendingTx = await DbPendingTransaction.findOneBy({
@ -180,7 +180,7 @@ export async function processXComCommittingSendCoins(
userName: fullName(sender.firstName, sender.lastName),
linkedUserCommunityUuid:
receiverCom.communityUuid ?? CONFIG.FEDERATION_XCOM_RECEIVER_COMMUNITY_UUID,
linkedUserGradidoID: recipUuid,
linkedUserGradidoID: recipient.recipGradidoID ? recipient.recipGradidoID : undefined,
typeId: TransactionTypeId.SEND,
state: PendingTransactionState.NEW,
balanceDate: creationDate,
@ -237,6 +237,7 @@ export async function processXComCommittingSendCoins(
)
}
sendCoinsResult.recipGradidoID = pendingTx.linkedUserGradidoID
sendCoinsResult.recipAlias = recipient.recipAlias
}
} catch (err) {
logger.error(`Error in writing sender pending transaction: `, err)

View File

@ -50,7 +50,18 @@ export async function storeForeignUser(
user,
committingResult,
)
return false
if (committingResult.recipFirstName !== null) {
user.firstName = committingResult.recipFirstName
}
if (committingResult.recipLastName !== null) {
user.lastName = committingResult.recipLastName
}
if (committingResult.recipAlias !== null) {
user.alias = committingResult.recipAlias
}
await DbUser.save(user)
logger.debug('update recipient successful.', user)
return true
} else {
logger.debug('X-Com: foreignUser still exists...:', user)
return true