From 9d1757dba6d943dea684e8c244e9746df38f4937 Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Sun, 5 Nov 2023 21:41:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Node.js=20=E8=BF=90=E8=A1=8C=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=A4=96=E9=83=A8=E6=98=A0=E5=B0=84=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C=20(#2808)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/service/runtime.go | 10 ++++++++++ .../src/views/website/runtime/node/operate/index.vue | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/app/service/runtime.go b/backend/app/service/runtime.go index dc2636c13..248bbf4f4 100644 --- a/backend/app/service/runtime.go +++ b/backend/app/service/runtime.go @@ -87,6 +87,11 @@ func (r *RuntimeService) Create(create request.RuntimeCreate) (err error) { if err = checkPortExist(create.Port); err != nil { return err } + for _, export := range create.ExposedPorts { + if err = checkPortExist(export.HostPort); err != nil { + return err + } + } if containerName, ok := create.Params["CONTAINER_NAME"]; ok { if err := checkContainerName(containerName.(string)); err != nil { return err @@ -342,6 +347,11 @@ func (r *RuntimeService) Update(req request.RuntimeUpdate) error { } runtime.Port = req.Port } + for _, export := range req.ExposedPorts { + if err = checkPortExist(export.HostPort); err != nil { + return err + } + } if containerName, ok := req.Params["CONTAINER_NAME"]; ok { envs, err := gotenv.Unmarshal(runtime.Env) if err != nil { diff --git a/frontend/src/views/website/runtime/node/operate/index.vue b/frontend/src/views/website/runtime/node/operate/index.vue index 96cba9b9c..5f8dfdb2d 100644 --- a/frontend/src/views/website/runtime/node/operate/index.vue +++ b/frontend/src/views/website/runtime/node/operate/index.vue @@ -256,7 +256,6 @@ const rules = ref<any>({ HOST_IP: [Rules.requiredSelect], EXEC_SCRIPT: [Rules.requiredSelect], CONTAINER_NAME: [Rules.requiredInput, Rules.containerName], - CUSTOM_SCRIPT: [Rules.requiredInput], }, }); const scripts = ref<Runtime.NodeScripts[]>([]); @@ -456,7 +455,8 @@ const getRuntime = async (id: number) => { runtime.exposedPorts = data.exposedPorts || []; editParams.value = data.appParams; searchApp(data.appID); - if (data.params['CUSTOM_SCRIPT'] == '0') { + if (data.params['CUSTOM_SCRIPT'] == undefined || data.params['CUSTOM_SCRIPT'] == '0') { + data.params['CUSTOM_SCRIPT'] = '0'; getScripts(); } open.value = true;