diff --git a/knowage-api/src/main/java/it/eng/knowage/knowageapi/resource/FunctionCatalogResource.java b/knowage-api/src/main/java/it/eng/knowage/knowageapi/resource/FunctionCatalogResource.java index d0362a686d5..fd60b2ecac5 100644 --- a/knowage-api/src/main/java/it/eng/knowage/knowageapi/resource/FunctionCatalogResource.java +++ b/knowage-api/src/main/java/it/eng/knowage/knowageapi/resource/FunctionCatalogResource.java @@ -17,6 +17,11 @@ */ package it.eng.knowage.knowageapi.resource; +import static it.eng.spagobi.commons.constants.CommunityFunctionalityConstants.CREATE_COCKPIT_FUNCTIONALITY; +import static it.eng.spagobi.commons.constants.CommunityFunctionalityConstants.CREATE_SELF_SERVICE_COCKPIT; +import static it.eng.spagobi.commons.constants.CommunityFunctionalityConstants.FUNCTIONS_CATALOG_MANAGEMENT; +import static it.eng.spagobi.commons.constants.CommunityFunctionalityConstants.FUNCTIONS_CATALOG_USAGE; + import java.util.List; import java.util.Optional; import java.util.UUID; @@ -40,6 +45,7 @@ import org.springframework.validation.annotation.Validated; import it.eng.knowage.boot.error.KnowageRuntimeException; +import it.eng.knowage.boot.interceptor.UserConstraint; import it.eng.knowage.features.Feature; import it.eng.knowage.knowageapi.resource.dto.FunctionCompleteDTO; import it.eng.knowage.knowageapi.resource.dto.FunctionDTO; @@ -62,6 +68,7 @@ public class FunctionCatalogResource { @GET @Path("/") @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE, CREATE_COCKPIT_FUNCTIONALITY, CREATE_SELF_SERVICE_COCKPIT }) public List getAll(@QueryParam("s") @DefaultValue("") String searchString) { try { return api.find(searchString); @@ -74,6 +81,7 @@ public List getAll(@QueryParam("s") @DefaultValue("") String search @GET @Path("/completelist") @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE, CREATE_COCKPIT_FUNCTIONALITY, CREATE_SELF_SERVICE_COCKPIT }) public List getAllComplete(@QueryParam("s") @DefaultValue("") String searchString) { try { return api.findComplete(searchString); @@ -86,6 +94,7 @@ public List getAllComplete(@QueryParam("s") @DefaultValue(" @GET @Path("/{id}") @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE, CREATE_COCKPIT_FUNCTIONALITY, CREATE_SELF_SERVICE_COCKPIT }) public FunctionCompleteDTO get(@PathParam("id") UUID id) { try { return api.get(id); @@ -100,6 +109,7 @@ public FunctionCompleteDTO get(@PathParam("id") UUID id) { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") @FeatureFlag(Feature.EDIT_FUNCTIONS_CATALOG) + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE }) public Response create(FunctionCompleteDTO function) { try { FunctionCompleteDTO create = api.create(function); @@ -115,6 +125,7 @@ public Response create(FunctionCompleteDTO function) { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") @FeatureFlag(Feature.EDIT_FUNCTIONS_CATALOG) + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE }) public Response createWithNewUuid(FunctionCompleteDTO function) { try { function.setId(UUID.randomUUID()); @@ -132,6 +143,7 @@ public Response createWithNewUuid(FunctionCompleteDTO function) { @DELETE @Path("/{id}") @Consumes(MediaType.APPLICATION_JSON) + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE }) public Response delete(@PathParam("id") UUID id) { try { api.delete(id); @@ -147,6 +159,7 @@ public Response delete(@PathParam("id") UUID id) { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8") @FeatureFlag(Feature.EDIT_FUNCTIONS_CATALOG) + @UserConstraint(functionalities = { FUNCTIONS_CATALOG_MANAGEMENT, FUNCTIONS_CATALOG_USAGE }) public Response update(FunctionCompleteDTO function) { try { FunctionCompleteDTO ret = api.update(function); diff --git a/knowageutils/src/main/java/it/eng/spagobi/commons/constants/CommunityFunctionalityConstants.java b/knowage-common/src/main/java/it/eng/spagobi/commons/constants/CommunityFunctionalityConstants.java similarity index 100% rename from knowageutils/src/main/java/it/eng/spagobi/commons/constants/CommunityFunctionalityConstants.java rename to knowage-common/src/main/java/it/eng/spagobi/commons/constants/CommunityFunctionalityConstants.java