Merge pull request #4903 from nextcloud/feat/display-name-cache

feat: Use user display name cache
This commit is contained in:
Arthur Schiwon
2023-07-20 12:30:12 +02:00
committed by GitHub
4 changed files with 9 additions and 11 deletions

View File

@@ -37,7 +37,7 @@ class User extends RelationalObject {
public function getObjectSerialization() { public function getObjectSerialization() {
return [ return [
'uid' => $this->getObject()->getUID(), 'uid' => $this->getObject()->getUID(),
'displayname' => $this->getObject()->getDisplayName(), 'displayname' => $this->getDisplayName(),
'type' => Acl::PERMISSION_TYPE_USER 'type' => Acl::PERMISSION_TYPE_USER
]; ];
} }

View File

@@ -197,8 +197,7 @@ class CommentService {
} }
private function formatComment(IComment $comment, $addReplyTo = false): array { private function formatComment(IComment $comment, $addReplyTo = false): array {
$user = $this->userManager->get($comment->getActorId()); $actorDisplayName = $this->userManager->getDisplayName($comment->getActorId()) ?? $comment->getActorId();
$actorDisplayName = $user !== null ? $user->getDisplayName() : $comment->getActorId();
$formattedComment = [ $formattedComment = [
'id' => (int)$comment->getId(), 'id' => (int)$comment->getId(),

View File

@@ -115,8 +115,7 @@ class SearchService {
$card = Card::fromRow($cardRow); $card = Card::fromRow($cardRow);
// TODO: Only perform one enrich call here // TODO: Only perform one enrich call here
$self->cardService->enrichCards([$card]); $self->cardService->enrichCards([$card]);
$user = $this->userManager->get($comment->getActorId()); $displayName = $this->userManager->getDisplayName($comment->getActorId()) ?? '';
$displayName = $user ? $user->getDisplayName() : '';
return new CommentSearchResultEntry($comment->getId(), $comment->getMessage(), $displayName, $card, $this->urlGenerator, $this->l10n); return new CommentSearchResultEntry($comment->getId(), $comment->getMessage(), $displayName, $card, $this->urlGenerator, $this->l10n);
}, $matchedComments); }, $matchedComments);
} }

View File

@@ -33,13 +33,13 @@ class UserTest extends \Test\TestCase {
$user->expects($this->any()) $user->expects($this->any())
->method('getUID') ->method('getUID')
->willReturn('myuser'); ->willReturn('myuser');
$user->expects($this->any())
->method('getDisplayName')
->willReturn('myuser displayname');
$userManager = $this->createMock(IUserManager::class); $userManager = $this->createMock(IUserManager::class);
$userManager->expects($this->any()) $userManager->expects($this->any())
->method('get') ->method('get')
->willReturn($user); ->willReturn($user);
$userManager->expects($this->any())
->method('getDisplayName')
->willReturn('myuser displayname');
$userRelationalObject = new User('myuser', $userManager); $userRelationalObject = new User('myuser', $userManager);
$expected = [ $expected = [
'uid' => 'myuser', 'uid' => 'myuser',
@@ -55,13 +55,13 @@ class UserTest extends \Test\TestCase {
$user->expects($this->any()) $user->expects($this->any())
->method('getUID') ->method('getUID')
->willReturn('myuser'); ->willReturn('myuser');
$user->expects($this->any())
->method('getDisplayName')
->willReturn('myuser displayname');
$userManager = $this->createMock(IUserManager::class); $userManager = $this->createMock(IUserManager::class);
$userManager->expects($this->any()) $userManager->expects($this->any())
->method('get') ->method('get')
->willReturn($user); ->willReturn($user);
$userManager->expects($this->any())
->method('getDisplayName')
->willReturn('myuser displayname');
$userRelationalObject = new User('myuser', $userManager); $userRelationalObject = new User('myuser', $userManager);
$expected = [ $expected = [
'uid' => 'myuser', 'uid' => 'myuser',