Skip to content

Commit 62f307c

Browse files
Add react-query wrapper hook for fetching Workflow Diagnostics (#947)
Add react-query hook useDiagnoseWorkflow for fetching Workflow Diagnostics, which makes a call to the diagnoseWorkflow route handler.
1 parent 608dcf5 commit 62f307c

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { type UseQueryOptions } from '@tanstack/react-query';
2+
import queryString from 'query-string';
3+
4+
import { type DiagnoseWorkflowResponse } from '@/route-handlers/diagnose-workflow/diagnose-workflow.types';
5+
import request from '@/utils/request';
6+
import { type RequestError } from '@/utils/request/request-error';
7+
8+
import { type UseDiagnoseWorkflowParams } from './use-diagnose-workflow.types';
9+
10+
export default function getDiagnoseWorkflowQueryOptions(
11+
params: UseDiagnoseWorkflowParams
12+
): UseQueryOptions<
13+
DiagnoseWorkflowResponse,
14+
RequestError,
15+
DiagnoseWorkflowResponse,
16+
[string, UseDiagnoseWorkflowParams]
17+
> {
18+
return {
19+
queryKey: ['diagnoseWorkflow', params],
20+
queryFn: async ({
21+
queryKey: [_, { domain, cluster, workflowId, runId }],
22+
}: {
23+
queryKey: [string, UseDiagnoseWorkflowParams];
24+
}) =>
25+
request(
26+
queryString.stringifyUrl({
27+
url: `/api/domains/${domain}/${cluster}/workflows/${workflowId}/${runId}/diagnose`,
28+
})
29+
).then((res) => res.json()),
30+
};
31+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { useQuery } from '@tanstack/react-query';
2+
3+
import getDiagnoseWorkflowQueryOptions from './get-diagnose-workflow-query-options';
4+
import { type UseDiagnoseWorkflowParams } from './use-diagnose-workflow.types';
5+
6+
export default function useDiagnoseWorkflow(params: UseDiagnoseWorkflowParams) {
7+
return useQuery(getDiagnoseWorkflowQueryOptions(params));
8+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export type UseDiagnoseWorkflowParams = {
2+
domain: string;
3+
cluster: string;
4+
workflowId: string;
5+
runId: string;
6+
};

0 commit comments

Comments
 (0)