package dev.lions.unionflow.client.service; import dev.lions.unionflow.client.api.dto.ComplianceSnapshotDto; import dev.lions.unionflow.client.security.AuthHeaderFactory; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; import java.util.UUID; import org.eclipse.microprofile.rest.client.annotation.RegisterClientHeaders; import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; @RegisterRestClient(configKey = "unionflow-api") @RegisterClientHeaders(AuthHeaderFactory.class) @Path("/api/compliance/dashboard") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public interface ComplianceDashboardRestClient { /** Snapshot pour l'organisation active (résolue par le backend via header X-Active-Organisation-Id). */ @GET ComplianceSnapshotDto getSnapshotCurrent(); /** Snapshot d'une organisation arbitraire — restreint SUPER_ADMIN backend. */ @GET @Path("/{organisationId}") ComplianceSnapshotDto getSnapshotOf(@PathParam("organisationId") UUID organisationId); }