diff --git a/src/api/configuration.ts b/src/api/configuration.ts index 0d4d4c6d..633d5804 100644 --- a/src/api/configuration.ts +++ b/src/api/configuration.ts @@ -30,13 +30,21 @@ export const createConfiguration = (params: CreateConfigParams) => body: JSON.stringify(params), }); -export const getConfiguration = (configuration: string) => - fetchApiJson(`./info?configuration=${configuration}`); +export const getConfiguration = (configuration: string) => { + const urlSearchParams = new URLSearchParams({ + configuration: configuration, + }); + return fetchApiJson(`./info?${urlSearchParams.toString()}`); +}; -export const deleteConfiguration = (configuration: string) => - fetchApiText(`./delete?configuration=${configuration}`, { +export const deleteConfiguration = (configuration: string) => { + const urlSearchParams = new URLSearchParams({ + configuration: configuration, + }); + return fetchApiText(`./delete?${urlSearchParams.toString()}`, { method: "post", }); +}; export const compileConfiguration = ( configuration: string, @@ -62,7 +70,10 @@ export const getJsonConfig = async ( filename: string, ): Promise | null> => { try { - return fetchApiJson(`./json-config?configuration=${filename}`); + const urlSearchParams = new URLSearchParams({ + configuration: filename, + }); + return fetchApiJson(`./json-config?${urlSearchParams.toString()}`); } catch (err) { if (err instanceof APIError && err.status === 404) { return null; diff --git a/src/api/download.ts b/src/api/download.ts index 3fe7a4b2..dd2578c1 100644 --- a/src/api/download.ts +++ b/src/api/download.ts @@ -7,19 +7,28 @@ export type DownloadType = { download: string; }; -export const getDownloadTypes = (configuration: string) => - fetchApiJson( - `./downloads?configuration=${encodeURIComponent(configuration)}`, +export const getDownloadTypes = (configuration: string) => { + const urlSearchParams = new URLSearchParams({ + configuration: configuration, + }); + return fetchApiJson( + `./downloads?${urlSearchParams.toString()}`, ); +}; -export const getDownloadUrl = (configuration: string, type: DownloadType) => - `./download.bin?configuration=${encodeURIComponent( - configuration, - )}&file=${encodeURIComponent(type.file)}&download=${encodeURIComponent( - type.download, - )}`; +export const getDownloadUrl = (configuration: string, type: DownloadType) => { + const urlSearchParams = new URLSearchParams({ + configuration: configuration, + file: type.file, + download: type.download, + }); + return `./download.bin?${urlSearchParams.toString()}`; +}; -export const getFactoryDownloadUrl = (configuration: string) => - `./download.bin?configuration=${encodeURIComponent( - configuration, - )}&file=firmware.factory.bin`; +export const getFactoryDownloadUrl = (configuration: string) => { + const urlSearchParams = new URLSearchParams({ + configuration: configuration, + file: "firmware.factory.bin", + }); + return `./download.bin?${urlSearchParams.toString()}`; +}; diff --git a/src/api/files.ts b/src/api/files.ts index d2a37824..d9ace17e 100644 --- a/src/api/files.ts +++ b/src/api/files.ts @@ -3,7 +3,10 @@ import { APIError, fetchApiText } from "."; // null if file not found. export const getFile = async (filename: string): Promise => { try { - return fetchApiText(`./edit?configuration=${filename}`); + const urlSearchParams = new URLSearchParams({ + configuration: filename, + }); + return fetchApiText(`./edit?${urlSearchParams.toString()}`); } catch (err) { if (err instanceof APIError && err.status === 404) { return null; @@ -15,8 +18,12 @@ export const getFile = async (filename: string): Promise => { export const writeFile = async ( filename: string, content: string, -): Promise => - fetchApiText(`./edit?configuration=${filename}`, { +): Promise => { + const urlSearchParams = new URLSearchParams({ + configuration: filename, + }); + return fetchApiText(`./edit?${urlSearchParams.toString()}`, { method: "POST", body: content, }); +};