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();
KeycloakContext getContext()
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
GroupModel getGroupById(String id)
final KeycloakSession session
Definition: GroupsResource.java:55
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56
GroupModel createGroup(String name)
UriBuilder getAbsolutePathBuilder()
Definition: KeycloakUriInfo.java:74
void moveGroup(GroupModel group, GroupModel toParent)
GroupPermissionEvaluator groups()
final RealmModel realm
Definition: GroupsResource.java:54
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminEventBuilder representation(Object value)
Definition: AdminEventBuilder.java:210
void requireManage(GroupModel group)
void success()
Definition: AdminEventBuilder.java:226
final AdminEventBuilder adminEvent
Definition: GroupsResource.java:57