package com.lesingle.edu.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 阿里云 OSS 直传 Token 响应 VO
 * <p>
 * 用于前端直传阿里云 OSS（PostObject 方式）
 * </p>
 *
 * @author reading-platform
 * @since 2026-03-16
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OssTokenVo {

    /**
     * OSS 访问 ID（AccessKeyId）
     */
    private String accessid;

    /**
     * 合法性策略（Base64 编码的 Policy）
     */
    private String policy;

    /**
     * 签名信息
     */
    private String signature;

    /**
     * 上传目录前缀
     */
    private String dir;

    /**
     * OSS 上传地址（https://bucketname.endpoint）
     */
    private String host;

    /**
     * 完整文件路径（dir + fileName）
     */
    private String key;

    /**
     * 过期时间（秒）
     */
    private Integer expire;
}
