package cd.casic.ci.process.dto.req.sast;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.List;

@Data
public class SastApplicationBinaryStashReq {
    private String applicationId;//不传
    /**
     * 当前项目id 写死"893ed995-5b81-474a-96a9-2800281421cd"
     * */
    private String projectId;//不传
    /**
     *  应用名称，不可重复
     * */
    private String applicationName;//可以不传
    /**
     *  写死 BINARY
     * */
    private String codeSourceFrom;//不传
    /**
     *   目标指令集 true-自动识别 false-手动识别
     * */
    private Boolean archAutoIdentify;// TODO 询问是否需要写死自动识别
    /**
     *
     * */
    private String targetArchitectures;// TODO 询问作用
    /**
     *  上传文件返回的id
     * */
    private List<String> fileId;// 上传目标文件，省去页面上传
    /**
     *  模板id
     * */
    private String templateId;//需要用户选择
    /**
     *  分析超时时长
     * */
    private Integer analysisTimeoutMs;//需要用户填写
    /**
     *  k集合大小
     * */
    private Integer kSetSize;//需要用户填写
    /**
     *  CallString长度
     * */
    private Integer callStringLength;//需要用户填写
    /**
     *  入口地址entryAddress
     * */
    private String entryAddress;//需要用户填写
    /**
     * z3 是否能够超时
     * */
    private Boolean z3TimeoutMsStatus;//需要用户填写
    /**
     *  z3超时时间
     * */
    private Integer z3TimeoutMs;
    /**
     *  流水线id
     * */
    @NotBlank
    private String pipelineId;
}
