diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java index a6f29c5..72e54ef 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/MembreService.java @@ -385,6 +385,14 @@ public class MembreService { public Uni add(FullMemberForm input, String subject) { return repository.find("userId = ?1", subject).firstResult() + .call(membreModel -> + repository.count( + "unaccent(lname) ILIKE unaccent(?2) AND unaccent(fname) ILIKE unaccent(?2) AND club = ?3", + input.getLname(), input.getFname(), membreModel.getClub()) + .invoke(Unchecked.consumer(c -> { + if (c > 0) + throw new DBadRequestException("Membre déjà existent"); + }))) .chain(membreModel -> { MembreModel model = getMembreModel(input, membreModel.getClub()); model.setRole(RoleAsso.MEMBRE);