aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGit'Fellow <12234510+solracsf@users.noreply.github.com>2025-03-14 16:08:02 +0100
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2025-03-25 11:57:42 +0000
commite5d62aeec73fed1827cf65cd5ff1b8486fde8c43 (patch)
tree29daef3ccbbedfb034c43484055edf196c9b093b
parent760503d73e95afca9f9be836aa2199432083564f (diff)
downloadnextcloud-server-backport/51490/stable31.tar.gz
nextcloud-server-backport/51490/stable31.zip
fix(database): Cast users count to integerbackport/51490/stable31
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
-rw-r--r--lib/private/User/Database.php7
-rw-r--r--tests/lib/User/DatabaseTest.php13
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php
index d82a3be81e5..3a73db752fa 100644
--- a/lib/private/User/Database.php
+++ b/lib/private/User/Database.php
@@ -470,9 +470,12 @@ class Database extends ABackend implements
$query = $this->dbConn->getQueryBuilder();
$query->select($query->func()->count('uid'))
->from($this->table);
- $result = $query->executeQuery();
+ $result = $query->executeQuery()->fetchOne();
+ if ($result === false) {
+ return false;
+ }
- return $result->fetchOne();
+ return (int)$result;
}
/**
diff --git a/tests/lib/User/DatabaseTest.php b/tests/lib/User/DatabaseTest.php
index bd74ab333fb..900f0ddd3fa 100644
--- a/tests/lib/User/DatabaseTest.php
+++ b/tests/lib/User/DatabaseTest.php
@@ -25,6 +25,9 @@ class DatabaseTest extends Backend {
/** @var IEventDispatcher|MockObject */
private $eventDispatcher;
+ /** @var \OC\User\Database */
+ protected $backend;
+
public function getUser() {
$user = parent::getUser();
$this->users[] = $user;
@@ -139,4 +142,14 @@ class DatabaseTest extends Backend {
$result = $this->backend->getDisplayNames('@nextcloud.COM');
$this->assertCount(2, $result);
}
+
+ public function testUserCount(): void {
+ $base = $this->backend->countUsers() ?: 0;
+ $users = $this->backend->getUsers();
+ self::assertEquals($base, count($users));
+
+ $user = $this->getUser();
+ $this->backend->createUser($user, $user);
+ self::assertEquals($base + 1, $this->backend->countUsers());
+ }
}