test(services): testing remove restart and stop

This commit is contained in:
2025-04-02 21:24:23 -05:00
parent b2683d0429
commit 3355eb389c
7 changed files with 162 additions and 56 deletions

View File

@@ -125,7 +125,9 @@ export default function ServerPage() {
token={token as string}
/>
<StartServer />
<StopServer />
<StopServer
plantData={server}
/>
<RestartServer />
</div>
)}

View File

@@ -1,14 +1,46 @@
import {Button} from "@/components/ui/button";
import {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from "@/components/ui/tooltip";
import {Octagon} from "lucide-react";
import { Button } from "@/components/ui/button";
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
import axios from "axios";
import { Octagon } from "lucide-react";
export default function StopServer() {
export default function StopServer(plantData: any) {
const token = localStorage.getItem("auth_token");
const handleStopServer = async (plant: string) => {
let data: any = {
processType: "stop",
plantToken: plant,
};
const url: string = window.location.host.split(":")[0];
if (url === "localhost") {
data = { ...data, remote: "true" };
}
try {
const res = await axios.post("/api/server/serviceprocess", data, {
headers: { Authorization: `Bearer ${token}` },
});
console.log(res);
} catch (error) {
console.log(error);
}
};
return (
<div>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button variant={"outline"} size={"icon"}>
<Button
variant="destructive"
size={"icon"}
onClick={() =>
handleStopServer(plantData.plantToken)
}
>
<Octagon />
</Button>
</TooltipTrigger>

View File

@@ -1,23 +1,34 @@
import {Button} from "@/components/ui/button";
import {CircleFadingArrowUp} from "lucide-react";
import {toast} from "sonner";
import {Servers} from "./ServerPage";
import {useQuery} from "@tanstack/react-query";
import {getSettings} from "@/utils/querys/settings";
import { Button } from "@/components/ui/button";
import { CircleFadingArrowUp } from "lucide-react";
import { toast } from "sonner";
import { Servers } from "./ServerPage";
import { useQuery } from "@tanstack/react-query";
import { getSettings } from "@/utils/querys/settings";
import axios from "axios";
import {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from "@/components/ui/tooltip";
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
export default function UpdateServer({server, token}: {server: Servers; token: string}) {
const {data} = useQuery(getSettings(token ?? ""));
export default function UpdateServer({
server,
token,
}: {
server: Servers;
token: string;
}) {
const { data } = useQuery(getSettings(token ?? ""));
const upgrade = async () => {
let devDir = data.filter((n: any) => n.name === "devDir");
toast.success("Server being upgraded in the background please wait.");
try {
const result = await axios.post(
`/api/server/update/${server.plantToken}`,
{devDir: devDir[0].value},
{ devDir: devDir[0].value },
{
headers: {Authorization: `Bearer ${token}`},
headers: { Authorization: `Bearer ${token}` },
}
);
@@ -29,7 +40,9 @@ export default function UpdateServer({server, token}: {server: Servers; token: s
toast.success(result.data.message);
}
} catch (error: any) {
toast.error(`There was an error updating the server: ${error.data.message}`);
toast.error(
`There was an error updating the server: ${error.data.message}`
);
}
};
return (
@@ -37,7 +50,12 @@ export default function UpdateServer({server, token}: {server: Servers; token: s
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button variant={"outline"} size={"icon"} onClick={upgrade} disabled={server.isUpgrading}>
<Button
variant={`${server.isUpgrading ? "ghost" : "outline"}`}
size={"icon"}
onClick={upgrade}
disabled={server.isUpgrading}
>
<CircleFadingArrowUp />
</Button>
</TooltipTrigger>