Interface GroupService

All Superinterfaces:
AnyService<GroupTO>, JAXRSService
All Known Implementing Classes:
GroupServiceImpl

@Path("groups") public interface GroupService extends AnyService<GroupTO>
REST operations for groups.
  • Method Details

    • read

      GroupTO read(String key)
      Description copied from interface: AnyService
      Reads the any object matching the provided key.
      Specified by:
      read in interface AnyService<GroupTO>
      Parameters:
      key - if value looks like a UUID then it is interpreted as key, otherwise as a (user)name
      Returns:
      any object with matching key
    • search

      PagedResult<GroupTO> search(AnyQuery anyQuery)
      Description copied from interface: AnyService
      Returns a paged list of any objects matching the given query.
      Specified by:
      search in interface AnyService<GroupTO>
      Parameters:
      anyQuery - query conditions
      Returns:
      paged list of any objects matching the given query
    • create

      @POST @Produces({"application/json","application/yaml","application/xml"}) @Consumes({"application/json","application/yaml","application/xml"}) Response create(@NotNull @NotNull GroupCR createReq)
      Creates a new group.
      Parameters:
      createReq - group create request
      Returns:
      Response object featuring Location header of created group as well as the any object itself enriched with propagation status information
    • update

      @PATCH @Path("{key}") @Produces({"application/json","application/yaml","application/xml"}) @Consumes({"application/json","application/yaml","application/xml"}) Response update(@NotNull @NotNull GroupUR updateReq)
      Updates group matching the provided key.
      Parameters:
      updateReq - modification to be applied to group matching the provided key
      Returns:
      Response object featuring the updated group enriched with propagation status information
    • own

      @GET @Path("own") @Produces({"application/json","application/yaml","application/xml"}) List<GroupTO> own()
      This method allows a user to read his own groups.
      Returns:
      own groups
    • provisionMembers

      @POST @Path("{key}/members/{action}") @Produces({"application/json","application/yaml","application/xml"}) ExecTO provisionMembers(@NotNull @PathParam("key") @NotNull String key, @NotNull @PathParam("action") @NotNull ProvisionAction action)
      (De)provision all members of the given group from / onto all the resources associated to it.
      Parameters:
      key - group key
      action - action type to perform on all group members
      Returns:
      execution report for the task generated on purpose