package cn.axzo.workflow.common.model.request.form.instance;

import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
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 2024-11-14 14:22
 */
@ApiModel("表单详情响应模型")
@Data
public class FormDetailDTO {

    /**
     * 流程实例 ID
     */
    @ApiModelProperty(value = "流程实例ID")
    @NotBlank(message = "流程实例 ID 不能为空")
    private String processInstanceId;

    /**
     * 任务 ID
     */
    @ApiModelProperty(value = "任务 ID")
    private String taskId;

    /**
     * 访问表单的人，该属性内部主要用于计算表单字段权限
     * 支持为 null，则表单所有字段默认全部隐藏
     */
    @ApiModelProperty(value = "访问表单的人")
    private BpmnTaskDelegateAssigner assigner;

    /**
     * 显示原始默认值的变量
     */
    @ApiModelProperty(value = "是否显示原始的默认值", notes = "如果为 true 则将默认值中的 ${} 变量不进行替换")
    private Boolean showOriginDefaultValue = false;
}
