implement update function for plugins on frontend / adjust the plugin pending modal to show pending installations and updates

This commit is contained in:
Eduard Heimbuch
2019-09-16 14:31:55 +02:00
parent ba59713c7f
commit d60918c820
14 changed files with 568 additions and 84 deletions

View File

@@ -64,13 +64,16 @@ public class PendingPluginResource {
Links.Builder linksBuilder = linkingTo().self(resourceLinks.pendingPluginCollection().self());
if (!pending.isEmpty()) {
linksBuilder.single(link("install", resourceLinks.pendingPluginCollection().installPending()));
List<PluginDto> newPluginDtos = newPlugins.map(mapper::mapAvailable).collect(toList());
List<PluginDto> updatePluginDtos = updatePlugins.map(i -> mapper.mapInstalled(i, pending)).collect(toList());
if (newPluginDtos.size() > 0 || updatePluginDtos.size() > 0) {
linksBuilder.single(link("execute", resourceLinks.pendingPluginCollection().installPending()));
}
Embedded.Builder embedded = Embedded.embeddedBuilder();
embedded.with("new", newPlugins.map(mapper::mapAvailable).collect(toList()));
embedded.with("update", updatePlugins.map(i -> mapper.mapInstalled(i, pending)).collect(toList()));
embedded.with("new", newPluginDtos);
embedded.with("update", updatePluginDtos);
return Response.ok(new HalRepresentation(linksBuilder.build(), embedded.build())).build();
}