package infrastructure.client.accounts.api;

import domain.dto.request.CustomerRequest;
import domain.dto.response.CustomerResponse;
import infrastructure.interceptor.LoggingFilter;
import jakarta.ws.rs.HeaderParam;
import jakarta.ws.rs.POST;
import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;

@RegisterRestClient(configKey = "customer-accounts")
@RegisterProvider(LoggingFilter.class)
public interface CustomerAccountClient {
    @POST
    CustomerResponse readCustomerProducts(
            @HeaderParam("requestId") String requestId,
            @HeaderParam("appId") String appId,
            @HeaderParam("customerReferenceFintechId") String customerReferenceFintechId,
            @HeaderParam("customerReferenceUser") String customerReferenceUser,
            CustomerRequest request
    );
}