package dev.lions.unionflow.client.service;

import dev.lions.unionflow.server.api.dto.compliance.response.KpiPublicSnapshot;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;

/**
 * Client REST public KPI (Sprint 17 — pas de header auth, token signé en query).
 *
 * <p>Note : pas de {@code @RegisterClientHeaders(AuthHeaderFactory.class)} car endpoint anonyme.
 */
@RegisterRestClient(configKey = "unionflow-api")
@Path("/api/public/kpi")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public interface PublicKpiRestClient {

  @GET
  KpiPublicSnapshot consulter(@QueryParam("token") String token);
}
