From eb68f84f7c04fc780d093cc0cd29227336a50c23 Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Wed, 22 Jan 2025 21:48:39 +0100 Subject: [PATCH] fix(aff): set auto role after affiliation accepte --- .../ffsaf/domain/service/AffiliationService.java | 16 ++++++++++------ .../ffsaf/domain/service/KeycloakService.java | 5 ++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java index 7c97833..dc40d66 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java @@ -212,6 +212,7 @@ public class AffiliationService { membreModel.setClub(club); membreModel.setRole(member.getRole()); membreModel.setEmail(member.getEmail()); + membreModel.setCountry("FR"); return Panache.withTransaction(() -> combRepository.persist(membreModel) .chain(m -> sequenceRepository.getNextValueInTransaction(SequenceType.Licence) @@ -236,10 +237,13 @@ public class AffiliationService { }).call(m -> Panache.withTransaction(() -> combRepository.persist(m))); } }) - .call(m -> (m.getUserId() == null) ? keycloakService.initCompte(m.getId()) : - keycloakService.setClubGroupMembre(m, club)) - .call(m -> Panache.withTransaction(() -> licenceRepository.persist( - new LicenceModel(null, m, saison, null, true)))); + .call(m -> ((m.getUserId() == null) ? keycloakService.initCompte(m.getId()) : + keycloakService.setClubGroupMembre(m, club).map(__ -> m.getUserId())) + .call(userId -> keycloakService.setAutoRoleMembre(userId, m.getRole(), m.getGrade_arbitrage()))) + .call(m -> m.getLicences().stream().anyMatch(l -> l.getSaison() == saison) ? + Uni.createFrom().nullItem() : + Panache.withTransaction(() -> licenceRepository.persist( + new LicenceModel(null, m, saison, null, true)))); } public Uni accept(AffiliationRequestSaveForm form) { @@ -272,7 +276,7 @@ public class AffiliationService { .chain(() -> { ClubModel club = new ClubModel(); club.setName(form.getName()); - club.setCountry("fr"); + club.setCountry("FR"); club.setSIRET(form.getSiret()); club.setRNA(form.getRna()); club.setAddress(form.getAddress()); @@ -307,7 +311,7 @@ public class AffiliationService { return Uni.createFrom().nullItem() .chain(() -> { club.setName(form.getName()); - club.setCountry("fr"); + club.setCountry("FR"); club.setSIRET(form.getSiret()); club.setRNA(form.getRna()); club.setAddress(form.getAddress()); diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java index 504e55a..f6af470 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java @@ -207,9 +207,8 @@ public class KeycloakService { throw new KeycloakException("User name is null"); })).chain(membreModel -> creatUser(membreModel).chain(user -> { LOGGER.infof("Set user id %s to membre %s", user.getId(), membreModel.getId()); - return membreService.setUserId(membreModel.getId(), user.getId()); - })) - .map(__ -> "OK"); + return membreService.setUserId(membreModel.getId(), user.getId()).map(__ -> user.getId()); + })); } private Uni creatUser(MembreModel membreModel) {