fix: validate snmp oid json field types

This commit is contained in:
zxr
2026-07-05 22:18:52 +08:00
parent f5d0bae89b
commit aa6db97457

View File

@@ -144,7 +144,12 @@ const findInvalidJsonRowIndex = (items: unknown[]) =>
if (!isJsonRecord(item)) {
return true
}
return !String(item.oid ?? '').trim() || !String(item.metric_name ?? '').trim()
return (
typeof item.oid !== 'string' ||
typeof item.metric_name !== 'string' ||
!item.oid.trim() ||
!item.metric_name.trim()
)
})
const normalizeJsonItems = (items: unknown[]) =>
@@ -163,10 +168,10 @@ const parseRows = (raw: string): SnmpOidRow[] =>
parseJsonArray(raw).map((item) => {
const record = isJsonRecord(item) ? item : {}
return {
oid: String(record.oid ?? '').trim(),
metric_name: String(record.metric_name ?? '').trim(),
metric_unit: String(record.metric_unit ?? '').trim(),
type: String(record.type ?? '').trim(),
oid: typeof record.oid === 'string' ? record.oid.trim() : '',
metric_name: typeof record.metric_name === 'string' ? record.metric_name.trim() : '',
metric_unit: typeof record.metric_unit === 'string' ? record.metric_unit.trim() : '',
type: typeof record.type === 'string' ? record.type.trim() : '',
}
})