From 95379104135c6b150a4fb26ffc342897a32feddf Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 15 Dec 2022 13:06:55 +0100 Subject: [PATCH] lock also on contributions --- backend/src/graphql/resolver/ContributionResolver.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index 32c72b9b1..a2b1a99fc 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -50,6 +50,7 @@ import { sendContributionConfirmedEmail, sendContributionRejectedEmail, } from '@/emails/sendEmailVariants' +import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' @Resolver() export class ContributionResolver { @@ -581,6 +582,8 @@ export class ContributionResolver { const receivedCallDate = new Date() + // acquire lock + const releaseLock = await TRANSACTIONS_LOCK.acquire() const queryRunner = getConnection().createQueryRunner() await queryRunner.connect() await queryRunner.startTransaction('REPEATABLE READ') // 'READ COMMITTED') @@ -643,6 +646,7 @@ export class ContributionResolver { throw new Error(`Creation was not successful.`) } finally { await queryRunner.release() + releaseLock() } const event = new Event()