From 5a8fd41df09511068868662ec943705fa7ad444b Mon Sep 17 00:00:00 2001 From: Emanuele Ferrelli Date: Thu, 6 Mar 2025 13:02:34 +0100 Subject: [PATCH] Hide sensitive information in scenario debug output --- .../controllers/ScenarioController.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/olympus/hermione/controllers/ScenarioController.java b/src/main/java/com/olympus/hermione/controllers/ScenarioController.java index 9744fb6..99c7386 100644 --- a/src/main/java/com/olympus/hermione/controllers/ScenarioController.java +++ b/src/main/java/com/olympus/hermione/controllers/ScenarioController.java @@ -88,16 +88,32 @@ public class ScenarioController { @GetMapping("/scenarios/getExecutionProgress/{id}") public ScenarioOutput getExecutionProgress(@PathVariable String id) { return scenarioExecutionService.getExecutionProgress(id); - } - + } - @GetMapping("/scenarios/execute/{id}") - public ScenarioExecution getScenarioExecution(@PathVariable String id) { - return scenarioExecutionRepository.findById(id).get(); - } + @GetMapping("/scenarios/execute/{id}") + public ScenarioExecution getScenarioExecution(@PathVariable String id) { + ScenarioExecution scenarioExecution = scenarioExecutionRepository.findById(id).get(); + String apiKey = scenarioExecution.getScenario().getAiModel().getApiKey(); + String endpoint = scenarioExecution.getScenario().getAiModel().getEndpoint(); + List availableForProject = scenarioExecution.getScenario().getAvailableForProjects(); + List availableForApplication = scenarioExecution.getScenario().getAvailableForApplications(); + if (apiKey != null) { + scenarioExecution.getScenario().getAiModel().setApiKey("**********"); + } + if (endpoint != null) { + scenarioExecution.getScenario().getAiModel().setEndpoint("**********"); + } + if (availableForProject != null) { + scenarioExecution.getScenario().setAvailableForProjects(null); + } + if (availableForApplication != null) { + scenarioExecution.getScenario().setAvailableForApplications(null); + } + return scenarioExecution; + } - @GetMapping("/scenariosByUser") - public List getScenarioByUser() { + @GetMapping("/scenariosByUser") + public List getScenarioByUser() { return scenarioExecutionService.getListExecutionScenarioByUser(); }