2023-07-30 07:11:26 +00:00
|
|
|
import { useState } from 'react';
|
2023-06-15 10:27:41 +00:00
|
|
|
import useApi from './useApi';
|
2023-12-03 11:07:03 +00:00
|
|
|
import useFilterQuery from 'components/hooks/useFilterQuery';
|
2023-06-15 10:27:41 +00:00
|
|
|
|
2023-12-03 11:07:03 +00:00
|
|
|
export function useReports(websiteId?: string) {
|
2023-07-30 07:11:26 +00:00
|
|
|
const [modified, setModified] = useState(Date.now());
|
2023-12-03 11:07:03 +00:00
|
|
|
const { get, del, useMutation } = useApi();
|
|
|
|
|
const { mutate } = useMutation({ mutationFn: (reportId: string) => del(`/reports/${reportId}`) });
|
|
|
|
|
const queryResult = useFilterQuery({
|
|
|
|
|
queryKey: ['reports', { websiteId, modified }],
|
|
|
|
|
queryFn: (params: any) => {
|
|
|
|
|
return get(websiteId ? `/websites/${websiteId}/reports` : `/reports`, params);
|
|
|
|
|
},
|
2023-12-02 04:27:59 +00:00
|
|
|
});
|
2023-06-15 10:27:41 +00:00
|
|
|
|
2023-12-03 11:07:03 +00:00
|
|
|
const deleteReport = (id: any) => {
|
2023-07-30 07:11:26 +00:00
|
|
|
mutate(id, {
|
|
|
|
|
onSuccess: () => {
|
|
|
|
|
setModified(Date.now());
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2023-08-10 20:26:33 +00:00
|
|
|
return {
|
2023-12-03 11:07:03 +00:00
|
|
|
...queryResult,
|
2023-08-10 20:26:33 +00:00
|
|
|
deleteReport,
|
|
|
|
|
};
|
2023-06-15 10:27:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default useReports;
|