package egovframework.configProperties;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.Map;

/**
 * packageName    : egovframework.config
 * fileName       : FileUploadProperties
 * author         : 시스템 관리자
 * date           : 25. 5. 23.
 * description    : 파일 업로드 관련 설정 속성
 * ===========================================================
 * DATE              AUTHOR             NOTE
 * -----------------------------------------------------------
 * 25. 5. 23.        시스템 관리자       최초 생성
 */
@Setter
@Getter
@Configuration
@ConfigurationProperties(prefix = "file.upload")
public class FileUploadProperties {

    /** 파일 저장 기본 경로 */
    private String path;
    
    /** 최대 파일 크기 (단일 파일) - 기본값 10MB */
    private long maxSize;
    
    /** 최대 총 파일 크기 - 기본값 50MB */
    private long maxTotalSize;
    
    /** 허용된 파일 확장자 */
    private String allowedExtensions;
    
    /** 최대 파일 개수 - 기본값 10개 */
    private int maxFiles;
    
    /** 실제 파일 삭제 여부 - 기본값 true */
    private boolean realFileDelete;
    
    /** 하위 디렉토리 설정 */
    private Map<String, String> subDirs;
}