From e31d8829f329ab36910f0765562b308bd2750df7 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Thu, 15 Feb 2024 19:48:50 +0100 Subject: [PATCH] Implemented version checking in the MigrateVersionDialog.jsx --- .../ServerMenu/dialogs/MigrateVersionDialog.jsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx b/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx index 224b228..79fb5c5 100644 --- a/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx +++ b/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx @@ -9,22 +9,32 @@ import { Stack } from "@mui/material"; import {t} from "i18next"; -import {patchRequest} from "@/common/utils/RequestUtil.js"; +import {patchRequest, request} from "@/common/utils/RequestUtil.js"; import {useContext, useState} from "react"; import {ServerContext} from "@/common/contexts/Server"; import SpigotImage from "@/common/assets/software/spigot.webp"; import PaperImage from "@/common/assets/software/paper.webp"; import PurpurImage from "@/common/assets/software/purpur.webp"; +import {VersionContext} from "@/common/contexts/Version/index.js"; export default ({open, setOpen, uuid, setAlert, currentSoftware, currentVersion}) => { + const versions = useContext(VersionContext); const {updateServer} = useContext(ServerContext); const [serverSoftware, setServerSoftware] = useState(currentSoftware); const [serverVersion, setServerVersion] = useState(currentVersion); const migrateVersion = async () => { + const {valid} = await (await request("check_version?version=" + serverVersion + "&software=" + serverSoftware, "GET", {}, {}, false)).json(); + + if (!valid) { + setAlert({severity: "error", message: t("server.creation.error.not_supported", {software: serverSoftware})}); + return; + } + setOpen(false); + await patchRequest("server/", {uuid, type: serverSoftware, version: serverVersion}); updateServer(); setAlert({severity: "success", message: t("server.dialog.migrate.success")}); @@ -61,7 +71,7 @@ export default ({open, setOpen, uuid, setAlert, currentSoftware, currentVersion}