SECARSP-306 *Implement AuditTrail APIs for Dashboard: *Get device audit reports:...
authorm.dalakov <m.dalakov@samsung.com>
Fri, 6 Apr 2018 08:36:07 +0000 (11:36 +0300)
committerm.dalakov <m.dalakov@samsung.com>
Fri, 6 Apr 2018 08:36:35 +0000 (11:36 +0300)
server/samserver/src/main/java/com/samsung/samserver/config/MicroserviceSecurityConfiguration.java
server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/IRestDashboard.java
server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/IRestSharing.java [new file with mode: 0644]
server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/impl/RestDashboard.java
server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/impl/RestSharing.java [new file with mode: 0644]
server/samserver/src/main/java/com/samsung/samserver/web/rest/service/ui/GetDeviceReportsRestService.java

index be7eec4..e8fa01f 100644 (file)
@@ -76,6 +76,7 @@ public class MicroserviceSecurityConfiguration extends WebSecurityConfigurerAdap
             .antMatchers("/test/**")
             .antMatchers("/h2-console/**")
             .antMatchers("/api/device-service/**")
+            .antMatchers("/audit/reports/**")
         ;
     }
 
index 5d5562e..d607caa 100644 (file)
@@ -13,7 +13,6 @@ import org.springframework.data.web.PageableDefault;
 import org.springframework.http.*;
 import org.springframework.web.bind.annotation.*;
 import io.swagger.annotations.*;
-import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.List;
@@ -216,20 +215,4 @@ public interface IRestDashboard {
             @ApiParam(value = "to", required = true) @RequestParam(value = "to") Integer to
     ) throws IOException;
 
-
-    /*
-     * Load reports data
-     */
-    @ApiOperation(value = "load reports data", notes = "The “load reports data” operation is used to obtain reports data.")
-    @ApiResponses(value = {
-            @ApiResponse(code = 200, message = "OK. Request executed successfully."),
-            @ApiResponse(code = 400, message = "Bad Request. The reason is contained in the tags “errorKey”, “message”, “title”"),
-            @ApiResponse(code = 500, message = "Internal server error. The user has to repeat action.")
-    })
-    @RequestMapping(value ="/audit/reports/{name}", method = RequestMethod.GET)
-    @ResponseStatus(HttpStatus.OK)
-    public HttpEntity<byte[]> loadReportsData(
-            HttpServletResponse response, @PathVariable("name") String name,
-            @ApiParam(value = "Report identity", required = true) @RequestParam(value = "ruid") String ruid);
-
 }
diff --git a/server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/IRestSharing.java b/server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/IRestSharing.java
new file mode 100644 (file)
index 0000000..9a7353e
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * In Samsung Ukraine R&D Center (SRK under a contract between)
+ * LLC "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
+ * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
+ */
+package com.samsung.samserver.web.rest.controller;
+
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Rest Interface for link sharing (no security access )
+ *
+ * @author <A HREF="mailto:m.dalakov@samsung.com">Mykhailo Dalakov</A>
+ * @version 1.0
+ */
+@RequestMapping("/")
+public interface IRestSharing {
+
+    /*
+     * Load reports data
+     */
+    @RequestMapping(value ="/audit/reports/{name}", method = RequestMethod.GET)
+    @ResponseStatus(HttpStatus.OK)
+    public HttpEntity<byte[]> loadReportsData(HttpServletResponse response,
+                                              @PathVariable("name") String name,
+                                              @RequestParam(value = "ruid") String ruid);
+
+}
index e1b435a..d030f0a 100644 (file)
@@ -172,13 +172,4 @@ public class RestDashboard  implements IRestDashboard {
         return  getDeviceReportsRestService.getDeviceReports(id, from, to);
     }
 
-    /*
-     * Load reports data
-     */
-    @Override
-    public HttpEntity<byte[]>  loadReportsData(HttpServletResponse response, @PathVariable("name") String name,
-                                               @RequestParam(value = "ruid") String ruid){
-        return  getDeviceReportsRestService.loadReportsData(response, name, ruid);
-    }
-
 }
diff --git a/server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/impl/RestSharing.java b/server/samserver/src/main/java/com/samsung/samserver/web/rest/controller/impl/RestSharing.java
new file mode 100644 (file)
index 0000000..68c4fa8
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * In Samsung Ukraine R&D Center (SRK under a contract between)
+ * LLC "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
+ * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
+ */
+package com.samsung.samserver.web.rest.controller.impl;
+
+import com.samsung.samserver.web.rest.controller.IRestSharing;
+import com.samsung.samserver.web.rest.service.ui.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * REST Sharing controller.
+ *
+ * @author <A HREF="mailto:m.dalakov@samsung.com">Mykhailo Dalakov</A>
+ * @version 1.0
+ */
+@RestController
+public class RestSharing implements IRestSharing {
+
+    @Autowired
+    private GetDeviceReportsRestService getDeviceReportsRestService;
+
+    /*
+     * Load reports data, link for sharing (no security access )
+     */
+    @RequestMapping(value ="/audit/reports/{name}", method = RequestMethod.GET)
+    public HttpEntity<byte[]>  loadReportsData(HttpServletResponse response,
+                                               @PathVariable("name") String name,
+                                               @RequestParam(value = "ruid") String ruid){
+        return  getDeviceReportsRestService.loadReportsData(response, name, ruid);
+    }
+
+}
\ No newline at end of file
index dc89b9e..9581683 100644 (file)
@@ -76,7 +76,7 @@ public class GetDeviceReportsRestService {
             byte [] out = getZipCompressed(new String[]{"syscall","user"}, new byte[][]{reportSyscall,reportUser});
             dr = Optional.of(deviceReportsDataService.save(new DeviceReportsData().data(out), id, from, to));
         }
-        String uri = "/dashboard/audit/reports/"
+        String uri = "/audit/reports/"
                 + Base64.getEncoder().encodeToString(("Reports["+from+"-"+to+"].zip").getBytes())
                 + "?ruid="+dr.get().getRuid();
         String out = "{\n" +