diff --git a/src/main/java/org/gcube/gcat/client/Item.java b/src/main/java/org/gcube/gcat/client/Item.java index 2c5a375..b43d35c 100644 --- a/src/main/java/org/gcube/gcat/client/Item.java +++ b/src/main/java/org/gcube/gcat/client/Item.java @@ -151,9 +151,16 @@ public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.It } protected String moderate(String name, ModerationContent moderationContent) { + return moderate(name, moderationContent, null); + } + + protected String moderate(String name, ModerationContent moderationContent, Map queryParams) { try { initRequest(); gxhttpStringRequest.path(name); + if(queryParams!=null && queryParams.size()>0) { + gxhttpStringRequest.queryParams(queryParams); + } String moderationContentString = (new ObjectMapper()).writeValueAsString(moderationContent); gxhttpStringRequest.header("Content-Type", GCatConstants.APPLICATION_JSON_CHARSET_UTF_8); gxhttpStringRequest.withBody(moderationContentString); @@ -170,7 +177,16 @@ public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.It ModerationContent moderationContent = new ModerationContent(); moderationContent.setCMItemStatus(CMItemStatus.APPROVED); moderationContent.setMessage(moderatorMessage); - return moderate(name, moderationContent); + return approve(name, moderatorMessage, false); + } + + public String approve(String name, String moderatorMessage, boolean socialPost) { + ModerationContent moderationContent = new ModerationContent(); + moderationContent.setCMItemStatus(CMItemStatus.APPROVED); + moderationContent.setMessage(moderatorMessage); + Map queryParams = new HashMap<>(); + queryParams.put(GCatConstants.SOCIAL_POST_QUERY_PARAMETER, String.valueOf(socialPost)); + return moderate(name, moderationContent, queryParams); } public String reject(String name, String moderatorMessage) {