From bca847623a2c821c184d42fcf165c6fc5b8059e6 Mon Sep 17 00:00:00 2001 From: jingyang <72259332+zjy365@users.noreply.github.com> Date: Fri, 10 May 2024 17:15:58 +0800 Subject: [PATCH] fix:launchpad checkNetworkPorts (#4724) Signed-off-by: jingyang <3161362058@qq.com> --- .../pages/app/detail/components/AppMainInfo.tsx | 4 ++-- .../applaunchpad/src/pages/app/edit/index.tsx | 15 +++++++++++---- .../providers/applaunchpad/src/utils/adapt.ts | 4 +++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx index b985e4156..1fa4ef201 100644 --- a/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/detail/components/AppMainInfo.tsx @@ -109,9 +109,9 @@ const AppMainInfo = ({ app = MOCK_APP_DETAIL }: { app: AppDetailType }) => { - {networks.map((network) => { + {networks.map((network, index) => { return ( - + diff --git a/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx b/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx index bf377d797..405c9b387 100644 --- a/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx +++ b/frontend/providers/applaunchpad/src/pages/app/edit/index.tsx @@ -265,6 +265,7 @@ const EditApp = ({ appName, tabType }: { appName?: string; tabType: string }) => setDefaultGpuSource(res.gpu); formHook.reset(adaptEditAppData(res)); setAlready(true); + setYamlList(formData2Yamls(realTimeForm.current)); }, onError(err) { toast({ @@ -388,10 +389,16 @@ export async function getServerSideProps(content: any) { export default EditApp; function checkNetworkPorts(networks: AppEditType['networks']) { - const ports = networks.map((item) => item.port); - const portSet = new Set(ports); - if (portSet.size !== ports.length) { - return false; + const portProtocolSet = new Set(); + + for (const network of networks) { + const { port, protocol } = network; + const key = `${port}-${protocol}`; + if (portProtocolSet.has(key)) { + return false; + } + portProtocolSet.add(key); } + return true; } diff --git a/frontend/providers/applaunchpad/src/utils/adapt.ts b/frontend/providers/applaunchpad/src/utils/adapt.ts index 650785f85..ac55ebbea 100644 --- a/frontend/providers/applaunchpad/src/utils/adapt.ts +++ b/frontend/providers/applaunchpad/src/utils/adapt.ts @@ -271,7 +271,9 @@ export const adaptAppDetail = (configs: DeployKindsType[]): AppDetailType => { protocol: (ingress?.metadata?.annotations?.[ 'nginx.ingress.kubernetes.io/backend-protocol' - ] as AppEditType['networks'][0]['protocol']) || 'HTTP', + ] as AppEditType['networks'][0]['protocol']) || + item?.protocol || + 'HTTP', openPublicDomain: !!ingress, ...(domain.endsWith(SEALOS_DOMAIN) ? {