Class AdminInstancesManager

java.lang.Object
org.gcube.informationsystem.resourceregistry.rest.base.BaseRest
org.gcube.informationsystem.resourceregistry.rest.admin.AdminInstancesManager

@Path("admin/instances") public class AdminInstancesManager extends BaseRest
Global Privileged Operations on Instance Context membership.

Segregated under /admin so that API Gateway / WAF network policies can restrict this surface independently of the standard /instances endpoints. Authorization and orchestration logic is not duplicated here: this controller delegates to the same InstancesPolicyEnforcementPoint used by InstancesManager, exposing an admin-only method/policy on it instead of a separate PEP class.

Author:
Luca Frosini (ISTI - CNR)
  • Constructor Details

    • AdminInstancesManager

      public AdminInstancesManager()
      Creates a new AdminInstancesManager REST resource.
  • Method Details

    • removeFromContext

      @DELETE @Path("{type-name}/{instance-uuid}") @Produces("application/json") public jakarta.ws.rs.core.Response removeFromContext(@PathParam("type-name") String type, @PathParam("instance-uuid") String instanceId) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Removes an exact instance from the token Context or, hierarchically, its subtree.
      Parameters:
      type - the exact concrete Entity or Relation type name of the target instance
      instanceId - the UUID of the instance to remove
      Returns:
      a JAX-RS response containing the operation envelope
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException - if a registry database error occurs