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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 流程定义中的按钮配置
 *
 * @author wangli
 * @since 2023/11/13 13:44
 */
@ApiModel("JSON 版本的 BPMN 协议模型中的按钮管理")
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class BpmnButtonConf implements Serializable {

    /**
     * 发起人的按钮配置信息, 需要给全量按钮的配置
     */
    @ApiModelProperty(value = "发起人的按钮配置信息")
    private List<BpmnButtonMetaInfo> initiator;

    /**
     * 当前审批人的按钮配置信息, JSON 格式
     */
    @ApiModelProperty(value = "当前审批人的按钮配置信息")
    private List<BpmnButtonMetaInfo> current;

    /**
     * 历史审批人的按钮配置信息, JSON 格式
     */
    @ApiModelProperty(value = "历史审批人的按钮配置信息")
    private List<BpmnButtonMetaInfo> history;

    /**
     * 抄送人的按钮配置信息, JSON 格式
     */
    @ApiModelProperty(value = "抄送人的按钮配置信息")
    private List<BpmnButtonMetaInfo> carbonCopy;

    public List<BpmnButtonMetaInfo> getInitiator() {
        return initiator;
    }

    public void setInitiator(List<BpmnButtonMetaInfo> initiator) {
        this.initiator = initiator;
    }

    public List<BpmnButtonMetaInfo> getCurrent() {
        return current;
    }

    public void setCurrent(List<BpmnButtonMetaInfo> current) {
        this.current = current;
    }

    public List<BpmnButtonMetaInfo> getHistory() {
        return history;
    }

    public void setHistory(List<BpmnButtonMetaInfo> history) {
        this.history = history;
    }

    public List<BpmnButtonMetaInfo> getCarbonCopy() {
        return carbonCopy;
    }

    public void setCarbonCopy(List<BpmnButtonMetaInfo> carbonCopy) {
        this.carbonCopy = carbonCopy;
    }

}
