package models import "strings" // ResolveCPUSerialNumber returns a source-backed processor inventory identity. // A vendor-provided serial number has priority; PPIN is the documented CPU // serial identity and is used when a separate serial number is unavailable. func ResolveCPUSerialNumber(serialNumber, ppin string) string { if serial := validCPUIdentity(serialNumber); serial != "" { return serial } return validCPUIdentity(ppin) } func validCPUIdentity(value string) string { value = strings.TrimSpace(value) switch strings.ToLower(value) { case "", "-", "n/a", "na", "none", "null", "unknown", "not available", "to be filled by o.e.m.": return "" default: return value } }