added resource-types filter
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java index edc1f50..cd7b086 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java
@@ -27,5 +27,5 @@ public interface AuditDAO { void save(AuditDTO audit); - List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, String dateStart, String dateEnd, int pageNumber, int pageSize); + List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, List<String> resourceTypes, String dateStart, String dateEnd, int pageNumber, int pageSize); }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java index cde9380..6ae8cbf 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java
@@ -73,11 +73,11 @@ } @Override - public List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, String dateStart, String dateEnd, + public List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, List<String> resourceTypes, String dateStart, String dateEnd, int pageNumber, int pageSize) { List<Bson> valuesPipeline = new ArrayList<>(); List<Bson> countPipeline = new ArrayList<>(); - List<Bson> matchCriteria = matchCriteria(users, projects, resourceNames, dateStart, dateEnd); + List<Bson> matchCriteria = matchCriteria(users, projects, resourceNames, resourceTypes, dateStart, dateEnd); if (!matchCriteria.isEmpty()) { Bson match = match(Filters.and(matchCriteria)); valuesPipeline.add(match); @@ -99,11 +99,12 @@ .collect(Collectors.toList()); } - private List<Bson> matchCriteria(List<String> users, List<String> projects, List<String> resourceNames, String dateStart, String dateEnd) { + private List<Bson> matchCriteria(List<String> users, List<String> projects, List<String> resourceNames, List<String> resourceTypes, String dateStart, String dateEnd) { List<Bson> searchCriteria = new ArrayList<>(); inCriteria(searchCriteria, users, USER); inCriteria(searchCriteria, projects, PROJECT); inCriteria(searchCriteria, resourceNames, RESOURCE_NAME_FIELD); + inCriteria(searchCriteria, resourceTypes, RESOURCE_TYPE_FIELD); if (StringUtils.isNotEmpty(dateStart)) { Instant from = getInstant(dateStart); searchCriteria.add(gte(TIMESTAMP_FIELD, from));
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java index c08350e..188f80d 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java
@@ -58,12 +58,13 @@ @QueryParam("users") StringList users, @QueryParam("projects") StringList projects, @QueryParam("resource-names") StringList resourceNames, + @QueryParam("resource-types") StringList resourceTypes, @QueryParam("date-start") String dateStart, @QueryParam("date-end") String dateEnd, @QueryParam("page-number") int pageNumber, @QueryParam("page-size") int pageSize) { return Response - .ok(auditService.getAudit(users, projects, resourceNames, dateStart, dateEnd, pageNumber, pageSize)) + .ok(auditService.getAudit(users, projects, resourceNames, resourceTypes, dateStart, dateEnd, pageNumber, pageSize)) .build(); } }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java index 8ea9afd..81bbec7 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java
@@ -30,5 +30,5 @@ void save(String user, AuditCreateDTO audit); - List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, String dateStart, String dateEnd, int pageNumber, int pageSize); + List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, List<String> resourceTypes, String dateStart, String dateEnd, int pageNumber, int pageSize); }
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java index 6c86411..0e7aebc 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java
@@ -57,7 +57,8 @@ } @Override - public List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, String dateStart, String dateEnd, int pageNumber, int pageSize) { - return auditDAO.getAudit(users, projects, resourceNames, dateStart, dateEnd, pageNumber, pageSize); + public List<AuditPaginationDTO> getAudit(List<String> users, List<String> projects, List<String> resourceNames, List<String> resourceTypes, + String dateStart, String dateEnd, int pageNumber, int pageSize) { + return auditDAO.getAudit(users, projects, resourceNames, resourceTypes, dateStart, dateEnd, pageNumber, pageSize); } }