summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2020-12-04 08:42:15 +0100
committerGitHub <noreply@github.com>2020-12-04 08:42:15 +0100
commit32ded877dc30b18f6eba7f3854988ce2992feb00 (patch)
tree56018cd5f1a08d8627753c6d693ef8a5a919a47d /lib
parent3f88dbd25956897440ab0e34053551a77a1e922f (diff)
parent885dabb761c283be61ea4dd96e04146c98c02d1c (diff)
downloadnextcloud-server-32ded877dc30b18f6eba7f3854988ce2992feb00.tar.gz
nextcloud-server-32ded877dc30b18f6eba7f3854988ce2992feb00.zip
Merge pull request #24474 from nextcloud/enhancement/unified-search-result-attributes
Allow unified search results to have attributes
Diffstat (limited to 'lib')
-rw-r--r--lib/public/Search/SearchResultEntry.php21
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,
];
}
}