package cd.casic.ci.process.dto.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ScaVulInfoResp {
    /**
     * 漏洞UID
     */
    private String vulUid;

    /**
     * CVE编号
     */
    private String cve;

    /**
     * CNNVD编号
     */
    private String cnnvd;

    /**
     * CNVD编号
     */
    private String cnvd;

    /**
     * CWE编号
     */
    private String cwe;

    /**
     * 漏洞名称
     */
    private String vulName;

    /**
     * 漏洞类型
     */
    private String vulType;

    /**
     * 攻击类型
     */
    private String attackType;

    /**
     * 是否可利用
     */
    private String isExploit;

    /**
     * 安全等级
     */
    private String securityLevel;

    /**
     * CVSS4评分
     */
    private Double cvss4;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate releaseDate;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate updateDate;

    /**
     * 漏洞描述
     */
    private String vulDescription;

    /**
     * 修复建议
     */
    private String suggestion;

    /**
     * 检测时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime detectionTime;

    /**
     * 影响组件数量
     */
    private Integer influenceComponentNum;

    /**
     * 影响包数量
     */
    private Integer influencePackageNum;

    /**
     * 影响组件
     */
    private String influenceComponent;

    /**
     * 影响组件镜像
     */
    private String influenceComponentImage;

    /**
     * 漏洞状态
     */
    private String vulStatus;

    /**
     * 审计状态
     */
    private String auditStatus;

    /**
     * 可达类型字符串
     */
    private String reachTypeStr;

    /**
     * 是否可修复
     */
    private String fixAvailable;

    /**
     * 是否隐藏
     */
    private Integer isHide;

    /**
     * CVSS2评分
     */
    private String cvss2;

    /**
     * CVSS3评分
     */
    private String cvss3;
}
