create or add a top level realm groupSet or create child. This will update the group and set the parent if it exists. Create it and set the parent if the group doesn't exist.
143 List<GroupRepresentation> search = ModelToRepresentation.searchForGroupByName(
realm, rep.
getName(), 0, 1);
144 if (search != null && !search.isEmpty() && Objects.equals(search.get(0).getName(), rep.getName())) {
145 return ErrorResponse.exists(
"Top level group named '" + rep.getName() +
"' already exists.");
149 Response.ResponseBuilder builder = Response.status(204);
150 if (rep.getId() != null) {
153 throw new NotFoundException(
"Could not find child by id");
158 GroupResource.updateGroup(rep, child);
160 .path(child.getId()).build();
161 builder.status(201).location(uri);
163 rep.setId(child.getId());
169 return builder.build();
GroupModel getGroupById(String id)
final KeycloakSession session
Definition: GroupsResource.java:55
void moveGroup(GroupModel group, GroupModel toParent)
GroupModel createGroup(String name)
final AdminEventBuilder adminEvent
Definition: GroupsResource.java:57
UriBuilder getAbsolutePathBuilder()
Definition: KeycloakUriInfo.java:74
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
GroupPermissionEvaluator groups()
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
void success()
Definition: AdminEventBuilder.java:226
KeycloakContext getContext()
final RealmModel realm
Definition: GroupsResource.java:54
AdminEventBuilder representation(Object value)
Definition: AdminEventBuilder.java:210
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56
void requireManage(GroupModel group)