From 323f5a19a2599ed1a72701c2196d610a191e9c45 Mon Sep 17 00:00:00 2001 From: ml729 <85370083+ml729@users.noreply.github.com> Date: Sat, 21 Jan 2023 14:01:58 -0500 Subject: [PATCH] use Promise.allSettled for admin status --- website/src/pages/admin/status/index.tsx | 20 +++++++++++++------- website/src/pages/api/admin/status.ts | 8 ++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/website/src/pages/admin/status/index.tsx b/website/src/pages/admin/status/index.tsx index efb734b2..ae0f2f1d 100644 --- a/website/src/pages/admin/status/index.tsx +++ b/website/src/pages/admin/status/index.tsx @@ -79,8 +79,10 @@ const StatusIndex = ({ user }) => { /api/v1/tasks/availability - {tasksAvailability ? ( -
{JSON.stringify(tasksAvailability, null, 2)}
+ {tasksAvailability?.status === "fulfilled" ? ( +
{JSON.stringify(tasksAvailability.value, null, 2)}
+ ) : tasksAvailability?.status === "rejected" ? ( +
{JSON.stringify(tasksAvailability.reason, null, 2)}
) : errorStatus ? (
{JSON.stringify(errorStatus, null, 2)}
) : ( @@ -96,8 +98,10 @@ const StatusIndex = ({ user }) => { /api/v1/stats/ - {stats ? ( -
{JSON.stringify(stats, null, 2)}
+ {stats?.status === "fulfilled" ? ( +
{JSON.stringify(stats.value, null, 2)}
+ ) : stats?.status === "rejected" ? ( +
{JSON.stringify(stats.reason, null, 2)}
) : errorStatus ? (
{JSON.stringify(errorStatus, null, 2)}
) : ( @@ -113,13 +117,13 @@ const StatusIndex = ({ user }) => { /api/v1/stats/tree_manager - {treeManager ? ( + {treeManager?.status === "fulfilled" ? ( state_counts -
{JSON.stringify(treeManager.state_counts, null, 2)}
+
{JSON.stringify(treeManager.value.state_counts, null, 2)}

@@ -140,7 +144,7 @@ const StatusIndex = ({ user }) => { - {treeManager.message_counts.map( + {treeManager.value.message_counts.map( ({ message_tree_id, state, depth, oldest, youngest, count, goal_tree_size }) => ( {message_tree_id} @@ -157,6 +161,8 @@ const StatusIndex = ({ user }) => {
+ ) : treeManager?.status === "rejected" ? ( +
{JSON.stringify(treeManager.reason, null, 2)}
) : errorStatus ? (
{JSON.stringify(errorStatus, null, 2)}
) : ( diff --git a/website/src/pages/api/admin/status.ts b/website/src/pages/api/admin/status.ts index 64299db8..1f0ba915 100644 --- a/website/src/pages/api/admin/status.ts +++ b/website/src/pages/api/admin/status.ts @@ -9,16 +9,16 @@ import { getBackendUserCore } from "src/lib/users"; const handler = withRole("admin", async (req, res) => { const token = await getToken({ req }); const currentUser = await getBackendUserCore(token.sub); - const [tasksAvailabilityData, statsData, treeManagerData] = await Promise.all([ + const [tasksAvailabilityOutcome, statsOutcome, treeManagerOutcome] = await Promise.allSettled([ oasstApiClient.fetch_tasks_availability(currentUser), oasstApiClient.fetch_stats(), oasstApiClient.fetch_tree_manager(), ]); const status = { - tasksAvailability: tasksAvailabilityData, - stats: statsData, - treeManager: treeManagerData, + tasksAvailability: tasksAvailabilityOutcome, + stats: statsOutcome, + treeManager: treeManagerOutcome, }; res.status(200).json(status);