From 8d5c82b0c61c03a47fb9b2338dee39978e56c346 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Sat, 13 May 2023 22:53:14 -0700 Subject: [PATCH] Fix query array parser for navidrome api --- src/renderer/api/navidrome/navidrome-api.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/renderer/api/navidrome/navidrome-api.ts b/src/renderer/api/navidrome/navidrome-api.ts index 2e23fb91..455de0f0 100644 --- a/src/renderer/api/navidrome/navidrome-api.ts +++ b/src/renderer/api/navidrome/navidrome-api.ts @@ -205,7 +205,21 @@ const parsePath = (fullPath: string) => { const [path, params] = fullPath.split('?'); const parsedParams = qs.parse(params); - const notNilParams = omitBy(parsedParams, (value) => value === 'undefined' || value === 'null'); + + // Convert indexed object to array + const newParams: Record = {}; + Object.keys(parsedParams).forEach((key) => { + const isIndexedArrayObject = + typeof parsedParams[key] === 'object' && Object.keys(parsedParams[key] || {}).includes('0'); + + if (!isIndexedArrayObject) { + newParams[key] = parsedParams[key]; + } else { + newParams[key] = Object.values(parsedParams[key] || {}); + } + }); + + const notNilParams = omitBy(newParams, (value) => value === 'undefined' || value === 'null'); return { params: notNilParams,