package com.kt.event.eventservice.application.dto.request;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 이미지 생성 요청 DTO
 *
 * @author Event Service Team
 * @version 1.0.0
 * @since 2025-10-27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ImageGenerationRequest {

    @NotEmpty(message = "이미지 스타일은 최소 1개 이상 선택해야 합니다.")
    private List<String> styles;

    @NotEmpty(message = "플랫폼은 최소 1개 이상 선택해야 합니다.")
    private List<String> platforms;

    @Min(value = 1, message = "이미지 개수는 최소 1개 이상이어야 합니다.")
    @Max(value = 9, message = "이미지 개수는 최대 9개까지 가능합니다.")
    @Builder.Default
    private int imageCount = 3;
}
