Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/api/swr/getServerStartup.ts
7461 views
1
import useSWR, { ConfigInterface } from 'swr';
2
import http, { FractalResponseList } from '@/api/http';
3
import { rawDataToServerEggVariable } from '@/api/transformers';
4
import { ServerEggVariable } from '@/api/server/types';
5
6
interface Response {
7
invocation: string;
8
variables: ServerEggVariable[];
9
dockerImages: Record<string, string>;
10
}
11
12
export default (uuid: string, initialData?: Response | null, config?: ConfigInterface<Response>) =>
13
useSWR(
14
[uuid, '/startup'],
15
async (): Promise<Response> => {
16
const { data } = await http.get(`/api/client/servers/${uuid}/startup`);
17
18
const variables = ((data as FractalResponseList).data || []).map(rawDataToServerEggVariable);
19
20
return {
21
variables,
22
invocation: data.meta.startup_command,
23
dockerImages: data.meta.docker_images || {},
24
};
25
},
26
{ initialData: initialData || undefined, errorRetryCount: 3, ...(config || {}) }
27
);
28
29