wip: Affiliation request

This commit is contained in:
2024-07-14 23:04:22 +02:00
parent b2438ec3d8
commit 682894f326
20 changed files with 322 additions and 53 deletions

View File

@@ -24,7 +24,7 @@ public class ClubEntity {
private String contact_intern;
private String RNA;
private Long SIRET;
private String no_affiliation;
private Long no_affiliation;
private boolean international;
public static ClubEntity fromModel (ClubModel model) {

View File

@@ -7,6 +7,7 @@ import fr.titionfire.ffsaf.data.repository.AffiliationRequestRepository;
import fr.titionfire.ffsaf.data.repository.ClubRepository;
import fr.titionfire.ffsaf.data.repository.CombRepository;
import fr.titionfire.ffsaf.rest.data.SimpleAffiliation;
import fr.titionfire.ffsaf.rest.data.SimpleReqAffiliation;
import fr.titionfire.ffsaf.rest.from.AffiliationRequestForm;
import fr.titionfire.ffsaf.utils.Utils;
import io.quarkus.hibernate.reactive.panache.Panache;
@@ -75,12 +76,24 @@ public class AffiliationService {
.map(__ -> "Ok");
}
public Uni<SimpleReqAffiliation> getRequest(long id) {
return repositoryRequest.findById(id).map(SimpleReqAffiliation::fromModel)
.call(out -> clubRepository.find("SIRET = ?1", out.getSiret()).firstResult().invoke(c -> {
if (c != null){
out.setClub(c.getId());
out.setClub_name(c.getName());
out.setClub_no_aff(c.getNo_affiliation());
}
})
);
}
public Uni<List<SimpleAffiliation>> getCurrentSaisonAffiliation() {
return repository.list("saison = ?1", Utils.getSaison())
.map(models -> models.stream().map(SimpleAffiliation::fromModel).toList())
.chain(aff -> repositoryRequest.list("saison = ?1", Utils.getSaison())
.chain(models -> Uni.join().all(models.stream().map(model ->
clubRepository.find("siret = ?1", model.getSiret()).firstResult()
clubRepository.find("SIRET = ?1", model.getSiret()).firstResult()
.map(c -> new SimpleAffiliation(model.getId() * -1, c.getId(),
model.getSaison(), false)))
.toList()).andFailFast()