package fr.titionfire.ffsaf.rest; import fr.titionfire.ffsaf.domain.service.ResultService; import fr.titionfire.ffsaf.domain.service.UpdateService; import io.smallrye.mutiny.Uni; import jakarta.inject.Inject; import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; import java.util.HashMap; @Path("api/public/result/{id}") public class ExternalResultEndpoints { @Inject ResultService resultService; @Inject UpdateService updateService; @PathParam("id") private String id; @GET @Path("/poule/list") @Produces(MediaType.APPLICATION_JSON) public Uni> list() { return resultService.getCategoryList(id); } @GET @Path("/poule/data") @Produces(MediaType.APPLICATION_JSON) public Uni getArray(@QueryParam("poule") long poule, @DefaultValue("-1") @QueryParam("rf") long rf) { if (poule == 0) return Uni.createFrom().voidItem(); if (updateService.needUpdate(poule, rf)) { return resultService.getCategory(id, poule); } else { return Uni.createFrom().voidItem(); } } @GET @Path("/comb/list") @Produces(MediaType.APPLICATION_JSON) public Uni> combList() { return resultService.getCombList(id); } @GET @Path("/comb/data") @Produces(MediaType.APPLICATION_JSON) public Uni getArray(@QueryParam("comb") String comb) { if (comb.equals("0")) return Uni.createFrom().item(""); return resultService.getCombArrayPublic(id, comb); } @GET @Path("/comb/get_all") @Produces(MediaType.APPLICATION_JSON) public Uni getAll() { return resultService.getAllCombArrayPublic(id); } @GET @Path("/club/list") @Produces(MediaType.APPLICATION_JSON) public Uni> clubList() { return resultService.getClubList(id); } @GET @Path("/club/data") @Produces(MediaType.APPLICATION_JSON) public Uni getClubArray(@QueryParam("club") long club) { if (club == 0) return Uni.createFrom().item(""); return resultService.getClubArray2(id, club, null); } }