Set or create child. This will just set the parent if it exists. Create it and set the parent if the group doesn't exist.
132 for (GroupModel
group :
group.getSubGroups()) {
133 if (
group.getName().equals(rep.getName())) {
134 return ErrorResponse.exists(
"Parent already contains subgroup named '" + rep.getName() +
"'");
138 Response.ResponseBuilder builder = Response.status(204);
139 GroupModel child = null;
140 if (rep.getId() != null) {
141 child =
realm.getGroupById(rep.getId());
143 throw new NotFoundException(
"Could not find child by id");
147 child =
realm.createGroup(rep.getName());
149 URI uri =
session.getContext().getUri().getBaseUriBuilder()
150 .path(
session.getContext().getUri().getMatchedURIs().get(2))
151 .path(child.getId()).build();
152 builder.status(201).location(uri);
153 rep.setId(child.getId());
160 GroupRepresentation childRep = ModelToRepresentation.toGroupHierarchy(child,
true);
161 return builder.type(MediaType.APPLICATION_JSON_TYPE).entity(childRep).build();
GroupPermissionEvaluator groups()
final KeycloakSession session
Definition: GroupResource.java:62
final GroupModel group
Definition: GroupResource.java:65
final RealmModel realm
Definition: GroupResource.java:61
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
void success()
Definition: AdminEventBuilder.java:226
final AdminEventBuilder adminEvent
Definition: GroupResource.java:64
final AdminPermissionEvaluator auth
Definition: GroupResource.java:63
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
void requireManage(GroupModel group)
void updateGroup(GroupRepresentation rep)
Definition: GroupResource.java:100