INNER CODE UNIT · JavaScript
latestHostObservations
GamehunterKaan/AutoPWN-Suite · modules/web_ui_static/app.js:104
function latestHostObservations(rows){
const latest = {};
rows.forEach(h=>{
const prev = latest[h.ip];
const observed = Date.parse(h.observed_at || scans[h.scan_id]?.started_at || '') || 0;
const previous = Date.parse(prev?.observed_at || scans[prev?.scan_id]?.started_at || '') || 0;
if(!prev || observed >= previous) latest[h.ip] = h;
});
return latest;
}
function hostScanLabel(h){
if(h.latest_attempt) return 'Latest scan: ' + hostScanLabel({...h.latest_attempt, latest_attempt:null});
if(h.scan_status === 'scanning') return 'Scanning…';
if(h.scan_status === 'failed' || h.scan_status === 'error') return 'Scan failed';
if(h.scan_status === 'stopped') return 'Stopped';
if(h.scan_status === 'not_observed') return 'Host not observed';
if(h.scan_status === 'partial' || h.lookup_status === 'partial') return 'Incomplete';
if(h.lookup_status === 'skipped' || h.lookup_status === 'not_run') return 'CVEs not checked';