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