package infrastructure.client.validateprofile.api;

import infrastructure.client.validateprofile.dto.request.ValidateProfileRequest;
import infrastructure.client.validateprofile.dto.response.ValidateProfileResponse;
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 = "validate-profile")
@RegisterProvider(LoggingFilter.class)
public interface ValidateProfileClient {
    @POST
    @ClientHeaderParam(name = "appId", value = "${app.appId}")
    ValidateProfileResponse validateProfile(
            @HeaderParam("requestId") String requestId,
            ValidateProfileRequest validateProfileRequest
    );
}