package com.kt.event.content.biz.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;

import java.time.LocalDateTime;

/**
 * 생성된 이미지 도메인 모델
 * AI가 생성한 이미지의 비즈니스 정보
 */
@Getter
@Builder
@AllArgsConstructor
public class GeneratedImage {

    /**
     * 이미지 ID
     */
    private final Long id;

    /**
     * 이벤트 ID
     */
    private final String eventId;

    /**
     * 이미지 스타일
     */
    private final ImageStyle style;

    /**
     * 플랫폼
     */
    private final Platform platform;

    /**
     * CDN URL (Azure Blob Storage)
     */
    private final String cdnUrl;

    /**
     * 프롬프트
     */
    private final String prompt;

    /**
     * 선택 여부
     */
    private boolean selected;

    /**
     * 생성일시
     */
    private LocalDateTime createdAt;

    /**
     * 수정일시
     */
    private LocalDateTime updatedAt;

    /**
     * 이미지 선택
     */
    public void select() {
        this.selected = true;
    }

    /**
     * 이미지 선택 해제
     */
    public void deselect() {
        this.selected = false;
    }
}
