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

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 배포 채널 선택 요청 DTO
 *
 * 이벤트를 배포할 채널을 선택합니다.
 *
 * @author Event Service Team
 * @version 1.0.0
 * @since 2025-10-27
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(description = "배포 채널 선택 요청")
public class SelectChannelsRequest {

    @NotEmpty(message = "배포 채널을 최소 1개 이상 선택해야 합니다.")
    @Schema(description = "배포 채널 목록", required = true,
            example = "[\"WEBSITE\", \"KAKAO\", \"INSTAGRAM\"]")
    private List<String> channels;
}
