fix: improve ID parsing logic in AccessListSelector and ProxyHostForm to ensure valid numeric IDs

This commit is contained in:
GitHub Actions
2026-02-28 04:45:26 +00:00
parent 6ed8d8054f
commit bf583927c1
4 changed files with 52 additions and 10 deletions

View File

@@ -148,6 +148,10 @@ function normalizeNullableID(value: unknown): number | null | undefined {
return null
}
if (!/^\d+$/.test(trimmed)) {
return undefined
}
const parsed = Number.parseInt(trimmed, 10)
return Number.isNaN(parsed) ? undefined : parsed
}
@@ -173,8 +177,8 @@ function resolveSelectToken(value: number | string | null | undefined): string {
return trimmed
}
const parsed = Number.parseInt(trimmed, 10)
if (!Number.isNaN(parsed)) {
if (/^\d+$/.test(trimmed)) {
const parsed = Number.parseInt(trimmed, 10)
return `id:${parsed}`
}
@@ -195,8 +199,12 @@ function resolveTokenToFormValue(value: string): number | string | null {
return value.slice(5)
}
const parsed = Number.parseInt(value, 10)
return Number.isNaN(parsed) ? value : parsed
if (/^\d+$/.test(value)) {
const parsed = Number.parseInt(value, 10)
return Number.isNaN(parsed) ? value : parsed
}
return value
}
function getEntityToken(entity: { id?: number; uuid?: string }): string | null {