Skip to content
Snippets Groups Projects
Unverified Commit cc92d5a2 authored by Christoph Wurst's avatar Christoph Wurst
Browse files

Allow unified search results to have attributes

parent fc57f60e
No related branches found
No related tags found
No related merge requests found
...@@ -82,6 +82,13 @@ class SearchResultEntry implements JsonSerializable { ...@@ -82,6 +82,13 @@ class SearchResultEntry implements JsonSerializable {
*/ */
protected $rounded; 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 $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 $title a main title of the entry
...@@ -106,6 +113,19 @@ class SearchResultEntry implements JsonSerializable { ...@@ -106,6 +113,19 @@ class SearchResultEntry implements JsonSerializable {
$this->rounded = $rounded; $this->rounded = $rounded;
} }
/**
* 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 * @return array
* *
...@@ -119,6 +139,7 @@ class SearchResultEntry implements JsonSerializable { ...@@ -119,6 +139,7 @@ class SearchResultEntry implements JsonSerializable {
'resourceUrl' => $this->resourceUrl, 'resourceUrl' => $this->resourceUrl,
'icon' => $this->icon, 'icon' => $this->icon,
'rounded' => $this->rounded, 'rounded' => $this->rounded,
'attributes' => $this->attributes,
]; ];
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment