From 9b7da23a20de57905757cb03eee0af2ce2db0e85 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Mon, 31 May 2021 08:34:26 +0200 Subject: [PATCH] Fix administration page error for empty release feed url (#1667) --- gradle/changelog/empty_release_feed_url.yaml | 2 ++ scm-ui/ui-api/src/admin.ts | 15 +++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 gradle/changelog/empty_release_feed_url.yaml diff --git a/gradle/changelog/empty_release_feed_url.yaml b/gradle/changelog/empty_release_feed_url.yaml new file mode 100644 index 0000000000..551f9f31c8 --- /dev/null +++ b/gradle/changelog/empty_release_feed_url.yaml @@ -0,0 +1,2 @@ +- type: fixed + description: Fix administration page error for empty release feed url ([#1667](https://github.com/scm-manager/scm-manager/pull/1667)) diff --git a/scm-ui/ui-api/src/admin.ts b/scm-ui/ui-api/src/admin.ts index 4a8cbbb7f0..872798cb60 100644 --- a/scm-ui/ui-api/src/admin.ts +++ b/scm-ui/ui-api/src/admin.ts @@ -22,14 +22,21 @@ * SOFTWARE. */ -import { ApiResult, useRequiredIndexLink } from "./base"; +import { ApiResult, useIndexLink } from "./base"; import { UpdateInfo } from "@scm-manager/ui-types"; import { useQuery } from "react-query"; import { apiClient } from "@scm-manager/ui-components"; export const useUpdateInfo = (): ApiResult => { - const indexLink = useRequiredIndexLink("updateInfo"); - return useQuery("updateInfo", () => - apiClient.get(indexLink).then(response => (response.status === 204 ? null : response.json())) + const indexLink = useIndexLink("updateInfo"); + return useQuery( + "updateInfo", + () => { + if (!indexLink) { + throw new Error("could not find index data"); + } + return apiClient.get(indexLink).then((response) => (response.status === 204 ? null : response.json())); + }, + { enabled: !!indexLink } ); };