package go.kr.project.common.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * packageName    : go.kr.project.common.model
 * fileName       : HtmlEditorFileVO
 * author         : 개발자
 * date           : 2025-05-23
 * description    : HTML 에디터 파일 VO 클래스
 * ===========================================================
 * DATE              AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2025-05-23        개발자       최초 생성
 */
@EqualsAndHashCode(callSuper=true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class HtmlEditorFileVO extends PagingVO {

    private String fileId;

    private String moduleId;

    private String originalFileNm;

    private String storedFileNm;

    private String filePath;

    private Long fileSize;

    private String fileExt;

    private String fileType;

    private String useYn;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")
    private LocalDateTime regDttm;

    private String rgtr;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")
    private LocalDateTime mdfcnDttm;

    private String mdfr;

    // 파일 크기 표시용 (KB, MB 등)
    private String fileSizeStr;

    // 다운로드 URL
    private String downloadUrl;
}
