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; }