exec list filter by proj/app

This commit is contained in:
Florinda
2024-11-18 11:23:23 +01:00
parent db92b5d2dd
commit 824c308c37
2 changed files with 20 additions and 1 deletions

View File

@@ -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<ScenarioExe
List<ScenarioExecution> findByExecutedByUserIdOrderByStartDateDesc(String userId);
@Query("{ 'scenarioExecutionInput.inputs.?0': ?1 }")
List<ScenarioExecution> findByInputKeyAndValue(String key, String value);
@Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }, { 'scenarioExecutionInput.inputs.selected_application': ?2 } ] }")
List<ScenarioExecution> findByExecutedByUserIdAndInputs(String userId, String selectedProject, String selectedApplication);
@Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }, { 'scenarioExecutionInput.inputs.selected_application': ?2 } ] }")
List<ScenarioExecution> findByExecutedByUserIdAndInputsOrderByStartDateDesc(String userId, String value1, String value2);
@Query("{ $and: [ { 'executedByUserId': ?0 }, { 'scenarioExecutionInput.inputs.selected_project': ?1 }")
List<ScenarioExecution> findByExecutedByUserIdAndSingleInputOrderByStartDateDesc(String userId, String value1);
}

View File

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