package dev.lions.unionflow.client.service; import dev.lions.unionflow.client.dto.SouscriptionDTO; import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; import java.util.List; import java.util.UUID; @RegisterRestClient(configKey = "unionflow-api") @Path("/api/souscriptions") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public interface SouscriptionService { @GET List listerToutes( @QueryParam("organisationId") UUID organisationId, @QueryParam("page") @DefaultValue("0") int page, @QueryParam("size") @DefaultValue("20") int size ); @GET @Path("/{id}") SouscriptionDTO obtenirParId(@PathParam("id") UUID id); @GET @Path("/organisation/{organisationId}/active") SouscriptionDTO obtenirActive(@PathParam("organisationId") UUID organisationId); @POST SouscriptionDTO creer(SouscriptionDTO souscription); @PUT @Path("/{id}") SouscriptionDTO modifier(@PathParam("id") UUID id, SouscriptionDTO souscription); @DELETE @Path("/{id}") void supprimer(@PathParam("id") UUID id); @PUT @Path("/{id}/renouveler") SouscriptionDTO renouveler(@PathParam("id") UUID id); }