package com.snack.server.common.storage;

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

/**
 * S3 / 对象存储配置
 *
 * 对应 application.yml 中 snack.s3.*
 * 适用于：RustFS / MinIO / AWS S3 / 阿里云 OSS（S3 协议）
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "snack.s3")
public class S3StorageProperties {

    /** 服务端点（含协议，不含 bucket） */
    private String endpoint;

    /** 区域 */
    private String region = "us-east-1";

    /** 是否路径风格（MinIO / RustFS=true，AWS S3=false） */
    private Boolean pathStyleAccess = true;

    /** AccessKey */
    private String accessKey;

    /** SecretKey */
    private String secretKey;

    /** 存储桶 */
    private String bucket;

    /** 公网访问域名前缀（含 bucket） */
    private String publicDomain;
}
