mneethiraj commented on code in PR #932:
URL: https://github.com/apache/ranger/pull/932#discussion_r3198950260
##########
security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java:
##########
@@ -1261,6 +1261,47 @@ public RangerSharedResource
updateSharedResource(@PathParam("id") Long resourceI
return ret;
}
+ @PUT
+ @Path("/resources")
+ @Consumes("application/json")
+ @Produces("application/json")
+ @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" +
RangerAPIList.UPDATE_SHARED_RESOURCES + "\")")
+ public void updateSharedResources(@QueryParam("forceDelete")
@DefaultValue("false") boolean forceDelete, List<Long> resourceIds) {
+ LOG.debug("==> GdsREST.updateSharedResources(resourceIds={},
forceDelete={})", resourceIds, forceDelete);
+
+ RangerPerfTracer perf = null;
+
+ try {
+ if (resourceIds == null) {
+ throw new Exception("resourceIds must not be null");
+ }
+
+ if (resourceIds.size() > SHARED_RESOURCES_MAX_BATCH_SIZE) {
+ throw new Exception("updateSharedResources batch size exceeded
the configured limit: Maximum allowed is " + SHARED_RESOURCES_MAX_BATCH_SIZE);
+ }
+
+ if (RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
+ perf = RangerPerfTracer.getPerfTracer(PERF_LOG,
"GdsREST.updateSharedResources(" + resourceIds + ",forceDelete=" + forceDelete
+ ")");
+ }
+
+ if (forceDelete) {
Review Comment:
@rameeshm - would marking `resourceIds` parameter as `@QueryParam("id")`
help to receive the IDs as query params instead of body?
```
@DELETE
@Path("/resources")
@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" +
RangerAPIList.REMOVE_SHARED_RESOURCES + "\")")
public void removeSharedResources(@QueryParam("id") List<Long> resourceIds) {
...
}
```
Following curl will result in above method to be called with `resourceIds`
containing two entries - 1 and 2:
```
curl -u user:password -X DELETE
"https://ranger/service/gds/resources?id=1&id=2"
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]