package org.springblade.file.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springblade.file.pojo.vo.PartEtagVO;

import java.io.Serial;
import java.io.Serializable;

/**
 *  文件任务更新对象
 * @author bfhuange
 * @date 2024/10/22
 */
@Data
@Schema(description = "文件任务更新对象")
public class FileTaskUpdateDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *  文件任务id
     */
    @NotNull(message = "文件任务id不能为空")
    @Schema(description = "主键id")
    private Long id;
    /**
     *  段的ETag值。分段的Base64编码的128位MD5摘要，长度为32的字符串
     */
    @NotBlank(message = "etag不能为空")
    @Schema(description = "etag")
    private String etag;
    /**
     * 段号。分段号可以是不连续的。取值范围是[1,10000]的非负整数
     */
    @NotNull(message = "段号不能为空")
    @Schema(description = "段号")
    private Integer partNumber;
}
