diff --git a/lib/Db/SessionMapper.php b/lib/Db/SessionMapper.php index 957e21d5768..c2710df3217 100644 --- a/lib/Db/SessionMapper.php +++ b/lib/Db/SessionMapper.php @@ -111,8 +111,13 @@ public function deleteInactiveWithoutSteps(?int $documentId = null): int { } $qb = $this->db->getQueryBuilder(); - $qb->delete($this->getTableName()) - ->where($qb->expr()->in('id', $qb->createFunction($selectSubQuery->getSQL()))); + $qb->delete($this->getTableName()); + if ($documentId !== null) { + $qb->where($selectSubQuery->expr()->eq('document_id', $selectSubQuery->createParameter('documentId'))); + $qb->andWhere($qb->expr()->in('id', $qb->createFunction($selectSubQuery->getSQL()))); + } else { + $qb->where($qb->expr()->in('id', $qb->createFunction($selectSubQuery->getSQL()))); + } $qb->setParameters([ 'lastContact' => time() - SessionService::SESSION_VALID_TIME, 'documentId' => $documentId,