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