From 927c1178221001bf573ce6d36abb5102d5793359 Mon Sep 17 00:00:00 2001 From: Malo BEAUCHAMPS Date: Mon, 21 Oct 2024 14:01:39 +0200 Subject: [PATCH] feat: port and tp changes --- .../la_banquise/backend/rest/InstanceEndpoints.java | 2 +- .../backend/rest/request/InstanceRequest.java | 1 + .../backend/rest/response/PracticalResponse.java | 2 ++ .../fr/la_banquise/backend/services/TpService.java | 13 +++++++------ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/fr/la_banquise/backend/rest/InstanceEndpoints.java b/src/main/java/fr/la_banquise/backend/rest/InstanceEndpoints.java index 6c627ee..39b7d7b 100644 --- a/src/main/java/fr/la_banquise/backend/rest/InstanceEndpoints.java +++ b/src/main/java/fr/la_banquise/backend/rest/InstanceEndpoints.java @@ -32,7 +32,7 @@ public class InstanceEndpoints { @POST public Response createInstance(InstanceRequest request) { - instanceService.createInstance(request.name, request.ssh, request.pwd, request.username, request.tpId); + instanceService.createInstance(request.name, request.ssh, request.pwd, request.port, request.username, request.tpId); return Response.ok().build(); } } diff --git a/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java b/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java index 526c1d1..a157c97 100644 --- a/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java +++ b/src/main/java/fr/la_banquise/backend/rest/request/InstanceRequest.java @@ -10,6 +10,7 @@ public class InstanceRequest { public String ssh; public String pwd; public String username; + public Long port; @Nullable public Long tpId; } diff --git a/src/main/java/fr/la_banquise/backend/rest/response/PracticalResponse.java b/src/main/java/fr/la_banquise/backend/rest/response/PracticalResponse.java index 7348f5b..d7a0d79 100644 --- a/src/main/java/fr/la_banquise/backend/rest/response/PracticalResponse.java +++ b/src/main/java/fr/la_banquise/backend/rest/response/PracticalResponse.java @@ -20,4 +20,6 @@ public class PracticalResponse { public String pwd; @Nullable public String ssh; + @Nullable + public Long port; } diff --git a/src/main/java/fr/la_banquise/backend/services/TpService.java b/src/main/java/fr/la_banquise/backend/services/TpService.java index 34ff780..decb756 100644 --- a/src/main/java/fr/la_banquise/backend/services/TpService.java +++ b/src/main/java/fr/la_banquise/backend/services/TpService.java @@ -1,5 +1,6 @@ package fr.la_banquise.backend.services; +import java.text.Collator; import java.util.List; import java.util.stream.Collectors; @@ -39,18 +40,18 @@ public class TpService { } public List getAllTps(String username) { - return tpRepository.listAll().stream() - .filter(tp -> instanceRepository.find("name = ?1 AND tp = ?2", username, tp) == null) - .collect(Collectors.toList()); + User user = userRepository.findByName(username); + List instances = instanceRepository.find("user = ?1 AND tp IS NOT NULL", user).list(); + return tpRepository.find("id in ?1", instances.stream().map(i -> i.tp.id).collect(Collectors.toList())).list(); } public PracticalResponse getTp(Long id, String username) { User user = userRepository.findByName(username); Tp tp = tpRepository.findById(id); - Instance instance = instanceRepository.find("name = ?1 AND tp = ?2", user.name, tp).firstResult(); + Instance instance = instanceRepository.find("user = ?1 AND tp = ?2", user, tp).firstResult(); PracticalResponse res = new PracticalResponse(tp.name, tp.description, tp.pdfLink, tp.respo, tp.date, instance.name, - instance.pwd, instance.ssh); + instance.pwd, instance.ssh, instance.port); return res; } @@ -58,7 +59,7 @@ public class TpService { Tp tp = tpRepository.findById(id); return new PracticalResponse(tp.name, tp.description, tp.pdfLink, tp.respo, tp.date, "", - "", ""); + "", "", 0L); } @Transactional