feat: merge rna and siret fields

This commit is contained in:
2025-11-12 14:56:28 +01:00
parent ed1f30f2b6
commit 26f56006f6
29 changed files with 163 additions and 284 deletions

View File

@@ -1,7 +1,7 @@
package fr.titionfire.ffsaf.rest;
import fr.titionfire.ffsaf.rest.client.SirenService;
import fr.titionfire.ffsaf.rest.data.UniteLegaleRoot;
import fr.titionfire.ffsaf.rest.client.StateIdService;
import fr.titionfire.ffsaf.rest.data.AssoData;
import fr.titionfire.ffsaf.rest.exception.DNotFoundException;
import io.smallrye.mutiny.Uni;
import jakarta.ws.rs.*;
@@ -13,17 +13,17 @@ import org.eclipse.microprofile.rest.client.inject.RestClient;
public class AssoEndpoints {
@RestClient
SirenService sirenService;
StateIdService stateIdService;
@GET
@Path("siren/{siren}")
@Path("state_id/{stateId}")
@Produces(MediaType.APPLICATION_JSON)
@Operation(hidden = true)
public Uni<UniteLegaleRoot> getInfoSiren(@PathParam("siren") String siren) {
return sirenService.get_unite(siren).onFailure().transform(throwable -> {
public Uni<AssoData> getAssoInfo(@PathParam("stateId") String stateId) {
return stateIdService.get_status(stateId).onFailure().transform(throwable -> {
if (throwable instanceof WebApplicationException exception) {
if (exception.getResponse().getStatus() == 400)
return new DNotFoundException("Siret introuvable");
if (exception.getResponse().getStatus() == 404)
return new DNotFoundException("Asso introuvable");
}
return throwable;
});