43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import type { ResponseQueries } from './types';
|
|
import getUrls from '@/config/urls';
|
|
import { withHandleError } from '@/utils/axios';
|
|
import axios from 'axios';
|
|
|
|
const {
|
|
URL_CACHE_GET_QUERIES,
|
|
URL_CACHE_DELETE_QUERY,
|
|
URL_CACHE_RESET_QUERIES,
|
|
URL_CACHE_GET_QUERY,
|
|
} = getUrls();
|
|
|
|
export function getQueries({ signal }: { signal: AbortSignal }) {
|
|
return withHandleError(axios.get<ResponseQueries>(URL_CACHE_GET_QUERIES, { signal })).then(
|
|
({ data }) => data
|
|
);
|
|
}
|
|
|
|
export function deleteQuery(queryKey: string) {
|
|
return withHandleError(
|
|
axios.delete(URL_CACHE_DELETE_QUERY, {
|
|
params: {
|
|
queryKey,
|
|
},
|
|
})
|
|
).then(({ data }) => data);
|
|
}
|
|
|
|
export function reset() {
|
|
return withHandleError(axios.delete(URL_CACHE_RESET_QUERIES)).then(({ data }) => data);
|
|
}
|
|
|
|
export function getQueryValue(queryKey: string, { signal }: { signal: AbortSignal }) {
|
|
return withHandleError(
|
|
axios.get<object>(URL_CACHE_GET_QUERY, {
|
|
params: {
|
|
queryKey,
|
|
},
|
|
signal,
|
|
})
|
|
).then(({ data }) => data);
|
|
}
|