From fc78d03cc435bb3199dba0174da5fc0ec401b2ac Mon Sep 17 00:00:00 2001 From: Nahuel Date: Fri, 10 Feb 2023 17:40:07 +0100 Subject: [PATCH] Check if user is bot before updateOrCreate bot user (#10178) --- .../openmetadata/service/resources/teams/UserResource.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/teams/UserResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/teams/UserResource.java index 60f9aa2501c..eba2cc338b5 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/teams/UserResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/teams/UserResource.java @@ -1138,7 +1138,9 @@ public class UserResource extends EntityResource { String botName = create.getBotName(); EntityInterface bot = retrieveBot(botName); // check if the bot user exists - if (!botHasRelationshipWithUser(bot, original) + if (original != null && (original.getIsBot() == null || Boolean.FALSE.equals(original.getIsBot()))) { + throw new IllegalArgumentException(String.format("User [%s] already exists.", original.getName())); + } else if (!botHasRelationshipWithUser(bot, original) && original != null && userHasRelationshipWithAnyBot(original, bot)) { // throw an exception if user already has a relationship with a bot