diff options
author | Joas Schilling <coding@schilljs.com> | 2022-07-01 15:53:37 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2022-07-01 15:59:29 +0200 |
commit | 198224bf7a18903fb9e55d621604befa788f542c (patch) | |
tree | 36ffbeb8900ec886eebdbdf8a188b297828591c4 /lib/private | |
parent | 6222b702db03d7bf08bd80c760fdaca3c0167db5 (diff) | |
download | nextcloud-server-198224bf7a18903fb9e55d621604befa788f542c.tar.gz nextcloud-server-198224bf7a18903fb9e55d621604befa788f542c.zip |
Allow to expire comments of multiple objects with one call
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Comments/Manager.php | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index f21f9ec76b2..50b5fabc6a2 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -1650,14 +1650,18 @@ class Manager implements ICommentsManager { /** * @inheritDoc */ - public function deleteMessageExpiredAtObject(string $objectType, string $objectId): bool { + public function deleteCommentsExpiredAtObject(string $objectType, string $objectId = ''): bool { $qb = $this->dbConn->getQueryBuilder(); - $affectedRows = $qb->delete('comments') + $qb->delete('comments') ->where($qb->expr()->lt('expire_date', $qb->createNamedParameter($this->timeFactory->getDateTime(), IQueryBuilder::PARAM_DATE))) - ->andWhere($qb->expr()->eq('object_type', $qb->createNamedParameter($objectType))) - ->andWhere($qb->expr()->eq('object_id', $qb->createNamedParameter($objectId))) - ->executeStatement(); + ->andWhere($qb->expr()->eq('object_type', $qb->createNamedParameter($objectType))); + + if ($objectId !== '') { + $qb->andWhere($qb->expr()->eq('object_id', $qb->createNamedParameter($objectId))); + } + + $affectedRows = $qb->executeStatement(); $this->commentsCache = []; |