summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2022-07-01 15:53:37 +0200
committerJoas Schilling <coding@schilljs.com>2022-07-01 15:59:29 +0200
commit198224bf7a18903fb9e55d621604befa788f542c (patch)
tree36ffbeb8900ec886eebdbdf8a188b297828591c4 /lib/private
parent6222b702db03d7bf08bd80c760fdaca3c0167db5 (diff)
downloadnextcloud-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.php14
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 = [];