undo changed comming from user query for find contributions

This commit is contained in:
Moriz Wahl 2023-06-26 14:21:35 +02:00
parent d5af6c3b21
commit 27006be4ae
3 changed files with 6 additions and 88 deletions

View File

@ -2890,64 +2890,6 @@ describe('ContributionResolver', () => {
]),
})
})
describe('with query', () => {
it('returns the creations of queried user', async () => {
const result = await query({
query: adminListContributions,
variables: {
currentPage: 1,
pageSize: 2,
order: Order.DESC,
query: 'peter',
},
})
const {
data: { adminListContributions: contributionListObject },
} = await query({
query: adminListContributions,
variables: {
currentPage: 1,
pageSize: 2,
order: Order.DESC,
query: 'peter',
},
})
expect(contributionListObject.contributionList).toHaveLength(3)
expect(contributionListObject).toMatchObject({
contributionCount: 3,
contributionList: expect.arrayContaining([
expect.objectContaining({
amount: expect.decimalEqual(400),
firstName: 'Peter',
id: expect.any(Number),
lastName: 'Lustig',
memo: 'Herzlich Willkommen bei Gradido!',
messagesCount: 0,
state: 'PENDING',
}),
expect.objectContaining({
amount: expect.decimalEqual(100),
firstName: 'Peter',
id: expect.any(Number),
lastName: 'Lustig',
memo: 'Test env contribution',
messagesCount: 0,
state: 'PENDING',
}),
expect.objectContaining({
amount: expect.decimalEqual(200),
firstName: 'Peter',
id: expect.any(Number),
lastName: 'Lustig',
memo: 'Das war leider zu Viel!',
messagesCount: 0,
state: 'DELETED',
}),
]),
})
})
})
})
})
})

View File

@ -372,8 +372,6 @@ export class ContributionResolver {
statusFilter?: ContributionStatus[] | null,
@Arg('userId', () => Int, { nullable: true })
userId?: number | null,
@Arg('query', () => String, { nullable: true })
query?: string | null,
): Promise<ContributionListResult> {
const [dbContributions, count] = await findContributions({
order,
@ -383,7 +381,6 @@ export class ContributionResolver {
userId,
relations: ['user', 'messages'],
statusFilter,
query,
})
return new ContributionListResult(

View File

@ -1,4 +1,4 @@
import { In, Like, FindOperator } from '@dbTools/typeorm'
import { In } from '@dbTools/typeorm'
import { Contribution as DbContribution } from '@entity/Contribution'
import { ContributionStatus } from '@enum/ContributionStatus'
@ -12,48 +12,27 @@ interface FindContributionsOptions {
relations?: string[]
userId?: number | null
statusFilter?: ContributionStatus[] | null
query?: string | null
}
export const findContributions = async (
options: FindContributionsOptions,
): Promise<[DbContribution[], number]> => {
const { order, currentPage, pageSize, withDeleted, relations, userId, statusFilter, query } = {
const { order, currentPage, pageSize, withDeleted, relations, userId, statusFilter } = {
withDeleted: false,
relations: [],
query: '',
...options,
}
const where: {
userId?: number | undefined
contributionStatus?: FindOperator<ContributionStatus> | undefined
user?: Record<string, FindOperator<string>>[] | undefined
} = {
...(statusFilter?.length && { contributionStatus: In(statusFilter) }),
...(userId && { userId }),
}
if (query) {
where.user = [
{ firstName: Like(`%${query}%`) },
{ lastName: Like(`%${query}%`) },
// emailContact: { email: Like(`%${query}%`) },
]
}
return DbContribution.findAndCount({
relations: {
user: {
emailContact: true,
},
messages: true,
where: {
...(statusFilter?.length && { contributionStatus: In(statusFilter) }),
...(userId && { userId }),
},
withDeleted,
where,
order: {
createdAt: order,
id: order,
},
relations,
skip: (currentPage - 1) * pageSize,
take: pageSize,
})