gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/hosts/services/hosts.query.ts · v0.3.0-alpha
Source
1 3b7feef Mrdn 2y ago import { HostType } from "@marzneshin/features/hosts";
2 3b7feef Mrdn 2y ago import { useQuery } from "@tanstack/react-query";
3 3b7feef Mrdn 2y ago import { fetch } from "@marzneshin/utils";
4 3b7feef Mrdn 2y ago
5 3b7feef Mrdn 2y ago export async function fetchHosts({ queryKey }: { queryKey: [string, number | undefined] }): Promise<HostType[]> {
6 3b7feef Mrdn 2y ago if (queryKey[1]) {
7 3b7feef Mrdn 2y ago return fetch(`/inbounds/${queryKey[1]}/hosts`).then((result) => {
8 3b7feef Mrdn 2y ago return result.items;
9 3b7feef Mrdn 2y ago });
10 3b7feef Mrdn 2y ago } else {
11 3b7feef Mrdn 2y ago return fetch(`/inbounds/hosts`).then((result) => {
12 3b7feef Mrdn 2y ago return result.items;
13 3b7feef Mrdn 2y ago });
14 3b7feef Mrdn 2y ago }
15 3b7feef Mrdn 2y ago }
16 3b7feef Mrdn 2y ago
17 3b7feef Mrdn 2y ago export const HostsQueryFetchKey = "hosts";
18 3b7feef Mrdn 2y ago
19 3b7feef Mrdn 2y ago export const useHostsQuery = (inboundId?: number | undefined) => {
20 3b7feef Mrdn 2y ago return useQuery({
21 3b7feef Mrdn 2y ago queryKey: [HostsQueryFetchKey, inboundId],
22 3b7feef Mrdn 2y ago queryFn: fetchHosts,
23 3b7feef Mrdn 2y ago initialData: []
24 3b7feef Mrdn 2y ago })
25 3b7feef Mrdn 2y ago }