From 31aa92f6ee790a13b1d21e5925cb3f88ee85f353 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sat, 20 Jun 2020 16:49:43 +0200 Subject: [PATCH] @Produces, @Consumes, @RequiresProvilege, @AuthorizedRequired and @Transactional annotations for ConfigurationApi --- .../admin/configuration/ConfigurationApi.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ccm-core/src/main/java/org/libreccm/api/admin/configuration/ConfigurationApi.java b/ccm-core/src/main/java/org/libreccm/api/admin/configuration/ConfigurationApi.java index 2289e1a5c..644493523 100644 --- a/ccm-core/src/main/java/org/libreccm/api/admin/configuration/ConfigurationApi.java +++ b/ccm-core/src/main/java/org/libreccm/api/admin/configuration/ConfigurationApi.java @@ -23,7 +23,9 @@ import org.apache.logging.log4j.Logger; import org.libreccm.configuration.ConfigurationInfo; import org.libreccm.configuration.ConfigurationManager; import org.libreccm.configuration.SettingInfo; +import org.libreccm.core.CoreConstants; import org.libreccm.l10n.LocalizedString; +import org.libreccm.security.RequiresPrivilege; import java.lang.reflect.Field; import java.math.BigDecimal; @@ -36,11 +38,15 @@ import java.util.stream.Collectors; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.json.JsonValue; +import javax.transaction.Transactional; +import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** @@ -76,6 +82,9 @@ public class ConfigurationApi { @GET @Path("/") + @Produces(MediaType.APPLICATION_JSON) + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) public List getConfigurations() { return confManager .findAllConfigurations() @@ -86,6 +95,9 @@ public class ConfigurationApi { @GET @Path("/{confName}") + @Produces(MediaType.APPLICATION_JSON) + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) public ConfigurationInfo getConfiguration( @PathParam("confName") final String confName ) { @@ -112,7 +124,9 @@ public class ConfigurationApi { @GET @Path("/{confName}/{setting}") - @SuppressWarnings("unchecked") + @Produces(MediaType.APPLICATION_JSON) + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) public Object getSetting( @PathParam("confName") final String confName, @PathParam("setting") final String setting @@ -171,6 +185,10 @@ public class ConfigurationApi { @PUT @Path("/{confName}/{setting}") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) public Response updateSetting( @PathParam("confName") final String confName, @PathParam("setting") final String setting,