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 137b125..3e72d5a 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/AffiliationService.java @@ -58,6 +58,9 @@ public class AffiliationService { @ConfigProperty(name = "upload_dir") String media; + @ConfigProperty(name = "notif.affRequest.mail") + List mails; + public Uni> getAllReq() { return repositoryRequest.listAll(); } @@ -140,7 +143,7 @@ public class AffiliationService { } public Uni save(AffiliationRequestForm form) { - // noinspection ResultOfMethodCallIgnored + // noinspection ResultOfMethodCallIgnored,ReactiveStreamsUnusedPublisher return pre_save(form, true) .chain(model -> Panache.withTransaction(() -> repositoryRequest.persist(model))) .onItem() @@ -149,6 +152,16 @@ public class AffiliationService { .onItem() .invoke(model -> Uni.createFrom().future(Utils.replacePhoto(model.getId(), form.getStatus(), media, "aff_request/status"))) + .call(model -> reactiveMailer.send( + Mail.withText("no-reply@ffsaf.fr", + "[NOTIF] FFSAF - Nouvelle demande d'affiliation", + String.format( + """ + Une nouvelle demande d'affiliation a été déposée sur l'intranet pour le club: %s. + """, model.getName()) + ).setFrom("FFSAF ") + .addBcc(mails.toArray(String[]::new)) + )) .map(__ -> "Ok"); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0d7a12e..7152b9c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -38,6 +38,8 @@ database.port=3306 database.user=root database.pass= +notif.affRequest.mail= + siren-api.key=siren-ap quarkus.rest-client."fr.titionfire.ffsaf.rest.client.SirenService".url=https://data.siren-api.fr/