You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dy...@apache.org on 2022/10/11 12:32:03 UTC

[incubator-datalab] 04/06: add info for platforms page

This is an automated email from the ASF dual-hosted git repository.

dyankiv pushed a commit to branch epm-v2.5.2.1
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit e963c42fc25713e32294ff515a2a7a17bcf86459
Author: Denys Yankiv <de...@gmail.com>
AuthorDate: Mon Oct 3 12:26:09 2022 +0300

    add info for platforms page
---
 .../resources/ConnectedPlatformResource.java       |  7 ------
 .../dto/ConnectedPlatformsInfo.java}               | 28 +++++++++++++---------
 .../service/ConnectedPlatformsService.java         |  3 ++-
 .../impl/ConnectedPlatformsServiceImpl.java        | 13 ++++++++--
 4 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ConnectedPlatformResource.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ConnectedPlatformResource.java
index 9c46e1c8b..e664b8b9d 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ConnectedPlatformResource.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ConnectedPlatformResource.java
@@ -53,13 +53,6 @@ public class ConnectedPlatformResource {
         return Response.ok(connectedPlatformsService.getUserPlatforms(ui.getName())).build();
     }
 
-    @RolesAllowed("/api/connected_platforms/view")
-    @GET
-    @Path("/types")
-    public Response getConnectedPlatformTypes(@Auth UserInfo ui){
-        return Response.ok(ConnectedPlatformType.values()).build();
-    }
-
     @RolesAllowed("/api/connected_platforms/add")
     @POST
     public Response addConnectedPlatform(@Auth UserInfo ui, @Valid ConnectedPlatformAddFrom from) {
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ConnectedPlatformsInfo.java
similarity index 61%
copy from services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java
copy to services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ConnectedPlatformsInfo.java
index 5042be304..206f00edd 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ConnectedPlatformsInfo.java
@@ -17,19 +17,25 @@
  * under the License.
  */
 
-package com.epam.datalab.backendapi.service;
+package com.epam.datalab.backendapi.resources.dto;
 
-import com.epam.datalab.auth.UserInfo;
-import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformDTO;
-import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 
 import java.util.List;
 
-public interface ConnectedPlatformsService {
-    List<ConnectedPlatformDTO> getUserPlatforms(String userName);
-    List<ConnectedPlatformDTO> getAll();
-
-    void addPlatform(UserInfo user, String name, ConnectedPlatformType type, String url);
-
-    void disconnect(UserInfo user, String name);
+@AllArgsConstructor
+@Builder
+@EqualsAndHashCode
+@ToString
+public class ConnectedPlatformsInfo {
+    @JsonProperty
+    private List<ConnectedPlatformDTO> userPlatforms;
+    @JsonProperty
+    private List<ConnectedPlatformType> types;
+    @JsonProperty
+    private List<String> platformNames;
 }
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java
index 5042be304..a1985486d 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ConnectedPlatformsService.java
@@ -22,11 +22,12 @@ package com.epam.datalab.backendapi.service;
 import com.epam.datalab.auth.UserInfo;
 import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformDTO;
 import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformType;
+import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformsInfo;
 
 import java.util.List;
 
 public interface ConnectedPlatformsService {
-    List<ConnectedPlatformDTO> getUserPlatforms(String userName);
+    ConnectedPlatformsInfo getUserPlatforms(String userName);
     List<ConnectedPlatformDTO> getAll();
 
     void addPlatform(UserInfo user, String name, ConnectedPlatformType type, String url);
diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ConnectedPlatformsServiceImpl.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ConnectedPlatformsServiceImpl.java
index f4ee7a3d1..baf7f64f6 100644
--- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ConnectedPlatformsServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ConnectedPlatformsServiceImpl.java
@@ -23,13 +23,17 @@ import com.epam.datalab.auth.UserInfo;
 import com.epam.datalab.backendapi.dao.ConnectedPlatformsDAO;
 import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformDTO;
 import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformType;
+import com.epam.datalab.backendapi.resources.dto.ConnectedPlatformsInfo;
 import com.epam.datalab.backendapi.service.ConnectedPlatformsService;
 import com.epam.datalab.exceptions.ResourceAlreadyExistException;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 import lombok.extern.slf4j.Slf4j;
 
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
+
 @Singleton
 @Slf4j
 public class ConnectedPlatformsServiceImpl implements ConnectedPlatformsService {
@@ -45,8 +49,13 @@ public class ConnectedPlatformsServiceImpl implements ConnectedPlatformsService
 
 
     @Override
-    public List<ConnectedPlatformDTO> getUserPlatforms(String userName) {
-        return connectedPlatformsDAO.getUserPlatforms(userName);
+    public ConnectedPlatformsInfo getUserPlatforms(String userName) {
+        List<String> platformNames = getAll().stream().map(ConnectedPlatformDTO::getName).collect(Collectors.toList());
+        return ConnectedPlatformsInfo.builder()
+                .userPlatforms(connectedPlatformsDAO.getUserPlatforms(userName))
+                .types(Arrays.asList(ConnectedPlatformType.values()))
+                .platformNames(platformNames)
+                .build();
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org