26 lines
742 B
TypeScript
26 lines
742 B
TypeScript
import type { RequestTransTax, ResponseTransTax } from './types';
|
|
import getUrls from '@/config/urls';
|
|
import type { QueryFunctionContext } from '@tanstack/react-query';
|
|
import type { AxiosError } from 'axios';
|
|
import axios from 'axios';
|
|
|
|
const { URL_1C_TRANSTAX } = getUrls();
|
|
|
|
export function getTransTax(payload: RequestTransTax, { signal }: QueryFunctionContext) {
|
|
return axios
|
|
.post<ResponseTransTax>(URL_1C_TRANSTAX, payload, { signal })
|
|
.then(({ data }) => {
|
|
if (data.error) {
|
|
throw new Error(data.error);
|
|
}
|
|
|
|
return data;
|
|
})
|
|
.catch((error: AxiosError | Error) => {
|
|
if (axios.isAxiosError(error)) {
|
|
// TODO: track error
|
|
throw new Error(error.message);
|
|
}
|
|
});
|
|
}
|