Change the listContribution query to give back ContributionListResult object with linkCount.

This commit is contained in:
elweyn 2022-07-18 11:27:44 +02:00
parent 6e0db93591
commit 93c2d6814a
2 changed files with 14 additions and 7 deletions

View File

@ -2,6 +2,7 @@ import { RIGHTS } from '@/auth/RIGHTS'
import { Context, getUser } from '@/server/context'
import { backendLogger as logger } from '@/server/logger'
import { Contribution as dbContribution } from '@entity/Contribution'
import { User as dbUser } from '@entity/User'
import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql'
import { FindOperator, IsNull } from '@dbTools/typeorm'
import ContributionArgs from '@arg/ContributionArgs'
@ -39,21 +40,21 @@ export class ContributionResolver {
}
@Authorized([RIGHTS.LIST_CONTRIBUTIONS])
@Query(() => [Contribution])
@Query(() => ContributionListResult)
async listContributions(
@Args()
{ currentPage = 1, pageSize = 5, order = Order.DESC }: Paginated,
@Arg('filterConfirmed', () => Boolean)
filterConfirmed: boolean | null,
@Ctx() context: Context,
): Promise<Contribution[]> {
): Promise<ContributionListResult> {
const user = getUser(context)
const where: {
userId: number
confirmedBy?: FindOperator<number> | null
} = { userId: user.id }
if (filterConfirmed) where.confirmedBy = IsNull()
const contributions = await dbContribution.find({
const [contributions, count] = await dbContribution.findAndCount({
where,
order: {
createdAt: order,
@ -62,7 +63,10 @@ export class ContributionResolver {
skip: (currentPage - 1) * pageSize,
take: pageSize,
})
return contributions.map((contribution) => new Contribution(contribution, new User(user)))
return new ContributionListResult(
count,
contributions.map((contribution) => new Contribution(contribution, new User(user))),
)
}
@Authorized([RIGHTS.LIST_ALL_CONTRIBUTIONS])

View File

@ -185,11 +185,14 @@ export const listContributions = gql`
order: $order
filterConfirmed: $filterConfirmed
) {
linkCount
linkList {
id
amount
memo
}
}
}
`
export const listAllContributions = `