fix: read camelCase config keys from API response (dto_pass, dto_user, etc.)

transformKeys converts all nested JSONB keys to camelCase, so reading
dto_pass from config returned undefined, falling back to default '30'.
Now reads dtoPass (camelCase) with dto_pass as fallback for compatibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 23:31:58 +03:00
parent bf785b763f
commit 0dfcd7f33f

View File

@@ -202,15 +202,16 @@ function DeviceForm({
const [purpose, setPurpose] = useState(initial?.purpose ?? 'receipt')
const [fiscalMode, setFiscalMode] = useState(initial?.fiscalMode !== false)
const [dtoPort, setDtoPort] = useState(String(initial?.dtoPort ?? 16732))
const [dtoUser, setDtoUser] = useState(String(initial?.config?.dto_user ?? '30'))
const [dtoPass, setDtoPass] = useState(String(initial?.config?.dto_pass ?? '30'))
const [dtoDeviceId, setDtoDeviceId] = useState(String(initial?.config?.dto_device_id ?? ''))
// config keys come from API already camelCased by transformKeys
const [dtoUser, setDtoUser] = useState(String((initial?.config as any)?.dtoUser ?? (initial?.config as any)?.dto_user ?? '30'))
const [dtoPass, setDtoPass] = useState(String((initial?.config as any)?.dtoPass ?? (initial?.config as any)?.dto_pass ?? '30'))
const [dtoDeviceId, setDtoDeviceId] = useState(String((initial?.config as any)?.dtoDeviceId ?? (initial?.config as any)?.dto_device_id ?? ''))
const [saving, setSaving] = useState(false)
const [availablePorts, setAvailablePorts] = useState<{ port: string; description?: string }[] | null>(null)
const [portsLoading, setPortsLoading] = useState(false)
const [availablePrinters, setAvailablePrinters] = useState<{ name: string; isDefault: boolean }[] | null>(null)
const [printersLoading, setPrintersLoading] = useState(false)
const [windowsPrinter, setWindowsPrinter] = useState(String(initial?.config?.windows_printer ?? ''))
const [windowsPrinter, setWindowsPrinter] = useState(String((initial?.config as any)?.windowsPrinter ?? (initial?.config as any)?.windows_printer ?? ''))
const loadPorts = () => {
if (!wsOnline) return