1- import { useQuery , useMutation , useQueryClient } from '@tanstack/react-query'
1+ import {
2+ useListCoreV1ConfigMapForAllNamespacesQuery ,
3+ useListCoreV1NamespacedConfigMapQuery ,
4+ useReadCoreV1NamespacedConfigMapQuery ,
5+ useCreateCoreV1NamespacedConfigMap ,
6+ useReplaceCoreV1NamespacedConfigMap ,
7+ useDeleteCoreV1NamespacedConfigMap
8+ } from '@kubernetesjs/react'
29import { useKubernetes } from '../contexts/KubernetesContext'
3- import type { ConfigMap , ConfigMapList } from 'kubernetesjs'
4-
5- // Query keys
6- const CONFIGMAPS_KEY = [ 'configmaps' ] as const
10+ import type { ConfigMap } from 'kubernetesjs'
711
812export function useConfigMaps ( namespace ?: string ) {
9- const { client , namespace : defaultNamespace } = useKubernetes ( )
13+ const { namespace : defaultNamespace } = useKubernetes ( )
1014 const ns = namespace || defaultNamespace
1115
12- return useQuery < ConfigMapList , Error > ( {
13- queryKey : [ ...CONFIGMAPS_KEY , ns ] ,
14- queryFn : async ( ) => {
15- if ( ns === '_all' ) {
16- const result = await client . listCoreV1ConfigMapForAllNamespaces ( {
17- query : { } ,
18- } )
19- return result
20- } else {
21- const result = await client . listCoreV1NamespacedConfigMap ( {
22- path : { namespace : ns } ,
23- query : { } ,
24- } )
25- return result
26- }
27- } ,
28- refetchOnMount : 'always' ,
29- staleTime : 0 ,
30- } )
16+ if ( ns === '_all' ) {
17+ return useListCoreV1ConfigMapForAllNamespacesQuery ( { query : { } } )
18+ }
19+ return useListCoreV1NamespacedConfigMapQuery ( { path : { namespace : ns } , query : { } } )
3120}
3221
3322export function useConfigMap ( name : string , namespace ?: string ) {
34- const { client , namespace : defaultNamespace } = useKubernetes ( )
23+ const { namespace : defaultNamespace } = useKubernetes ( )
3524 const ns = namespace || defaultNamespace
36-
37- return useQuery < ConfigMap , Error > ( {
38- queryKey : [ ...CONFIGMAPS_KEY , ns , name ] ,
39- queryFn : async ( ) => {
40- const result = await client . readCoreV1NamespacedConfigMap ( {
41- path : { namespace : ns , name } ,
42- query : { } ,
43- } )
44- return result
45- } ,
46- enabled : ! ! name ,
47- refetchOnMount : 'always' ,
48- staleTime : 0 ,
49- } )
25+ return useReadCoreV1NamespacedConfigMapQuery ( { path : { namespace : ns , name } , query : { } } )
5026}
5127
5228export function useCreateConfigMap ( ) {
53- const { client, namespace : defaultNamespace } = useKubernetes ( )
54- const queryClient = useQueryClient ( )
55-
56- return useMutation < ConfigMap , Error , { configMap : ConfigMap ; namespace ?: string } > ( {
57- mutationFn : async ( { configMap, namespace } ) => {
58- const ns = namespace || defaultNamespace
59- const result = await client . createCoreV1NamespacedConfigMap ( {
60- path : { namespace : ns } ,
61- query : { } ,
62- body : configMap ,
63- } )
64- return result
65- } ,
66- onSuccess : ( _ , variables ) => {
67- const ns = variables . namespace || defaultNamespace
68- queryClient . invalidateQueries ( { queryKey : [ ...CONFIGMAPS_KEY , ns ] } )
69- } ,
70- } )
29+ const { namespace : defaultNamespace } = useKubernetes ( )
30+ const mutation = useCreateCoreV1NamespacedConfigMap ( )
31+ return {
32+ ...mutation ,
33+ mutate : ( { configMap, namespace } ) =>
34+ mutation . mutate ( { path : { namespace : namespace || defaultNamespace } , query : { } , body : configMap } ) ,
35+ mutateAsync : ( { configMap, namespace } ) =>
36+ mutation . mutateAsync ( { path : { namespace : namespace || defaultNamespace } , query : { } , body : configMap } ) ,
37+ }
7138}
7239
7340export function useUpdateConfigMap ( ) {
74- const { client, namespace : defaultNamespace } = useKubernetes ( )
75- const queryClient = useQueryClient ( )
76-
77- return useMutation < ConfigMap , Error , { name : string ; configMap : ConfigMap ; namespace ?: string } > ( {
78- mutationFn : async ( { name, configMap, namespace } ) => {
79- const ns = namespace || defaultNamespace
80- const result = await client . replaceCoreV1NamespacedConfigMap ( {
81- path : { namespace : ns , name } ,
82- query : { } ,
83- body : configMap ,
84- } )
85- return result
86- } ,
87- onSuccess : ( _ , variables ) => {
88- const ns = variables . namespace || defaultNamespace
89- queryClient . invalidateQueries ( { queryKey : [ ...CONFIGMAPS_KEY , ns ] } )
90- } ,
91- } )
41+ const { namespace : defaultNamespace } = useKubernetes ( )
42+ const mutation = useReplaceCoreV1NamespacedConfigMap ( )
43+ return {
44+ ...mutation ,
45+ mutate : ( { name, configMap, namespace } ) =>
46+ mutation . mutate ( { path : { namespace : namespace || defaultNamespace , name } , query : { } , body : configMap } ) ,
47+ mutateAsync : ( { name, configMap, namespace } ) =>
48+ mutation . mutateAsync ( { path : { namespace : namespace || defaultNamespace , name } , query : { } , body : configMap } ) ,
49+ }
9250}
9351
9452export function useDeleteConfigMap ( ) {
95- const { client, namespace : defaultNamespace } = useKubernetes ( )
96- const queryClient = useQueryClient ( )
97-
98- return useMutation < void , Error , { name : string ; namespace ?: string } > ( {
99- mutationFn : async ( { name, namespace } ) => {
100- const ns = namespace || defaultNamespace
101- await client . deleteCoreV1NamespacedConfigMap ( {
102- path : { namespace : ns , name } ,
103- query : { } ,
104- } )
105- } ,
106- onSuccess : ( _ , variables ) => {
107- const ns = variables . namespace || defaultNamespace
108- queryClient . invalidateQueries ( { queryKey : [ ...CONFIGMAPS_KEY , ns ] } )
109- } ,
110- } )
53+ const { namespace : defaultNamespace } = useKubernetes ( )
54+ const mutation = useDeleteCoreV1NamespacedConfigMap ( )
55+ return {
56+ ...mutation ,
57+ mutate : ( { name, namespace } ) =>
58+ mutation . mutate ( { path : { namespace : namespace || defaultNamespace , name } , query : { } } ) ,
59+ mutateAsync : ( { name, namespace } ) =>
60+ mutation . mutateAsync ( { path : { namespace : namespace || defaultNamespace , name } , query : { } } ) ,
61+ }
11162}
0 commit comments