package cn.axzo.workflow.common.model.request.bpmn.task;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 对审批任务添加附件的入参模型
 *
 * @author wangli
 * @since 2023/10/31 10:08
 */
@ApiModel("对审批任务添加附件的入参模型")
@Data
public class BpmnTaskAttachmentDTO {

    @ApiModelProperty(value = "附件类型", notes = "一般是指格式, 如 png/jpeg/jpg/pdf 等, 强烈建议前端回传")
    @NotBlank(message = "附件类型不能为空")
    private String type;

    @ApiModelProperty(value = "关联的审批流程实例 ID")
    @NotBlank(message = "流程实例 ID 不能为空")
    private String processInstanceId;

    @ApiModelProperty(value = "关联的审批任务 ID")
    /**
     * 业务会直接调用,此时不关联任何任务
     */
    //    @NotBlank(message = "任务 ID 不能为空")
    private String taskId;

    @ApiModelProperty(value = "附件名称", notes = "如果为空,则使用文件名")
    private String name;

    @ApiModelProperty(value = "附件描述", notes = "现在的业务不会使用到")
    private String description;

    @ApiModelProperty(value = "附件地址")
    @NotBlank(message = "附件地址不能为空")
    private String url;

    /**
     * 该字段引擎本来支撑,但不建议给前端使用
     */
    //    private InputStream content;

    @ApiModelProperty(value = "操作人")
    @NotNull(message = "操作人不能为空")
    private BpmnTaskDelegateAssigner assignee;
}
