Skip to content

Commit be03e9e

Browse files
committed
feat: update EditClusterDrawerContent to use useQuery for metadata fetching and add EditClusterDrawerMetadataType interface
1 parent 85319ab commit be03e9e

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

src/Pages/GlobalConfigurations/ClustersAndEnvironments/EditClusterDrawerContent.tsx

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,14 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {
18-
APIResponseHandler,
19-
ClusterProviderType,
20-
noop,
21-
ResponseType,
22-
useAsync,
23-
} from '@devtron-labs/devtron-fe-common-lib'
17+
import { APIResponseHandler, ClusterProviderType, noop, useQuery } from '@devtron-labs/devtron-fe-common-lib'
2418

2519
import { importComponentFromFELibrary } from '@Components/common'
2620
import { URLS } from '@Config/routes'
2721

2822
import ClusterForm from './ClusterForm/ClusterForm'
2923
import { getCluster } from './cluster.service'
30-
import { EditClusterDrawerContentProps, EditClusterFormProps } from './cluster.type'
24+
import { EditClusterDrawerContentProps, EditClusterDrawerMetadataType, EditClusterFormProps } from './cluster.type'
3125

3226
const getSSHConfig: (
3327
...props
@@ -56,10 +50,7 @@ const EditClusterDrawerContent = ({
5650
insecureSkipTlsVerify,
5751
costModuleConfig,
5852
}: EditClusterDrawerContentProps) => {
59-
const getClusterMetadata = async (): Promise<{
60-
prometheusAuthResult: ResponseType
61-
clusterProvider: ClusterProviderType
62-
}> => {
53+
const getClusterMetadata = async (): Promise<EditClusterDrawerMetadataType> => {
6354
if (!clusterId) {
6455
return { prometheusAuthResult: null, clusterProvider: null }
6556
}
@@ -71,11 +62,16 @@ const EditClusterDrawerContent = ({
7162
return { prometheusAuthResult, clusterProvider }
7263
}
7364

74-
const [isMetadataLoading, metadata, metadataError, reloadMetadata] = useAsync(
75-
() => getClusterMetadata(),
76-
[clusterId],
77-
!!clusterId,
78-
)
65+
const {
66+
isFetching: isMetadataLoading,
67+
data: metadata,
68+
error: metadataError,
69+
refetch: reloadMetadata,
70+
} = useQuery<EditClusterDrawerMetadataType, EditClusterDrawerMetadataType, [string, number], false>({
71+
queryKey: ['get-cluster-metadata', clusterId],
72+
queryFn: () => getClusterMetadata(),
73+
enabled: !!clusterId,
74+
})
7975

8076
const { prometheusAuthResult, clusterProvider } = metadata || {
8177
prometheusAuthResult: null,
@@ -88,8 +84,9 @@ const EditClusterDrawerContent = ({
8884
progressingProps={{
8985
pageLoader: true,
9086
}}
91-
error={metadataError?.code}
87+
error={metadataError}
9288
errorScreenManagerProps={{
89+
code: metadataError?.code,
9390
redirectURL: URLS.GLOBAL_CONFIG_CLUSTER,
9491
reload: reloadMetadata,
9592
}}

src/Pages/GlobalConfigurations/ClustersAndEnvironments/cluster.type.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
EnvListMinDTO,
2525
FiltersTypeEnum,
2626
OptionType,
27+
ResponseType,
2728
SelectPickerOptionType,
2829
TableProps,
2930
UseUrlFiltersReturnType,
@@ -370,3 +371,8 @@ export interface EditDeleteClusterProps {
370371
reloadClusterList: () => void
371372
handleClose: () => void
372373
}
374+
375+
export interface EditClusterDrawerMetadataType {
376+
prometheusAuthResult: ResponseType
377+
clusterProvider: ClusterProviderType
378+
}

0 commit comments

Comments
 (0)