Browse Source

Delete comments that expired now

Signed-off-by: Vitor Mattos <vitor@php.rio>
tags/v25.0.0beta1
Vitor Mattos 1 year ago
parent
commit
7a0648757a
No account linked to committer's email address
2 changed files with 5 additions and 2 deletions
  1. 1
    1
      lib/private/Comments/Manager.php
  2. 4
    1
      tests/lib/Comments/ManagerTest.php

+ 1
- 1
lib/private/Comments/Manager.php View File

@@ -1652,7 +1652,7 @@ class Manager implements ICommentsManager {
public function deleteCommentsExpiredAtObject(string $objectType, string $objectId = ''): bool {
$qb = $this->dbConn->getQueryBuilder();
$qb->delete('comments')
->where($qb->expr()->lt('expire_date',
->where($qb->expr()->lte('expire_date',
$qb->createNamedParameter($this->timeFactory->getDateTime(), IQueryBuilder::PARAM_DATE)))
->andWhere($qb->expr()->eq('object_type', $qb->createNamedParameter($objectType)));


+ 4
- 1
tests/lib/Comments/ManagerTest.php View File

@@ -753,6 +753,9 @@ class ManagerTest extends TestCase {
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file1', new \DateTime('-2 hours'));
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file2', new \DateTime('-2 hours'));
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file3', new \DateTime('-2 hours'));
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file3', new \DateTime());
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file3', new \DateTime());
$ids[] = $this->addDatabaseEntry(0, 0, null, null, 'file3', new \DateTime());

$manager = new Manager(
$this->connection,
@@ -777,7 +780,7 @@ class ManagerTest extends TestCase {
}
}
$this->assertSame($exists, 0);
$this->assertSame($deleted, 3);
$this->assertSame($deleted, 6);

// actor info is gone from DB, but when database interaction is alright,
// we still expect to get true back

Loading…
Cancel
Save