From 972d5996429f838eb5a234980f0f80f02ded9043 Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Wed, 5 Feb 2025 11:21:46 +0100 Subject: [PATCH] fix(aff): lazy loading on licence in validation aff req --- .../domain/service/AffiliationService.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 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 dc40d66..10a38a6 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java @@ -240,10 +240,11 @@ public class AffiliationService { .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)))); + .call(m -> Mutiny.fetch(m.getLicences()) + .call(l1 -> l1.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) { @@ -292,18 +293,19 @@ public class AffiliationService { }) .call(club -> reactiveMailer.send( Mail.withText(form.getM1_email(), - "FFSAF - Acceptation de votre demande d'affiliation", - String.format( - """ - Bonjour, - - Votre demande d'affiliation pour le club %s a été acceptée. - Le numéro d'affiliation de votre club est le %d. - - Cordialement, - L'équipe de la FFSAF - """, club.getName(), club.getNo_affiliation()) - ).setFrom("FFSAF ").setReplyTo("contact@ffsaf.fr").addTo(form.getM2_email(), form.getM3_email()) + "FFSAF - Acceptation de votre demande d'affiliation", + String.format( + """ + Bonjour, + + Votre demande d'affiliation pour le club %s a été acceptée. + Le numéro d'affiliation de votre club est le %d. + + Cordialement, + L'équipe de la FFSAF + """, club.getName(), club.getNo_affiliation()) + ).setFrom("FFSAF ").setReplyTo("contact@ffsaf.fr") + .addTo(form.getM2_email(), form.getM3_email()) )); }