package cd.casic.ci.process.process.dataObject.pipeline;

import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

@EqualsAndHashCode(callSuper = true)
@Data
public class PipPipeline extends PipBaseElement {

    /**
     * 流水线名称
     */
    private String name;

    /**
     * 流水线类型 1.多任务 2.多阶段
     */
    private Integer type;

    /**
     * 运行状态 1.未运行 2.运行中
     */
    private Integer state;

    /**
     * 项目作用域 1.全局 2.项目
     */
    private Integer power;

    /**
     * 颜色 1~5随机生成
     */
    private Integer color;

    /**
     * 流水线模板id
     */
    private String templateId;

    /**
     * 是否收藏 0.未收藏/1.收藏
     */
    private Integer collect;

    /**
     * 目标id
     */
    private String targetVersionId;

    /**
     * 目标类型
     */
    private String targetType;

    /**
     * 流水线标签
     */
    private String pipelineTag;

    /**
     * 流水线组id
     */
    private String groupId;

    /**
     * 资源id
     */
    private String resourceId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 流水线环境
     */
    private String envId;

    /**
     * 执行人id
     */
    private String executeUserId;

    /**
     * 执行时间
     */
    private LocalDateTime executeTime;

    /**
     * 流水线触发方式
     */
    private String pipelineTriggerMode;

    /**
     * 执行状态
     */
    private String executeStatus;

    /**
     * 所属项目id
     */
    private String projectId;

    /**
     * 持续时间
     */
    private Long durationTime;

    /**
     * 开始执行时间
     */
    private LocalDateTime startExecuteTime;

    /**
     * 代码变更次数
     */
    private String codeChange;

    /**
     * 运行产物
     */
    private String operatingProducts;

    /**
     * 环境变量
     */
    private String environmentVariable;

    /**
     * 运行实例编号
     */
    private String instanceNum;
    /**
     *  机器id
     * */
    private String machineId;
    private Long tenantId;
}
