unify checks on adminCreateContribution and adminUpdateContribution

This commit is contained in:
Ulf Gebhardt 2023-02-06 22:37:38 +01:00
parent 225652ecc7
commit bf24d15d96
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9
2 changed files with 9 additions and 13 deletions

View File

@ -1890,13 +1890,13 @@ describe('ContributionResolver', () => {
}), }),
).resolves.toEqual( ).resolves.toEqual(
expect.objectContaining({ expect.objectContaining({
errors: [new GraphQLError('Could not find UserContact')], errors: [new GraphQLError('Could not find User')],
}), }),
) )
}) })
it('logs the error thrown', () => { it('logs the error thrown', () => {
expect(logger.error).toBeCalledWith('Could not find UserContact', 'bob@baumeister.de') expect(logger.error).toBeCalledWith('Could not find User', 'bob@baumeister.de')
}) })
}) })

View File

@ -304,7 +304,7 @@ export class ContributionResolver {
withDeleted: true, withDeleted: true,
relations: ['user'], relations: ['user'],
}) })
if (!emailContact) { if (!emailContact || !emailContact.user) {
throw new LogError('Could not find user', email) throw new LogError('Could not find user', email)
} }
if (emailContact.deletedAt || emailContact.user.deletedAt) { if (emailContact.deletedAt || emailContact.user.deletedAt) {
@ -389,14 +389,10 @@ export class ContributionResolver {
withDeleted: true, withDeleted: true,
relations: ['user'], relations: ['user'],
}) })
if (!emailContact) { if (!emailContact || !emailContact.user) {
throw new LogError('Could not find UserContact', email)
}
const user = emailContact.user
if (!user) {
throw new LogError('Could not find User', email) throw new LogError('Could not find User', email)
} }
if (user.deletedAt) { if (emailContact.deletedAt || emailContact.user.deletedAt) {
throw new LogError('User was deleted', email) throw new LogError('User was deleted', email)
} }
@ -409,7 +405,7 @@ export class ContributionResolver {
throw new LogError('Contribution not found', id) throw new LogError('Contribution not found', id)
} }
if (contributionToUpdate.userId !== user.id) { if (contributionToUpdate.userId !== emailContact.user.id) {
throw new LogError('User of the pending contribution and send user does not correspond') throw new LogError('User of the pending contribution and send user does not correspond')
} }
@ -418,7 +414,7 @@ export class ContributionResolver {
} }
const creationDateObj = new Date(creationDate) const creationDateObj = new Date(creationDate)
let creations = await getUserCreation(user.id, clientTimezoneOffset) let creations = await getUserCreation(emailContact.user.id, clientTimezoneOffset)
if (contributionToUpdate.contributionDate.getMonth() === creationDateObj.getMonth()) { if (contributionToUpdate.contributionDate.getMonth() === creationDateObj.getMonth()) {
creations = updateCreations(creations, contributionToUpdate, clientTimezoneOffset) creations = updateCreations(creations, contributionToUpdate, clientTimezoneOffset)
@ -441,11 +437,11 @@ export class ContributionResolver {
result.memo = contributionToUpdate.memo result.memo = contributionToUpdate.memo
result.date = contributionToUpdate.contributionDate result.date = contributionToUpdate.contributionDate
result.creation = await getUserCreation(user.id, clientTimezoneOffset) result.creation = await getUserCreation(emailContact.user.id, clientTimezoneOffset)
const event = new Event() const event = new Event()
const eventAdminContributionUpdate = new EventAdminContributionUpdate() const eventAdminContributionUpdate = new EventAdminContributionUpdate()
eventAdminContributionUpdate.userId = user.id eventAdminContributionUpdate.userId = emailContact.user.id
eventAdminContributionUpdate.amount = amount eventAdminContributionUpdate.amount = amount
eventAdminContributionUpdate.contributionId = contributionToUpdate.id eventAdminContributionUpdate.contributionId = contributionToUpdate.id
await eventProtocol.writeEvent( await eventProtocol.writeEvent(