Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2022-08-16 15:10:05 +0300
committerCarl Schwan <carl@carlschwan.eu>2022-08-16 15:10:05 +0300
commit8004aa77212eed6dd1142c713275a4e0c5d0c40e (patch)
treef9d0b1589dd354ddbe55f7738f6df95c75fae29f
parent604c1752845df068a7dd5d168abfbfc04065ac3f (diff)
Make DisplayNameCache return null if user doesn't exists
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
-rw-r--r--apps/files_sharing/lib/Cache.php2
-rw-r--r--lib/private/User/DisplayNameCache.php4
-rw-r--r--lib/private/User/LazyUser.php2
-rw-r--r--lib/private/User/Manager.php2
-rw-r--r--lib/public/IUserManager.php6
5 files changed, 7 insertions, 9 deletions
diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php
index 9f11431008f..707b64b79d7 100644
--- a/apps/files_sharing/lib/Cache.php
+++ b/apps/files_sharing/lib/Cache.php
@@ -170,7 +170,7 @@ class Cache extends CacheJail {
private function getOwnerDisplayName() {
if (!$this->ownerDisplayName) {
$uid = $this->storage->getOwner('');
- $this->ownerDisplayName = $this->displayNameCache->getDisplayName($uid);
+ $this->ownerDisplayName = $this->displayNameCache->getDisplayName($uid) ?? $uid;
}
return $this->ownerDisplayName;
}
diff --git a/lib/private/User/DisplayNameCache.php b/lib/private/User/DisplayNameCache.php
index 22a79863e49..5d1cc8940d7 100644
--- a/lib/private/User/DisplayNameCache.php
+++ b/lib/private/User/DisplayNameCache.php
@@ -47,7 +47,7 @@ class DisplayNameCache implements IEventListener {
$this->userManager = $userManager;
}
- public function getDisplayName(string $userId) {
+ public function getDisplayName(string $userId): ?string {
if (isset($this->cache[$userId])) {
return $this->cache[$userId];
}
@@ -61,7 +61,7 @@ class DisplayNameCache implements IEventListener {
if ($user) {
$displayName = $user->getDisplayName();
} else {
- $displayName = $userId;
+ $displayName = null;
}
$this->cache[$userId] = $displayName;
$this->memCache->set($userId, $displayName, 60 * 10); // 10 minutes
diff --git a/lib/private/User/LazyUser.php b/lib/private/User/LazyUser.php
index 118dd3d0699..096578b8f37 100644
--- a/lib/private/User/LazyUser.php
+++ b/lib/private/User/LazyUser.php
@@ -51,7 +51,7 @@ class LazyUser implements IUser {
}
public function getDisplayName() {
- return $this->userManager->getDisplayName($this->uid);
+ return $this->userManager->getDisplayName($this->uid) ?? $this->uid;
}
public function setDisplayName($displayName) {
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index 55ac663f3ec..be5151313c4 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -188,7 +188,7 @@ class Manager extends PublicEmitter implements IUserManager {
return null;
}
- public function getDisplayName(string $uid): string {
+ public function getDisplayName(string $uid): ?string {
return $this->displayNameCache->getDisplayName($uid);
}
diff --git a/lib/public/IUserManager.php b/lib/public/IUserManager.php
index c107b2c5025..af0d5f08809 100644
--- a/lib/public/IUserManager.php
+++ b/lib/public/IUserManager.php
@@ -87,13 +87,11 @@ interface IUserManager {
/**
* Get the display name of a user
*
- * Note that this will return the uid if the user is not found instead of throwing an exception
- *
* @param string $uid
- * @return string
+ * @return string|null
* @since 25.0.0
*/
- public function getDisplayName(string $uid): string;
+ public function getDisplayName(string $uid): ?string;
/**
* check if a user exists