Files
Homarr/src/tools/hooks/api.ts

40 lines
1.0 KiB
TypeScript
Raw Normal View History

2022-08-25 21:07:41 +02:00
import { useQuery } from '@tanstack/react-query';
import axios from 'axios';
2022-08-26 10:46:34 +02:00
import { UsenetQueueRequestParams, UsenetQueueResponse } from '../../pages/api/modules/usenet';
import {
UsenetHistoryRequestParams,
UsenetHistoryResponse,
} from '../../pages/api/modules/usenet/history';
2022-08-25 21:07:41 +02:00
2022-08-26 10:46:34 +02:00
export const useGetUsenetDownloads = (params: UsenetQueueRequestParams) =>
2022-08-25 21:07:41 +02:00
useQuery(
2022-08-26 10:46:34 +02:00
['usenetDownloads', ...Object.values(params)],
async () =>
(
await axios.get<UsenetQueueResponse>('/api/modules/usenet', {
params,
})
).data,
2022-08-25 21:07:41 +02:00
{
refetchInterval: 1000,
2022-08-26 10:46:34 +02:00
keepPreviousData: true,
2022-08-26 11:10:40 +02:00
retry: 2,
2022-08-25 21:07:41 +02:00
}
);
2022-08-26 10:46:34 +02:00
export const useGetUsenetHistory = (params: UsenetHistoryRequestParams) =>
2022-08-25 21:07:41 +02:00
useQuery(
2022-08-26 10:46:34 +02:00
['usenetHistory', ...Object.values(params)],
async () =>
(
await axios.get<UsenetHistoryResponse>('/api/modules/usenet/history', {
params,
})
).data,
2022-08-25 21:07:41 +02:00
{
refetchInterval: 1000,
2022-08-26 10:46:34 +02:00
keepPreviousData: true,
2022-08-26 11:10:40 +02:00
retry: 2,
2022-08-25 21:07:41 +02:00
}
);