package infrastructure.client.servicestatus.api;

import com.banesco.common.infraestructure.web.dto.request.ServiceStatusRequest;
import com.banesco.common.infraestructure.web.dto.response.ServiceStatusResponse;
import infrastructure.interceptor.LoggingFilter;
import jakarta.ws.rs.HeaderParam;
import jakarta.ws.rs.POST;
import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;

@RegisterRestClient(configKey = "get-service-status")
@RegisterProvider(LoggingFilter.class)
public interface ServiceStatusClient {
    @POST
    @ClientHeaderParam(name = "appId", value = "${app.appId}")
    ServiceStatusResponse getServiceStatus(
            @HeaderParam("requestId") String requestId,
            ServiceStatusRequest request
    );
}