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

import lombok.Data;

import java.util.List;

/**
 * @ClassName PipelineReq
 * @Author hopeli
 * @Date 2025/5/10 10:53
 * @Version 1.0
 */
@Data
public class ReportAdvancedSearch {
    //组件风险等级 1-严重 2-高危 3-中危 4-低危 5-无漏洞
    private List<Integer> componentSecurityLevelList;

    //组件状态 0-黑名单组件 1-白名单组件 2-未标记 4-符合基线范围组件 5-不符合基线范围组件
    private List<Integer> componentStatusList;

    //许可证风险等级 1-高风险 2-中风险 3-低风险
    private List<Integer> licenseSecurityLevelList;

    //许可证状态 0-黑名单许可证 1-白名单许可证 2-未标记 6-误报
    private List<Integer> licenseStatusList;

    //漏洞风险等级 1-严重 2-高危 3-中危 4-低危 5-无等级
    private List<Integer> vulSecurityLevelList;

    //漏洞状态 0-黑名单漏洞 1-白名单漏洞 2-未标记 6-误报
    private List<Integer> vulStatusList;

    //CVSS分数逻辑操作符：and or，用于连接CVSS V2和V3分数的条件，即是V2 and V3还是V2 or V3
    private String cvssLogicalOperator;

    //cvss v2分数最低值，范围0~10
    private Integer cvssV2Score;

    //cvss v3分数最低值，范围0~10
    private Integer cvssV3Score;

    //依赖方式 0-未设置 1-直接依赖 2-间接依赖
    private Integer dependType;

    //漏洞利用难度，可选-2-未知 0-困难 1-容易 2-一般 不传默认为空
    private Integer exploitLevelId;
}
