setValue: async function()

in default/cve/script.js [4:74]


        setValue: async function (j) {
          if (pugRender && document.getElementById("render")) {
            var cve_list = textUtil.deep_value(j, 'CNA_private.CVE_list');
            if (cve_list && cve_list.length > 0) {
                var cSet = new Set();
                var cMap = {};
                for (var d of cve_list) {
                    if (d.CVE) {
                        for (var x of d.CVE.match(/CVE-\d{4}-[a-zA-Z\d\._-]{4,}/igm)) {
                            cSet.add(x);
                            cMap[x] = {
                                impact: '',
                                summary: d.summary
                            }
                        }
                    }
                }
                if (cSet.size > 0) {
                    var r = await textUtil.getDocuments('nvd', Array.from(cSet), ['cve.CVE_data_meta', 'cve.description', 'impact']);
                    for (var c of r) {
                        var cveid = textUtil.deep_value(c, 'cve.CVE_data_meta.ID');
                        if (textUtil.deep_value(c, 'impact.baseMetricV3.cvssV3')) {
                            cMap[cveid].impact = {
                                cvss: c.impact.baseMetricV3.cvssV3
                            };
                        } else if (textUtil.deep_value(c, 'impact.baseMetricV2.cvssV2')) {
                            cMap[cveid].impact = {
                                cvss: c.impact.baseMetricV2.cvssV2
                            };
                        }
                        if (!cMap[cveid].summary) {
                            var title = textUtil.deep_value(c, 'cve.CVE_data_meta.TITLE');
                            cMap[cveid].summary = title ? title : textUtil.deep_value(c, 'cve.description.description_data')[0].value;
                        }
                        cSet.delete(cveid);
                    }
                    if (cSet.size > 0) {
                        var nr = await textUtil.getDocuments('cve', Array.from(cSet), ['body.CVE_data_meta', 'body.impact', 'body.description']);
                        for (c of nr) {
                            var cveid = textUtil.deep_value(c, 'body.CVE_data_meta.ID');
                            if (textUtil.deep_value(c, 'body.impact.cvss')) {
                                cMap[cveid].impact = c.body.impact;
                            }
                            if (!cMap[cveid].summary) {
                                var desc = textUtil.deep_value(c, 'body.description.description_data')[0].value;
                                cMap[cveid].summary = desc ? desc : textUtil.deep_value(c, 'body.CVE_data_meta.TITLE');
                            }
                        }
                    }
                    document.getElementById("render").innerHTML = pugRender({
                        renderTemplate: 'page',
                        doc: j,
                        getProductAffected: getProductAffected,
                        cmap: cMap,
                    });
                } else {
                    document.getElementById("render").innerHTML = pugRender({
                        renderTemplate: 'page',
                        getProductAffected: getProductAffected,
                        doc: j
                    });
                }
            } else {
                document.getElementById("render").innerHTML = pugRender({
                    renderTemplate: 'page',
                    getProductAffected: getProductAffected,
                    doc: j
                });
            }
        }
      }