From 291ec7e8f31e9dbfea0ec496da9a23f5140a50a2 Mon Sep 17 00:00:00 2001 From: Malopieds Date: Sun, 20 Oct 2024 21:16:41 +0200 Subject: [PATCH] feat: port instances --- .../backend/data/model/Instance.java | 20 +++++++++++-------- .../fr/la_banquise/backend/data/model/Tp.java | 16 ++++++++------- .../la_banquise/backend/data/model/User.java | 2 ++ .../backend/rest/request/UserRequest.java | 5 +++++ .../backend/services/InstanceService.java | 8 ++++---- .../backend/services/TpService.java | 1 - .../backend/services/UserService.java | 4 +++- 7 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/main/java/fr/la_banquise/backend/data/model/Instance.java b/src/main/java/fr/la_banquise/backend/data/model/Instance.java index 6afed1c..16fa726 100644 --- a/src/main/java/fr/la_banquise/backend/data/model/Instance.java +++ b/src/main/java/fr/la_banquise/backend/data/model/Instance.java @@ -9,6 +9,7 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import lombok.NoArgsConstructor; @@ -21,9 +22,11 @@ import lombok.NoArgsConstructor; public class Instance { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @SequenceGenerator(name = "InstanceSeq", sequenceName = "instance_id_seq", allocationSize = 1, initialValue = 1) public Long id; public String name; public String ssh; + public Long port; public String pwd; @JsonBackReference @@ -31,15 +34,16 @@ public class Instance { @JoinColumn(name = "user_id", nullable = false) public User user; - @ManyToOne + @ManyToOne @JoinColumn(name = "practical_id") public Tp tp; - public Instance(String name, String ssh, String pwd, User user, Tp tp) { - this.name = name; - this.ssh = ssh; - this.pwd = pwd; - this.user = user; - this.tp = tp; - } + public Instance(String name, String ssh, String pwd, Long port, User user, Tp tp) { + this.name = name; + this.ssh = ssh; + this.pwd = pwd; + this.port = port; + this.user = user; + this.tp = tp; + } } diff --git a/src/main/java/fr/la_banquise/backend/data/model/Tp.java b/src/main/java/fr/la_banquise/backend/data/model/Tp.java index b48a5b7..8eeb3b6 100644 --- a/src/main/java/fr/la_banquise/backend/data/model/Tp.java +++ b/src/main/java/fr/la_banquise/backend/data/model/Tp.java @@ -5,6 +5,7 @@ import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; @@ -19,6 +20,7 @@ import lombok.NoArgsConstructor; public class Tp { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @SequenceGenerator(name = "TpSeq", sequenceName = "tp_id_seq", allocationSize = 1, initialValue = 1) public Long id; public String name; public String description; @@ -26,11 +28,11 @@ public class Tp { public String respo; public String date; - public Tp(String name, String description, String pdfLink, String respo, String date) { - this.name = name; - this.description = description; - this.pdfLink = pdfLink; - this.respo = respo; - this.date = date; - } + public Tp(String name, String description, String pdfLink, String respo, String date) { + this.name = name; + this.description = description; + this.pdfLink = pdfLink; + this.respo = respo; + this.date = date; + } } diff --git a/src/main/java/fr/la_banquise/backend/data/model/User.java b/src/main/java/fr/la_banquise/backend/data/model/User.java index 0fa1dcd..a81ee9d 100644 --- a/src/main/java/fr/la_banquise/backend/data/model/User.java +++ b/src/main/java/fr/la_banquise/backend/data/model/User.java @@ -10,6 +10,7 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.Getter; @@ -28,6 +29,7 @@ import lombok.Setter; public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @SequenceGenerator(name = "UserSeq", sequenceName = "user_id_seq", allocationSize = 1, initialValue = 1) public Long id; public String name; diff --git a/src/main/java/fr/la_banquise/backend/rest/request/UserRequest.java b/src/main/java/fr/la_banquise/backend/rest/request/UserRequest.java index 46dd5b7..f73a23e 100644 --- a/src/main/java/fr/la_banquise/backend/rest/request/UserRequest.java +++ b/src/main/java/fr/la_banquise/backend/rest/request/UserRequest.java @@ -6,4 +6,9 @@ package fr.la_banquise.backend.rest.request; public class UserRequest { public String name; public String email; + public String password; + public String instance_name; + public String instance_ssh; + public Long instance_port; + public String instance_pwd; } diff --git a/src/main/java/fr/la_banquise/backend/services/InstanceService.java b/src/main/java/fr/la_banquise/backend/services/InstanceService.java index b88ba9b..885c499 100644 --- a/src/main/java/fr/la_banquise/backend/services/InstanceService.java +++ b/src/main/java/fr/la_banquise/backend/services/InstanceService.java @@ -41,18 +41,18 @@ public class InstanceService { } @Transactional - public Instance createInstance(String name, String ssh, String pwd, String username, Long tpId) { + public Instance createInstance(String name, String ssh, String pwd, Long port, String username, Long tpId) { User user = userRepository.findByName(username); Tp tp = tpRepository.findById(tpId); - Instance instance = new Instance(name, ssh, pwd, user, tp); + Instance instance = new Instance(name, ssh, pwd, port, user, tp); instanceRepository.persist(instance); return instance; } @Transactional - public Instance createInstance(String name, String ssh, String pwd, User user, Long tpId) { + public Instance createInstance(String name, String ssh, String pwd, Long port, User user, Long tpId) { Tp tp = tpRepository.findById(tpId); - Instance instance = new Instance(name, ssh, pwd, user, tp); + Instance instance = new Instance(name, ssh, pwd, port, user, tp); instanceRepository.persist(instance); return instance; } 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 c8254a4..34ff780 100644 --- a/src/main/java/fr/la_banquise/backend/services/TpService.java +++ b/src/main/java/fr/la_banquise/backend/services/TpService.java @@ -1,7 +1,6 @@ package fr.la_banquise.backend.services; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import fr.la_banquise.backend.data.model.Instance; diff --git a/src/main/java/fr/la_banquise/backend/services/UserService.java b/src/main/java/fr/la_banquise/backend/services/UserService.java index 737421d..db6e372 100644 --- a/src/main/java/fr/la_banquise/backend/services/UserService.java +++ b/src/main/java/fr/la_banquise/backend/services/UserService.java @@ -55,7 +55,9 @@ public class UserService { for (UserRequest user : usersRequest.users) { User newUser = createUser(user.name); users.add(newUser); - instanceService.createInstance("test", "test", "test", user.name, usersRequest.tpId); + instanceService.createInstance(user.instance_name, user.instance_ssh, user.instance_pwd, user.instance_port, + user.name, + usersRequest.tpId); } return new ArrayList(); }