package com.kt.event.eventservice.infrastructure.client;

import com.kt.event.eventservice.infrastructure.client.dto.ContentImageGenerationRequest;
import com.kt.event.eventservice.infrastructure.client.dto.ContentJobResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * Content Service Feign Client
 *
 * Content Service의 이미지 생성 API를 호출합니다.
 *
 * @author Event Service Team
 * @version 1.0.0
 * @since 2025-10-27
 */
@FeignClient(
    name = "content-service",
    url = "${feign.content-service.url:http://localhost:8082}"
)
public interface ContentServiceClient {

    /**
     * 이미지 생성 요청
     *
     * @param request 이미지 생성 요청 정보
     * @return Job 정보
     */
    @PostMapping("/api/v1/content/images/generate")
    ContentJobResponse generateImages(@RequestBody ContentImageGenerationRequest request);
}
