feat: lock membre creation with same name
This commit is contained in:
parent
c85c28fee2
commit
41a88ea914
@ -385,6 +385,14 @@ public class MembreService {
|
||||
|
||||
public Uni<Long> 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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user