Detect core plugins and prevent installation

This commit is contained in:
Rene Pfeuffer
2019-09-11 16:46:27 +02:00
parent a7cb1d3116
commit 0fdd1cea17
7 changed files with 56 additions and 6 deletions

View File

@@ -25,6 +25,8 @@ public class PluginDto extends HalRepresentation {
private String category;
private String avatarUrl;
private boolean pending;
@JsonInclude(JsonInclude.Include.NON_NULL)
private Boolean core;
private Set<String> dependencies;
public PluginDto(Links links) {

View File

@@ -67,7 +67,8 @@ public abstract class PluginDtoMapper {
Links.Builder links = linkingTo()
.self(resourceLinks.installedPlugin()
.self(information.getName()));
if (availablePlugin.isPresent()
if (!plugin.isCore()
&& availablePlugin.isPresent()
&& !availablePlugin.get().isPending()
&& PluginPermissions.manage().isPermitted()
) {
@@ -81,6 +82,8 @@ public abstract class PluginDtoMapper {
dto.setPending(value.isPending());
});
dto.setCore(plugin.isCore());
return dto;
}