pvern/hooks/useNodes.ts
2023-03-21 22:45:56 +01:00

28 lines
592 B
TypeScript

import { useQuery } from "react-query";
import useAuthStore from "../stores/useAuthStore";
export interface ProxmoxNode {
node: string;
status: "unknown" | "online" | "offline";
cpu?: number;
mem?: number;
maxcpu?: number;
maxmem?: number;
uptime?: number;
}
interface GetNodeResp {
data: ProxmoxNode[];
}
export function useNodes() {
const http = useAuthStore((state) => state.http);
return useQuery(
["nodes"],
async () => {
return http.get<GetNodeResp>("/api2/json/nodes");
},
{ select: (data) => data.data.data, refetchInterval: 6000 }
);
}