feat(webapp): import resource UI

This commit is contained in:
Ahmed Bouhuolia
2024-03-19 03:57:57 +02:00
parent 1ba26a3b85
commit ff5730d8a7
37 changed files with 1470 additions and 12 deletions

View File

@@ -0,0 +1,63 @@
// @ts-nocheck
import { useMutation, useQuery, useQueryClient } from 'react-query';
import useApiRequest from '../useRequest';
import { transformToCamelCase } from '@/utils';
/**
*
*/
export function useImportFileUpload(props = {}) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation((values) => apiRequest.post(`import/file`, values), {
onSuccess: (res, id) => {
// Invalidate queries.
},
...props,
});
}
export function useImportFileMapping(props = {}) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
([importId, values]) =>
apiRequest.post(`import/${importId}/mapping`, values),
{
onSuccess: (res, id) => {
// Invalidate queries.
},
...props,
},
);
}
export function useImportFilePreview(importId: string, props = {}) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useQuery(['importPreview', importId], () =>
apiRequest
.get(`import/${importId}/preview`)
.then((res) => transformToCamelCase(res.data)),
);
}
/**
*
*/
export function useImportFileProcess(props = {}) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(importId) => apiRequest.post(`import/${importId}/import`),
{
onSuccess: (res, id) => {
// Invalidate queries.
},
...props,
},
);
}