From 05ac1e02e0f6d25bce9db4ae657a07e5893d6a62 Mon Sep 17 00:00:00 2001 From: gerwoud Date: Thu, 23 May 2024 16:47:25 +0200 Subject: [PATCH 1/4] added 403 for overview page --- frontend/src/loaders/submission-overview-loader.ts | 6 ++++++ frontend/src/pages/error/ErrorBoundary.tsx | 8 ++++++++ frontend/src/pages/project/projectView/ProjectView.tsx | 1 + 3 files changed, 15 insertions(+) diff --git a/frontend/src/loaders/submission-overview-loader.ts b/frontend/src/loaders/submission-overview-loader.ts index 2ee5ab7c..98b4f160 100644 --- a/frontend/src/loaders/submission-overview-loader.ts +++ b/frontend/src/loaders/submission-overview-loader.ts @@ -27,10 +27,16 @@ export default async function loadSubmissionOverview({ }: { params: Params; }) { + const projectId = params.projectId; const projectResponse = await authenticatedFetch( `${APIURL}/projects/${projectId}` ); + + if(projectResponse.status != 200) { + throw new Response("Not authenticated", {status: 403}); + } + const projectData = (await projectResponse.json())["data"]; const overviewResponse = await authenticatedFetch( diff --git a/frontend/src/pages/error/ErrorBoundary.tsx b/frontend/src/pages/error/ErrorBoundary.tsx index 8a0f7155..99e714ae 100644 --- a/frontend/src/pages/error/ErrorBoundary.tsx +++ b/frontend/src/pages/error/ErrorBoundary.tsx @@ -64,6 +64,14 @@ const ErrorBoundaryPage = () => { message={t("serverErrorMessage")} /> ); + } else { + return ( + + ); } } }; diff --git a/frontend/src/pages/project/projectView/ProjectView.tsx b/frontend/src/pages/project/projectView/ProjectView.tsx index 8b1f8dd8..6dc03937 100644 --- a/frontend/src/pages/project/projectView/ProjectView.tsx +++ b/frontend/src/pages/project/projectView/ProjectView.tsx @@ -156,6 +156,7 @@ export default function ProjectView() { }, [projectId, updateProject]); + if (!projectId) return null; return ( From dafdbef140c6588906a77fbd09973d2a087d4853 Mon Sep 17 00:00:00 2001 From: gerwoud Date: Thu, 23 May 2024 16:50:23 +0200 Subject: [PATCH 2/4] linter --- frontend/src/pages/error/ErrorBoundary.tsx | 8 -------- frontend/src/pages/project/projectView/ProjectView.tsx | 1 - 2 files changed, 9 deletions(-) diff --git a/frontend/src/pages/error/ErrorBoundary.tsx b/frontend/src/pages/error/ErrorBoundary.tsx index 99e714ae..8a0f7155 100644 --- a/frontend/src/pages/error/ErrorBoundary.tsx +++ b/frontend/src/pages/error/ErrorBoundary.tsx @@ -64,14 +64,6 @@ const ErrorBoundaryPage = () => { message={t("serverErrorMessage")} /> ); - } else { - return ( - - ); } } }; diff --git a/frontend/src/pages/project/projectView/ProjectView.tsx b/frontend/src/pages/project/projectView/ProjectView.tsx index 6dc03937..8b1f8dd8 100644 --- a/frontend/src/pages/project/projectView/ProjectView.tsx +++ b/frontend/src/pages/project/projectView/ProjectView.tsx @@ -156,7 +156,6 @@ export default function ProjectView() { }, [projectId, updateProject]); - if (!projectId) return null; return ( From c36f3d74631884a359636dd5dc7ec177d1973124 Mon Sep 17 00:00:00 2001 From: gerwoud Date: Thu, 23 May 2024 17:50:27 +0200 Subject: [PATCH 3/4] added good response.ok placement and status code for 404 --- frontend/src/loaders/submission-overview-loader.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/loaders/submission-overview-loader.ts b/frontend/src/loaders/submission-overview-loader.ts index 98b4f160..2ce065d4 100644 --- a/frontend/src/loaders/submission-overview-loader.ts +++ b/frontend/src/loaders/submission-overview-loader.ts @@ -30,11 +30,15 @@ export default async function loadSubmissionOverview({ const projectId = params.projectId; const projectResponse = await authenticatedFetch( - `${APIURL}/projects/${projectId}` + `${APIURL}/projects/${projectId}` ); - if(projectResponse.status != 200) { - throw new Response("Not authenticated", {status: 403}); + if (!projectResponse.ok) { + if (projectResponse.status == 403) { + throw new Response("Not authenticated", {status: 403}); + } else if (projectResponse.status == 404) { + throw new Response("Not found", {status: 404}); + } } const projectData = (await projectResponse.json())["data"]; From 3a1030d3f0e13f03a76dc92739e0170c254cf625 Mon Sep 17 00:00:00 2001 From: gerwoud Date: Thu, 23 May 2024 17:52:05 +0200 Subject: [PATCH 4/4] linter --- frontend/src/loaders/submission-overview-loader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/loaders/submission-overview-loader.ts b/frontend/src/loaders/submission-overview-loader.ts index 2ce065d4..26008260 100644 --- a/frontend/src/loaders/submission-overview-loader.ts +++ b/frontend/src/loaders/submission-overview-loader.ts @@ -30,7 +30,7 @@ export default async function loadSubmissionOverview({ const projectId = params.projectId; const projectResponse = await authenticatedFetch( - `${APIURL}/projects/${projectId}` + `${APIURL}/projects/${projectId}` ); if (!projectResponse.ok) {