package com.kt.event.content.infra.gateway.mock;

import com.kt.event.content.biz.domain.ImageStyle;
import com.kt.event.content.biz.domain.Platform;
import com.kt.event.content.biz.usecase.out.ImageGeneratorCaller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;

/**
 * Mock Image Generator (테스트용)
 * 실제 AI 이미지 생성 API 연동 전까지 사용
 */
@Slf4j
@Component
@Profile({"local", "test"})
public class MockImageGenerator implements ImageGeneratorCaller {

    @Override
    public byte[] generateImage(String prompt, ImageStyle style, Platform platform) {
        log.info("[MOCK] AI 이미지 생성: prompt='{}', style={}, platform={}",
                prompt, style, platform);

        // Mock: 빈 바이트 배열 반환 (실제로는 AI가 생성한 이미지 데이터)
        byte[] mockImageData = createMockImageData(style, platform);

        log.info("[MOCK] 이미지 생성 완료: size={} bytes", mockImageData.length);

        return mockImageData;
    }

    /**
     * Mock 이미지 데이터 생성
     * 실제로는 PNG/JPEG 이미지 바이너리 데이터
     */
    private byte[] createMockImageData(ImageStyle style, Platform platform) {
        // 간단한 Mock 데이터 생성 (실제로는 이미지 바이너리)
        String mockContent = String.format("MOCK_IMAGE_DATA[style=%s,platform=%s]", style, platform);
        return mockContent.getBytes();
    }
}
