package tech.easyflow.agent.runtime.document;

import java.time.Instant;

/**
 * 面向聊天输入框的文档附件展示数据。
 */
public class AgentDocumentUploadView {

    private String uploadId;
    private String attachmentRef;
    private String name;
    private String mimeType;
    private long size;
    private String status;
    private String errorCode;
    private String errorMessage;
    private Instant expiresAt;
    private String downloadUrl;
    private String readSnapshotId;

    /** @return 上传 ID */
    public String getUploadId() { return uploadId; }
    /** @param uploadId 上传 ID */
    public void setUploadId(String uploadId) { this.uploadId = uploadId; }
    /** @return 稳定附件引用 */
    public String getAttachmentRef() { return attachmentRef; }
    /** @param attachmentRef 稳定附件引用 */
    public void setAttachmentRef(String attachmentRef) { this.attachmentRef = attachmentRef; }
    /** @return 文件名 */
    public String getName() { return name; }
    /** @param name 文件名 */
    public void setName(String name) { this.name = name; }
    /** @return MIME 类型 */
    public String getMimeType() { return mimeType; }
    /** @param mimeType MIME 类型 */
    public void setMimeType(String mimeType) { this.mimeType = mimeType; }
    /** @return 字节数 */
    public long getSize() { return size; }
    /** @param size 字节数 */
    public void setSize(long size) { this.size = size; }
    /** @return 用户可理解状态 */
    public String getStatus() { return status; }
    /** @param status 用户可理解状态 */
    public void setStatus(String status) { this.status = status; }
    /** @return 错误码 */
    public String getErrorCode() { return errorCode; }
    /** @param errorCode 错误码 */
    public void setErrorCode(String errorCode) { this.errorCode = errorCode; }
    /** @return 错误消息 */
    public String getErrorMessage() { return errorMessage; }
    /** @param errorMessage 错误消息 */
    public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; }
    /** @return 过期时间 */
    public Instant getExpiresAt() { return expiresAt; }
    /** @param expiresAt 过期时间 */
    public void setExpiresAt(Instant expiresAt) { this.expiresAt = expiresAt; }
    /** @return 鉴权下载地址 */
    public String getDownloadUrl() { return downloadUrl; }
    /** @param downloadUrl 鉴权下载地址 */
    public void setDownloadUrl(String downloadUrl) { this.downloadUrl = downloadUrl; }
    /** @return 读取快照 ID */
    public String getReadSnapshotId() { return readSnapshotId; }
    /** @param readSnapshotId 读取快照 ID */
    public void setReadSnapshotId(String readSnapshotId) { this.readSnapshotId = readSnapshotId; }
}
