mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
103 lines
2.9 KiB
TypeScript
103 lines
2.9 KiB
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
* 2.0.
|
|
*/
|
|
|
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
|
|
import { settingsRoutesService } from '../../services';
|
|
import type {
|
|
PutSettingsResponse,
|
|
PutSettingsRequest,
|
|
GetSettingsResponse,
|
|
GetEnrollmentSettingsRequest,
|
|
GetEnrollmentSettingsResponse,
|
|
GetSpaceSettingsResponse,
|
|
} from '../../types';
|
|
|
|
import { API_VERSIONS } from '../../../common/constants';
|
|
|
|
import type { RequestError } from './use_request';
|
|
import { sendRequest, sendRequestForRq, useRequest } from './use_request';
|
|
|
|
export function useGetSettingsQuery(options?: { enabled?: boolean }) {
|
|
return useQuery<GetSettingsResponse, RequestError>({
|
|
queryKey: ['settings'],
|
|
enabled: options?.enabled,
|
|
queryFn: () =>
|
|
sendRequestForRq<GetSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
}),
|
|
});
|
|
}
|
|
|
|
export function useGetSettings() {
|
|
return useRequest<GetSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
});
|
|
}
|
|
|
|
export function useGetSpaceSettings({ enabled }: { enabled?: boolean }) {
|
|
return useQuery<GetSpaceSettingsResponse, RequestError>({
|
|
queryKey: ['space_settings'],
|
|
enabled,
|
|
queryFn: () =>
|
|
sendRequestForRq<GetSpaceSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getSpaceInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
}),
|
|
});
|
|
}
|
|
|
|
export function sendGetSettings() {
|
|
return sendRequest<GetSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
});
|
|
}
|
|
|
|
export function usePutSettingsMutation() {
|
|
const queryClient = useQueryClient();
|
|
|
|
return useMutation({
|
|
mutationFn: sendPutSettings,
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries(['settings']);
|
|
},
|
|
});
|
|
}
|
|
|
|
export function sendPutSettings(body: PutSettingsRequest['body']) {
|
|
return sendRequest<PutSettingsResponse>({
|
|
method: 'put',
|
|
path: settingsRoutesService.getUpdatePath(),
|
|
version: API_VERSIONS.public.v1,
|
|
body,
|
|
});
|
|
}
|
|
|
|
export function useGetEnrollmentSettings(query?: GetEnrollmentSettingsRequest['query']) {
|
|
return useRequest<GetEnrollmentSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getEnrollmentInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
query,
|
|
});
|
|
}
|
|
|
|
export function sendGetEnrollmentSettings(query?: GetEnrollmentSettingsRequest['query']) {
|
|
return sendRequest<GetEnrollmentSettingsResponse>({
|
|
method: 'get',
|
|
path: settingsRoutesService.getEnrollmentInfoPath(),
|
|
version: API_VERSIONS.public.v1,
|
|
query,
|
|
});
|
|
}
|