mirror of
https://github.com/portainer/portainer.git
synced 2025-07-22 06:49:40 +02:00
33 lines
897 B
TypeScript
33 lines
897 B
TypeScript
|
import { useQuery } from '@tanstack/react-query';
|
||
|
|
||
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||
|
import { withGlobalError } from '@/react-tools/react-query';
|
||
|
|
||
|
import { Chart } from '../../types';
|
||
|
|
||
|
async function getHelmChartValues(chart: string, repo: string) {
|
||
|
try {
|
||
|
const response = await axios.get<string>(`/templates/helm/values`, {
|
||
|
params: {
|
||
|
repo,
|
||
|
chart,
|
||
|
},
|
||
|
});
|
||
|
return response.data;
|
||
|
} catch (err) {
|
||
|
throw parseAxiosError(err as Error, 'Unable to get Helm chart values');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export function useHelmChartValues(chart: Chart) {
|
||
|
return useQuery({
|
||
|
queryKey: ['helm-chart-values', chart.repo, chart.name],
|
||
|
queryFn: () => getHelmChartValues(chart.name, chart.repo),
|
||
|
enabled: !!chart.name,
|
||
|
select: (data) => ({
|
||
|
values: data,
|
||
|
}),
|
||
|
...withGlobalError('Unable to get Helm chart values'),
|
||
|
});
|
||
|
}
|