You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/06/10 09:52:43 UTC
[incubator-dlab] 04/07: Added endpoint to retrieve audit
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch audit
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 2c5c0f7419d3035b92c9531ec35e28a3245c1434
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Jun 9 14:17:53 2020 +0300
Added endpoint to retrieve audit
---
.../src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java | 4 ++++
.../main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java | 7 +++++++
.../main/java/com/epam/dlab/backendapi/domain/AuditDTO.java | 4 ++++
.../java/com/epam/dlab/backendapi/resources/AuditResource.java | 10 +++++++++-
.../java/com/epam/dlab/backendapi/service/AuditService.java | 4 ++++
.../epam/dlab/backendapi/service/impl/AuditServiceImpl.java | 7 +++++++
6 files changed, 35 insertions(+), 1 deletion(-)
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 d757758..3c9d825 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
@@ -21,6 +21,10 @@ package com.epam.dlab.backendapi.dao;
import com.epam.dlab.backendapi.domain.AuditDTO;
+import java.util.List;
+
public interface AuditDAO {
void save(AuditDTO audit);
+
+ List<AuditDTO> getAudit();
}
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 987d947..234011f 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
@@ -21,6 +21,8 @@ package com.epam.dlab.backendapi.dao;
import com.epam.dlab.backendapi.domain.AuditDTO;
+import java.util.List;
+
public class AuditDAOImpl extends BaseDAO implements AuditDAO {
private final static String AUDIT_COLLECTION = "audit";
@@ -28,4 +30,9 @@ public class AuditDAOImpl extends BaseDAO implements AuditDAO {
public void save(AuditDTO audit) {
insertOne(AUDIT_COLLECTION, audit);
}
+
+ @Override
+ public List<AuditDTO> getAudit() {
+ return find(AUDIT_COLLECTION, AuditDTO.class);
+ }
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditDTO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditDTO.java
index 6eb6acf..5af65cd 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditDTO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditDTO.java
@@ -19,16 +19,20 @@
package com.epam.dlab.backendapi.domain;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder;
import lombok.Data;
+import java.util.Date;
import java.util.List;
@Data
@Builder
+@JsonIgnoreProperties(ignoreUnknown = true)
public class AuditDTO {
private final String user;
private final AuditActionEnum action;
private final String resourceName;
private final List<String> info;
+ private Date timestamp;
}
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 f6a2004..3dccb90 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
@@ -27,8 +27,10 @@ import io.dropwizard.auth.Auth;
import javax.validation.Valid;
import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@@ -43,8 +45,14 @@ public class AuditResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
- public Response createEndpoint(@Auth UserInfo userInfo, @Valid AuditCreateDTO auditCreateDTO) {
+ public Response saveAudit(@Auth UserInfo userInfo, @Valid AuditCreateDTO auditCreateDTO) {
auditService.save(userInfo.getName(), auditCreateDTO);
return Response.ok().build();
}
+
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response getAudit(@Auth UserInfo userInfo) {
+ return Response.ok(auditService.getAudit()).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 785c59b..e3cf50c 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
@@ -22,8 +22,12 @@ package com.epam.dlab.backendapi.service;
import com.epam.dlab.backendapi.domain.AuditCreateDTO;
import com.epam.dlab.backendapi.domain.AuditDTO;
+import java.util.List;
+
public interface AuditService {
void save(AuditDTO audit);
void save(String user, AuditCreateDTO audit);
+
+ List<AuditDTO> getAudit();
}
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 d35e00f..c2d17e0 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
@@ -26,6 +26,8 @@ import com.epam.dlab.backendapi.domain.AuditDTO;
import com.epam.dlab.backendapi.service.AuditService;
import com.google.inject.Inject;
+import java.util.List;
+
public class AuditServiceImpl implements AuditService {
private final AuditDAO auditDAO;
@@ -50,4 +52,9 @@ public class AuditServiceImpl implements AuditService {
auditDAO.save(auditDTO);
}
+
+ @Override
+ public List<AuditDTO> getAudit() {
+ return auditDAO.getAudit();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org