From 824c308c3747e2652935ad04dab22e24fd40a4c7 Mon Sep 17 00:00:00 2001 From: Florinda Date: Mon, 18 Nov 2024 11:23:23 +0100 Subject: [PATCH] exec list filter by proj/app --- .../repository/ScenarioExecutionRepository.java | 14 ++++++++++++++ .../services/ScenarioExecutionService.java | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/olympus/hermione/repository/ScenarioExecutionRepository.java b/src/main/java/com/olympus/hermione/repository/ScenarioExecutionRepository.java index f6f7615..60ba589 100644 --- a/src/main/java/com/olympus/hermione/repository/ScenarioExecutionRepository.java +++ b/src/main/java/com/olympus/hermione/repository/ScenarioExecutionRepository.java @@ -3,6 +3,7 @@ package com.olympus.hermione.repository; import java.util.List; import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; import org.springframework.stereotype.Repository; import com.olympus.hermione.models.ScenarioExecution; @@ -13,6 +14,19 @@ public interface ScenarioExecutionRepository extends MongoRepository findByExecutedByUserIdOrderByStartDateDesc(String userId); + @Query("{ 'scenarioExecutionInput.inputs.?0': ?1 }") + List findByInputKeyAndValue(String key, String value); + + @Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }, { 'scenarioExecutionInput.inputs.selected_application': ?2 } ] }") + List findByExecutedByUserIdAndInputs(String userId, String selectedProject, String selectedApplication); + + @Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }, { 'scenarioExecutionInput.inputs.selected_application': ?2 } ] }") + List findByExecutedByUserIdAndInputsOrderByStartDateDesc(String userId, String value1, String value2); + + @Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }") + List findByExecutedByUserIdAndSingleInputOrderByStartDateDesc(String userId, String value1); + + } diff --git a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java index 087497c..05a421d 100644 --- a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java +++ b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java @@ -349,8 +349,13 @@ public class ScenarioExecutionService { User principal = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - lstScenarioExecution = scenarioExecutionRepository.findByExecutedByUserIdOrderByStartDateDesc(principal.getId()); + if(principal.getSelectedApplication()!=null){ + lstScenarioExecution = scenarioExecutionRepository.findByExecutedByUserIdAndInputsOrderByStartDateDesc(principal.getId(), principal.getSelectedProject().getInternal_name(), principal.getSelectedApplication().getInternal_name()); + }else{ + lstScenarioExecution = scenarioExecutionRepository.findByExecutedByUserIdAndInputsOrderByStartDateDesc(principal.getId(), principal.getSelectedProject().getInternal_name(), null); + } + return lstScenarioExecution; }