package com.kt.event.content.biz.usecase.out;

import com.kt.event.content.biz.domain.ImageStyle;
import com.kt.event.content.biz.domain.Platform;
import com.kt.event.content.biz.dto.RedisImageData;

import java.util.List;
import java.util.Optional;

/**
 * 이미지 조회 Port (Output Port)
 */
public interface ImageReader {

    /**
     * 특정 이미지 조회
     *
     * @param eventId 이벤트 초안 ID
     * @param style 이미지 스타일
     * @param platform 플랫폼
     * @return 이미지 데이터
     */
    Optional<RedisImageData> getImage(String eventId, ImageStyle style, Platform platform);

    /**
     * 이벤트의 모든 이미지 조회
     *
     * @param eventId 이벤트 초안 ID
     * @return 이미지 목록
     */
    List<RedisImageData> getImagesByEventId(String eventId);
}
