From 493aa3201106e36ba0027f80b55cf50460330321 Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 12 Jan 2023 15:05:41 +0100 Subject: [PATCH] Deny contribution sends rejected contribution email. --- .../graphql/resolver/ContributionResolver.ts | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index d93b675d2..bca3e7674 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -709,13 +709,33 @@ export class ContributionResolver { ) throw new Error(`State of the contribution is not allowed.`) } - const user = getUser(context) + const moderator = getUser(context) + const user = await DbUser.findOne( + { id: contributionToUpdate.userId }, + { relations: ['emailContact'] }, + ) + if (!user) { + logger.error( + `Could not find User for the Contribution (userId: ${contributionToUpdate.userId}).`, + ) + throw new Error('Could not find User for the Contribution.') + } contributionToUpdate.contributionStatus = ContributionStatus.DENIED - contributionToUpdate.deniedBy = user.id + contributionToUpdate.deniedBy = moderator.id contributionToUpdate.deniedAt = new Date() - await contributionToUpdate.save() + const res = await contributionToUpdate.save() - return true + sendContributionRejectedEmail({ + firstName: user.firstName, + lastName: user.lastName, + email: user.emailContact.email, + language: user.language, + senderFirstName: moderator.firstName, + senderLastName: moderator.lastName, + contributionMemo: contributionToUpdate.memo, + }) + + return !!res } }