diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java index 23d5d0ab766..cbb90bf9923 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java @@ -75,7 +75,7 @@ public class AppRepository extends EntityRepository { User botUser; Bot bot; try { - botUser = userRepository.findByName(botName, Include.NON_DELETED); + botUser = userRepository.getByName(null, botName, userRepository.getFields("id")); } catch (EntityNotFoundException ex) { // Get Bot Role EntityReference roleRef = diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/UserRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/UserRepository.java index 84f20bf36e8..7389866ce27 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/UserRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/UserRepository.java @@ -63,6 +63,7 @@ import org.openmetadata.service.resources.teams.UserResource; import org.openmetadata.service.secrets.SecretsManager; import org.openmetadata.service.secrets.SecretsManagerFactory; import org.openmetadata.service.security.SecurityUtil; +import org.openmetadata.service.security.auth.BotTokenCache; import org.openmetadata.service.security.policyevaluator.SubjectContext; import org.openmetadata.service.util.EntityUtil; import org.openmetadata.service.util.EntityUtil.Fields; @@ -509,6 +510,14 @@ public class UserRepository extends EntityRepository { } } + @Override + protected void postDelete(User entity) { + // If the User is bot it's token needs to be invalidated + if (Boolean.TRUE.equals(entity.getIsBot())) { + BotTokenCache.invalidateToken(entity.getName()); + } + } + /** Handles entity updated from PUT and POST operation. */ public class UserUpdater extends EntityUpdater { public UserUpdater(User original, User updated, Operation operation) {