Interface GroupService
-
- All Superinterfaces:
AnyService<GroupTO>
,JAXRSService
- All Known Implementing Classes:
GroupServiceImpl
@Path("groups") public interface GroupService extends AnyService<GroupTO>
REST operations for groups.
-
-
Field Summary
-
Fields inherited from interface org.apache.syncope.common.rest.api.service.JAXRSService
CRLF, DOUBLE_DASH, PARAM_ANYTYPE_KIND, PARAM_ANYTYPEKEY, PARAM_CONNID_PAGED_RESULTS_COOKIE, PARAM_DETAILS, PARAM_ENTITY_KEY, PARAM_FIQL, PARAM_KEYWORD, PARAM_MAX, PARAM_NOTIFICATION, PARAM_ORDERBY, PARAM_PAGE, PARAM_REALM, PARAM_RECURSIVE, PARAM_RESOURCE, PARAM_SIZE, PARAM_USER
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description javax.ws.rs.core.Response
create(@NotNull GroupCR createReq)
Creates a new group.List<GroupTO>
own()
This method allows a user to read his own groups.ExecTO
provisionMembers(@NotNull String key, @NotNull ProvisionAction action)
(De)provision all members of the given group from / onto all the resources associated to it.GroupTO
read(String key)
Reads the any object matching the provided key.PagedResult<GroupTO>
search(AnyQuery anyQuery)
Returns a paged list of any objects matching the given query.javax.ws.rs.core.Response
update(@NotNull GroupUR updateReq)
Updates group matching the provided key.-
Methods inherited from interface org.apache.syncope.common.rest.api.service.AnyService
associate, deassociate, delete, delete, read, read, update
-
-
-
-
Method Detail
-
read
GroupTO read(String key)
Description copied from interface:AnyService
Reads the any object matching the provided key.- Specified by:
read
in interfaceAnyService<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 interfaceAnyService<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"}) javax.ws.rs.core.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"}) javax.ws.rs.core.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 keyaction
- action type to perform on all group members- Returns:
- execution report for the task generated on purpose
-
-