Add mutation to soft delete a contribution.

This commit is contained in:
elweyn 2022-07-05 09:22:32 +02:00
parent 9867bb6a6f
commit 62e7abe76e

View File

@ -2,7 +2,7 @@ import { RIGHTS } from '@/auth/RIGHTS'
import { Context, getUser } from '@/server/context'
import { backendLogger as logger } from '@/server/logger'
import { Contribution } from '@entity/Contribution'
import { Args, Authorized, Ctx, Mutation, Resolver } from 'type-graphql'
import { Arg, Args, Authorized, Ctx, Int, Mutation, Resolver } from 'type-graphql'
import ContributionArgs from '../arg/ContributionArgs'
import { UnconfirmedContribution } from '../model/UnconfirmedContribution'
import { isContributionValid, getUserCreation } from './util/isContributionValid'
@ -32,4 +32,15 @@ export class ContributionResolver {
await Contribution.save(contribution)
return new UnconfirmedContribution(contribution, user, creations)
}
@Authorized([RIGHTS.DELETE_CONTRIBUTION])
@Mutation(() => Boolean)
async adminDeleteContribution(@Arg('id', () => Int) id: number): Promise<boolean> {
const contribution = await Contribution.findOne(id)
if (!contribution) {
throw new Error('Contribution not found for given id.')
}
const res = await contribution.softRemove()
return !!res
}
}