mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
29 lines
802 B
TypeScript
29 lines
802 B
TypeScript
import { ContributionStatus } from '@enum/ContributionStatus'
|
|
import { Order } from '@enum/Order'
|
|
import { Contribution as DbContribution } from '@entity/Contribution'
|
|
import { In } from '@dbTools/typeorm'
|
|
|
|
export const findContributions = async (
|
|
order: Order,
|
|
currentPage: number,
|
|
pageSize: number,
|
|
withDeleted: boolean,
|
|
relations: string[],
|
|
userId?: number,
|
|
statusFilter?: ContributionStatus[],
|
|
): Promise<[DbContribution[], number]> =>
|
|
DbContribution.findAndCount({
|
|
where: {
|
|
...(statusFilter && statusFilter.length && { contributionStatus: In(statusFilter) }),
|
|
...(userId && { userId }),
|
|
},
|
|
withDeleted: withDeleted,
|
|
order: {
|
|
createdAt: order,
|
|
id: order,
|
|
},
|
|
relations,
|
|
skip: (currentPage - 1) * pageSize,
|
|
take: pageSize,
|
|
})
|