Merge pull request #63249 from nextcloud/jtr/fix-previewMapper-getPreviews-ordering

fix(preview): order previews by ID during pagination
pull/55868/merge
Côme Chilliet 2 days ago committed by GitHub
commit 5a01a2eadf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 9
      lib/private/Preview/Db/PreviewMapper.php

@ -217,10 +217,17 @@ class PreviewMapper extends QBMapper {
$qb = $this->db->getQueryBuilder();
$this->joinLocation($qb)
->where($qb->expr()->gt('p.id', $qb->createNamedParameter($lastId)))
->orderBy('p.id', 'ASC')
->setMaxResults($limit);
if ($maxAgeDays !== null) {
$qb->andWhere($qb->expr()->lt('mtime', $qb->createNamedParameter((new DateTimeImmutable())->sub(new DateInterval('P' . $maxAgeDays . 'D'))->getTimestamp(), IQueryBuilder::PARAM_INT)));
$qb->andWhere($qb->expr()->lt(
'p.mtime',
$qb->createNamedParameter(
(new DateTimeImmutable())->sub(new DateInterval('P' . $maxAgeDays . 'D'))->getTimestamp(),
IQueryBuilder::PARAM_INT,
),
));
}
return $this->yieldEntities($qb);

Loading…
Cancel
Save