diff --git a/lib/clientActions.ts b/lib/clientActions.ts new file mode 100644 index 0000000..e38681d --- /dev/null +++ b/lib/clientActions.ts @@ -0,0 +1,70 @@ +import useSWR from "swr"; + +export async function useConfig() { + const { data, error, isLoading } = useSWR('/api/caddy/servers', fetcher, { + refreshInterval: 1000, + }); + return { + data, + error, + isLoading, + } + } + + export async function useServer() { + const { data, error, isLoading } = useSWR('/api/caddy/servers', fetcher, { + refreshInterval: 1000, + }); + + return { + data, + error, + isLoading, + } + } + + export async function useUpstreamRoutes(route: Route) { + const { data, error, isLoading } = useSWR('http://192.168.1.69:2019/reverse_proxy/upstreams', fetcher, { + refreshInterval: 1000, + }); + + return { + data, + error, + isLoading, + + } + } + + export function useRoutes() { + const { data, error, isLoading } = useSWR('/api/caddy/routes', fetcher, { + refreshInterval: 1000, + }); + + return { + data, + error, + isLoading, + } + } + + export function deleteRoute(url: any, { arg }: { arg: Route }) { + return fetch(url, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + }, + cache: 'no-cache', + body: JSON.stringify(arg) + }).then((res) => res.json()); + } + + + export default async function fetcher( + input: RequestInfo, + init?: RequestInit + ): Promise { + const res = await fetch(input, init) + return res.json() + } + \ No newline at end of file