fix(kc): Leave all club groupe when setClubGroupMembre is call whit null ClubModel
This commit is contained in:
parent
81f256109a
commit
a489ddedc3
@ -86,17 +86,26 @@ public class KeycloakService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Uni<String> setClubGroupMembre(MembreModel membreModel, ClubModel club) {
|
public Uni<String> setClubGroupMembre(MembreModel membreModel, ClubModel club) {
|
||||||
return getGroupFromClub(club).chain(
|
if (club == null)
|
||||||
clubId -> getUserFromMember(membreModel).chain(
|
return getUserFromMember(membreModel).chain(
|
||||||
userId -> vertx.getOrCreateContext().executeBlocking(() -> {
|
userId -> vertx.getOrCreateContext().executeBlocking(() -> {
|
||||||
UserResource user = keycloak.realm(realm).users().get(userId);
|
UserResource user = keycloak.realm(realm).users().get(userId);
|
||||||
user.groups().stream().filter(g -> g.getPath().startsWith("/club"))
|
user.groups().stream().filter(g -> g.getPath().startsWith("/club"))
|
||||||
.forEach(g -> user.leaveGroup(g.getId()));
|
.forEach(g -> user.leaveGroup(g.getId()));
|
||||||
user.joinGroup(clubId);
|
return "OK";
|
||||||
LOGGER.infof("Set club \"%s\" to user %s (%s)", club.getName(), userId,
|
}));
|
||||||
user.toRepresentation().getUsername());
|
else
|
||||||
return "OK";
|
return getGroupFromClub(club).chain(
|
||||||
})));
|
clubId -> getUserFromMember(membreModel).chain(
|
||||||
|
userId -> vertx.getOrCreateContext().executeBlocking(() -> {
|
||||||
|
UserResource user = keycloak.realm(realm).users().get(userId);
|
||||||
|
user.groups().stream().filter(g -> g.getPath().startsWith("/club"))
|
||||||
|
.forEach(g -> user.leaveGroup(g.getId()));
|
||||||
|
user.joinGroup(clubId);
|
||||||
|
LOGGER.infof("Set club \"%s\" to user %s (%s)", club.getName(), userId,
|
||||||
|
user.toRepresentation().getUsername());
|
||||||
|
return "OK";
|
||||||
|
})));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uni<?> setEmail(String userId, String email) {
|
public Uni<?> setEmail(String userId, String email) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user