mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
update mysql query
This commit is contained in:
parent
af1df0fabe
commit
993d364ecc
@ -1,5 +1,5 @@
|
||||
/* eslint-disable security/detect-object-injection */
|
||||
import { Brackets, In, Like, Not, SelectQueryBuilder } from '@dbTools/typeorm'
|
||||
import { Brackets, In, IsNull, LessThanOrEqual, Like, Not, SelectQueryBuilder } from '@dbTools/typeorm'
|
||||
import { Contribution as DbContribution } from '@entity/Contribution'
|
||||
import { ContributionMessage } from '@entity/ContributionMessage'
|
||||
|
||||
@ -47,29 +47,12 @@ export const findContributions = async (
|
||||
...(filter.noHashtag && { memo: Not(Like(`%#%`)) }),
|
||||
})
|
||||
if (filter.hideResubmission) {
|
||||
queryBuilder
|
||||
.leftJoinAndSelect(
|
||||
(qb: SelectQueryBuilder<ContributionMessage>) => {
|
||||
return qb
|
||||
.select('resubmission_at', 'resubmissionAt')
|
||||
.addSelect('id', 'latestMessageId')
|
||||
.addSelect('contribution_id', 'latestMessageContributionId')
|
||||
.addSelect(
|
||||
'ROW_NUMBER() OVER (PARTITION BY latestMessageContributionId ORDER BY created_at DESC)',
|
||||
'rn',
|
||||
)
|
||||
.from(ContributionMessage, 'contributionMessage')
|
||||
},
|
||||
'latestContributionMessage',
|
||||
'latestContributionMessage.latestMessageContributionId = Contribution.id AND latestContributionMessage.rn = 1',
|
||||
)
|
||||
.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.where('latestContributionMessage.resubmissionAt IS NULL').orWhere(
|
||||
'latestContributionMessage.resubmissionAt <= NOW()',
|
||||
)
|
||||
}),
|
||||
)
|
||||
const now = new Date()
|
||||
queryBuilder.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.where({ resubmissionAt: IsNull() }).orWhere({ resubmissionAt: LessThanOrEqual(now) })
|
||||
}),
|
||||
)
|
||||
}
|
||||
queryBuilder.printSql()
|
||||
if (filter.query) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user