diff --git a/src/loaders/ApiBasedRepositoryLoader.ts b/src/loaders/ApiBasedRepositoryLoader.ts index 66ea4b7..d93000a 100644 --- a/src/loaders/ApiBasedRepositoryLoader.ts +++ b/src/loaders/ApiBasedRepositoryLoader.ts @@ -71,24 +71,30 @@ export class ApiBasedRepositoryLoader { formData.set("json", JSON.stringify(formDataJsonObject)); const query = new URLSearchParams(params).toString(); - const response = await fetch(`${this.baseUrl}?${query}`, { - method: "POST", - body: formData, - }); - const json = await response.json(); - if (typeof json.all === "object") { - await Promise.all(json.all.map(async (jsonRoute: any) => { - const constructedRoute: IRoute = { - name: jsonRoute.name, - color: jsonRoute.color, - id: jsonRoute.myid, - polylineCoordinates: [], - systemId: systemId, - }; + try { + const response = await fetch(`${this.baseUrl}?${query}`, { + method: "POST", + body: formData, + }); + const json = await response.json(); - await this.repository.addOrUpdateRoute(constructedRoute); - })) + if (typeof json.all === "object") { + await Promise.all(json.all.map(async (jsonRoute: any) => { + const constructedRoute: IRoute = { + name: jsonRoute.name, + color: jsonRoute.color, + id: jsonRoute.myid, + polylineCoordinates: [], + systemId: systemId, + }; + + await this.repository.addOrUpdateRoute(constructedRoute); + })) + } + } catch(e: any) { + console.error(`fetchAndUpdateRouteDataForSystemId failed for system ID ${systemId}: ${e}`); + throw new ApiResponseError(e.message); } }