custom/cve/asfpreload.js (54 lines of code) (raw):

function getProductListNoVendor(cve) { var lines = []; for (var vendor of cve.affects.vendor.vendor_data) { var pstring = []; for (var product of vendor.product.product_data) { pstring.push(product.product_name); } lines.push(pstring.join(", ")); } return lines.join("; "); } async function loadProductNames() { var projects = [] try { var pmcs = userPMCS.split(','); var response = await fetch('https://whimsy.apache.org/public/committee-info.json', { method: 'GET', credentials: 'omit', headers: { 'Accept': 'application/json, text/plain, */*' }, redirect: 'error' }); if (!response.ok) { errMsg.textContent = "Failed Apache project list"; infoMsg.textContent = ""; throw Error(id + ' ' + response.statusText); } else { var res = await response.json(); if (res.committees) { for (var committee in res.committees) if (pmcs.includes(committee) || pmcs.includes('security')) { res.committees[committee].display_name && projects.push('Apache ' + res.committees[committee].display_name); } } } } catch (error) { errMsg.textContent = error; } return (projects); } async function loadEmailLists(pmc) { try { var response = await fetch('/asfemaillists?pmc='+pmc, { method: 'GET' }); if (response.ok) { return await response.text(); } else { return ""; } } catch (error) { return ""; } }