diff options
Diffstat (limited to 'lib/public/Search/SearchResultEntry.php')
-rw-r--r-- | lib/public/Search/SearchResultEntry.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/public/Search/SearchResultEntry.php b/lib/public/Search/SearchResultEntry.php index b661ced5014..347c3fcd289 100644 --- a/lib/public/Search/SearchResultEntry.php +++ b/lib/public/Search/SearchResultEntry.php @@ -83,6 +83,13 @@ class SearchResultEntry implements JsonSerializable { protected $rounded; /** + * @var string[] + * @psalm-var array<string, string> + * @since 20.0.0 + */ + protected $attributes = []; + + /** * @param string $thumbnailUrl a relative or absolute URL to the thumbnail or icon of the entry * @param string $title a main title of the entry * @param string $subline the secondary line of the entry @@ -107,6 +114,19 @@ class SearchResultEntry implements JsonSerializable { } /** + * Add optional attributes to the result entry, e.g. an ID or some other + * context information that can be read by the client application + * + * @param string $key + * @param string $value + * + * @since 20.0.0 + */ + public function addAttribute(string $key, string $value): void { + $this->attributes[$key] = $value; + } + + /** * @return array * * @since 20.0.0 @@ -119,6 +139,7 @@ class SearchResultEntry implements JsonSerializable { 'resourceUrl' => $this->resourceUrl, 'icon' => $this->icon, 'rounded' => $this->rounded, + 'attributes' => $this->attributes, ]; } } |