correct storing foreignUsers emailContact

This commit is contained in:
clauspeterhuebner 2025-12-10 00:06:28 +01:00
parent b152809932
commit f5cd91e752

View File

@ -57,7 +57,8 @@ export async function storeForeignUser(
user.firstName !== committingResult.recipFirstName || user.firstName !== committingResult.recipFirstName ||
user.lastName !== committingResult.recipLastName || user.lastName !== committingResult.recipLastName ||
user.alias !== committingResult.recipAlias || user.alias !== committingResult.recipAlias ||
user.emailContact.email !== committingResult.recipEmail (user.emailContact === null && committingResult.recipEmail !== null) ||
(user.emailContact !== null && user.emailContact.email !== committingResult.recipEmail)
) { ) {
logger.warn( logger.warn(
'foreignUser still exists, but with different name, alias or email:', 'foreignUser still exists, but with different name, alias or email:',
@ -73,10 +74,22 @@ export async function storeForeignUser(
if (committingResult.recipAlias !== null) { if (committingResult.recipAlias !== null) {
user.alias = committingResult.recipAlias user.alias = committingResult.recipAlias
} }
if (committingResult.recipEmail != null) { if(user.emailContact === null && committingResult.recipEmail !== null) {
let foreignUserEmail = DbUserContact.create()
foreignUserEmail.email = committingResult.recipEmail!
foreignUserEmail.emailChecked = true
foreignUserEmail.user = user
foreignUserEmail = await DbUserContact.save(foreignUserEmail)
logger.debug('new foreignUserEmail inserted:', foreignUserEmail)
user.emailContact = foreignUserEmail
user.emailId = foreignUserEmail.id
}
else if (user.emailContact !== null && committingResult.recipEmail != null) {
const userContact = user.emailContact const userContact = user.emailContact
userContact.email = committingResult.recipEmail userContact.email = committingResult.recipEmail
user.emailContact = await DbUserContact.save(userContact) user.emailContact = await DbUserContact.save(userContact)
user.emailId = userContact.id
logger.debug('foreignUserEmail updated:', userContact)
} }
await DbUser.save(user) await DbUser.save(user)
logger.debug('update recipient successful.', user) logger.debug('update recipient successful.', user)