Skip to content

Commit a3afd3b

Browse files
authored
Merge pull request #901 from amvanbaren/feature/issue-824
Add verified field to search results
2 parents 4dcafa5 + 5d4468a commit a3afd3b

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

server/src/main/java/org/eclipse/openvsx/LocalRegistryService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ private Map<Long, List<FileResource>> getFileResources(List<ExtensionVersion> ex
512512
.collect(Collectors.groupingBy(fr -> fr.getExtension().getId()));
513513
}
514514

515-
private Map<Long, List<NamespaceMembership>> getMemberships(List<ExtensionVersion> extensionVersions) {
515+
private Map<Long, List<NamespaceMembership>> getMemberships(Collection<ExtensionVersion> extensionVersions) {
516516
if(extensionVersions.isEmpty()) {
517517
return Collections.emptyMap();
518518
}
@@ -731,10 +731,12 @@ private List<SearchEntryJson> toSearchEntries(SearchHits<ExtensionSearch> search
731731
})
732732
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
733733

734+
var membershipsByNamespaceId = getMemberships(latestVersions.values());
734735
var searchEntries = latestVersions.entrySet().stream()
735736
.map(e -> {
736737
var entry = e.getValue().toSearchEntryJson();
737738
entry.url = createApiUrl(serverUrl, "api", entry.namespace, entry.name);
739+
entry.verified = isVerified(e.getValue(), membershipsByNamespaceId);
738740
return new AbstractMap.SimpleEntry<>(e.getKey(), entry);
739741
})
740742
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

server/src/main/java/org/eclipse/openvsx/json/SearchEntryJson.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ public class SearchEntryJson implements Serializable {
5353
@NotNull
5454
public String timestamp;
5555

56+
@Schema(description = "The value 'true' means the publishing user is a privileged user or the publishing user is a member of the extension's namespace and the namespace has at least one owner.")
57+
@NotNull
58+
public Boolean verified;
59+
5660
@Schema(description = "Essential metadata of all available versions. Deprecated: only returns the last 100 versions. Use allVersionsUrl instead.")
5761
@Deprecated
5862
public List<VersionReferenceJson> allVersions;

0 commit comments

Comments
 (0)