From c6dacf988e766ab224a2cd754246c40dc85074a9 Mon Sep 17 00:00:00 2001 From: Yury Brigadirenko Date: Tue, 19 Nov 2024 08:21:11 -0500 Subject: [PATCH] server: fix process card createOrUpdate (#1039) Co-authored-by: Ivan Bodrov --- .../concord/server/console/ProcessCardManager.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/console/ProcessCardManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/console/ProcessCardManager.java index 9082cf6ed4..327260033d 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/console/ProcessCardManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/console/ProcessCardManager.java @@ -9,9 +9,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -95,14 +95,20 @@ public List listUserCards(UUID userId) { } public ProcessCardOperationResponse createOrUpdate(UUID id, UUID projectId, UUID repoId, String name, Optional entryPoint, String description, InputStream icon, InputStream form, Map data) { + boolean exists; if (id == null) { if (projectId == null) { throw new ConcordApplicationException("projectId or projectName is required"); } + if (name == null) { + throw new ConcordApplicationException("name is required"); + } id = dao.getIdByName(projectId, name).orElse(null); + exists = id != null; + } else { + exists = dao.get(id) != null; } - boolean exists = id != null; if (!exists) { UUID resultId = dao.insert(id, projectId, repoId, name, entryPoint.orElse(Constants.Request.DEFAULT_ENTRY_POINT_NAME), description, icon, form, data); return new ProcessCardOperationResponse(resultId, OperationResult.CREATED);