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

import com.kt.event.content.biz.domain.ImageStyle;
import com.kt.event.content.biz.domain.Platform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * Redis에 저장되는 이미지 데이터 구조
 *
 * Key Pattern: content:image:{eventId}:{style}:{platform}
 * Data Type: String (JSON)
 * TTL: 7일 (604800초)
 *
 * 예시:
 * - content:image:1:FANCY:INSTAGRAM
 * - content:image:1:SIMPLE:KAKAO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RedisImageData {
    /**
     * 이미지 고유 ID
     */
    private Long id;

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

    /**
     * 이미지 스타일 (FANCY, SIMPLE, TRENDY)
     */
    private ImageStyle style;

    /**
     * 플랫폼 (INSTAGRAM, KAKAO, NAVER)
     */
    private Platform platform;

    /**
     * CDN 이미지 URL
     */
    private String cdnUrl;

    /**
     * 이미지 생성 프롬프트
     */
    private String prompt;

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

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

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