@@ -11,6 +11,8 @@ import {
1111 getKubernetesClusterDashboard ,
1212 getKubernetesClusterEndpoints ,
1313 getKubernetesClusters ,
14+ getKubernetesClustersBeta ,
15+ getKubernetesTieredVersionsBeta ,
1416 getKubernetesTypes ,
1517 getKubernetesVersions ,
1618 getNodePools ,
@@ -30,7 +32,10 @@ import {
3032 useQueryClient ,
3133} from '@tanstack/react-query' ;
3234
33- import { useAPLAvailability } from 'src/features/Kubernetes/kubeUtils' ;
35+ import {
36+ useAPLAvailability ,
37+ useIsLkeEnterpriseEnabled ,
38+ } from 'src/features/Kubernetes/kubeUtils' ;
3439import { getAll } from 'src/utilities/getAll' ;
3540
3641import { queryPresets } from './base' ;
@@ -44,6 +49,7 @@ import type {
4449 KubernetesControlPlaneACLPayload ,
4550 KubernetesDashboardResponse ,
4651 KubernetesEndpointResponse ,
52+ KubernetesTieredVersion ,
4753 KubernetesVersion ,
4854 UpdateNodePoolData ,
4955} from '@linode/api-v4' ;
@@ -66,7 +72,7 @@ export const kubernetesQueries = createQueryKeys('kubernetes', {
6672 queryFn : useBetaEndpoint
6773 ? ( ) => getKubernetesClusterBeta ( id )
6874 : ( ) => getKubernetesCluster ( id ) ,
69- queryKey : [ useBetaEndpoint ] ,
75+ queryKey : [ useBetaEndpoint ? 'v4beta' : 'v4' ] ,
7076 } ) ,
7177 dashboard : {
7278 queryFn : ( ) => getKubernetesClusterDashboard ( id ) ,
@@ -93,17 +99,31 @@ export const kubernetesQueries = createQueryKeys('kubernetes', {
9399 } ) ,
94100 lists : {
95101 contextQueries : {
96- all : {
97- queryFn : ( ) => getAllKubernetesClusters ( ) ,
98- queryKey : null ,
99- } ,
100- paginated : ( params : Params , filter : Filter ) => ( {
101- queryFn : ( ) => getKubernetesClusters ( params , filter ) ,
102- queryKey : [ params , filter ] ,
102+ all : ( useBetaEndpoint : boolean = false ) => ( {
103+ queryFn : ( ) =>
104+ useBetaEndpoint
105+ ? getAllKubernetesClustersBeta ( )
106+ : getAllKubernetesClusters ( ) ,
107+ queryKey : [ useBetaEndpoint ? 'v4beta' : 'v4' ] ,
108+ } ) ,
109+ paginated : (
110+ params : Params ,
111+ filter : Filter ,
112+ useBetaEndpoint : boolean = false
113+ ) => ( {
114+ queryFn : ( ) =>
115+ useBetaEndpoint
116+ ? getKubernetesClustersBeta ( )
117+ : getKubernetesClusters ( params , filter ) ,
118+ queryKey : [ params , filter , useBetaEndpoint ? 'v4beta' : 'v4' ] ,
103119 } ) ,
104120 } ,
105121 queryKey : null ,
106122 } ,
123+ tieredVersions : ( tier : string ) => ( {
124+ queryFn : ( ) => getAllKubernetesTieredVersionsBeta ( tier ) ,
125+ queryKey : [ tier ] ,
126+ } ) ,
107127 types : {
108128 queryFn : ( ) => getAllKubernetesTypes ( ) ,
109129 queryKey : null ,
@@ -116,9 +136,11 @@ export const kubernetesQueries = createQueryKeys('kubernetes', {
116136
117137export const useKubernetesClusterQuery = ( id : number ) => {
118138 const { isLoading : isAPLAvailabilityLoading , showAPL } = useAPLAvailability ( ) ;
139+ const { isLkeEnterpriseLAEnabled } = useIsLkeEnterpriseEnabled ( ) ;
140+ const useBetaEndpoint = showAPL || isLkeEnterpriseLAEnabled ;
119141
120142 return useQuery < KubernetesCluster , APIError [ ] > ( {
121- ...kubernetesQueries . cluster ( id ) . _ctx . cluster ( showAPL ) ,
143+ ...kubernetesQueries . cluster ( id ) . _ctx . cluster ( useBetaEndpoint ) ,
122144 enabled : ! isAPLAvailabilityLoading ,
123145 } ) ;
124146} ;
@@ -128,8 +150,11 @@ export const useKubernetesClustersQuery = (
128150 filter : Filter ,
129151 enabled = true
130152) => {
153+ const { isLkeEnterpriseLAEnabled } = useIsLkeEnterpriseEnabled ( ) ;
154+ const useBetaEndpoint = isLkeEnterpriseLAEnabled ;
155+
131156 return useQuery < ResourcePage < KubernetesCluster > , APIError [ ] > ( {
132- ...kubernetesQueries . lists . _ctx . paginated ( params , filter ) ,
157+ ...kubernetesQueries . lists . _ctx . paginated ( params , filter , useBetaEndpoint ) ,
133158 enabled,
134159 placeholderData : keepPreviousData ,
135160 } ) ;
@@ -228,7 +253,7 @@ export const useCreateKubernetesClusterMutation = () => {
228253
229254/**
230255 * duplicated function of useCreateKubernetesClusterMutation
231- * necessary to call BETA_API_ROOT in a seperate function based on feature flag
256+ * necessary to call BETA_API_ROOT in a separate function based on feature flag
232257 */
233258
234259export const useCreateKubernetesClusterBetaMutation = ( ) => {
@@ -354,13 +379,23 @@ export const useKubernetesVersionQuery = () =>
354379 ...queryPresets . oneTimeFetch ,
355380 } ) ;
356381
382+ export const useKubernetesTieredVersionQuery = ( tier : string ) => {
383+ useQuery < KubernetesTieredVersion [ ] , APIError [ ] > ( {
384+ ...kubernetesQueries . tieredVersions ( tier ) ,
385+ ...queryPresets . oneTimeFetch ,
386+ } ) ;
387+ } ;
388+
357389/**
358390 * Avoiding fetching all Kubernetes Clusters if possible.
359- * Before you use this, consider implementing infinite scroll insted .
391+ * Before you use this, consider implementing infinite scroll instead .
360392 */
361393export const useAllKubernetesClustersQuery = ( enabled = false ) => {
394+ const { isLkeEnterpriseLAEnabled } = useIsLkeEnterpriseEnabled ( ) ;
395+ const useBetaEndpoint = isLkeEnterpriseLAEnabled ;
396+
362397 return useQuery < KubernetesCluster [ ] , APIError [ ] > ( {
363- ...kubernetesQueries . lists . _ctx . all ,
398+ ...kubernetesQueries . lists . _ctx . all ( useBetaEndpoint ) ,
364399 enabled,
365400 } ) ;
366401} ;
@@ -403,11 +438,21 @@ const getAllKubernetesClusters = () =>
403438 getKubernetesClusters ( params , filters )
404439 ) ( ) . then ( ( data ) => data . data ) ;
405440
441+ const getAllKubernetesClustersBeta = ( ) =>
442+ getAll < KubernetesCluster > ( ( params , filters ) =>
443+ getKubernetesClustersBeta ( params , filters )
444+ ) ( ) . then ( ( data ) => data . data ) ;
445+
406446const getAllKubernetesVersions = ( ) =>
407447 getAll < KubernetesVersion > ( ( params , filters ) =>
408448 getKubernetesVersions ( params , filters )
409449 ) ( ) . then ( ( data ) => data . data ) ;
410450
451+ const getAllKubernetesTieredVersionsBeta = ( tier : string ) =>
452+ getAll < KubernetesTieredVersion > ( ( params , filters ) =>
453+ getKubernetesTieredVersionsBeta ( tier , params , filters )
454+ ) ( ) . then ( ( data ) => data . data ) ;
455+
411456const getAllAPIEndpointsForCluster = ( clusterId : number ) =>
412457 getAll < KubernetesEndpointResponse > ( ( params , filters ) =>
413458 getKubernetesClusterEndpoints ( clusterId , params , filters )
0 commit comments