feat: port instances

This commit is contained in:
Malopieds 2024-10-20 21:16:41 +02:00
parent ee40c425de
commit 291ec7e8f3
7 changed files with 35 additions and 21 deletions

View File

@ -9,6 +9,7 @@ import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table; import jakarta.persistence.Table;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -21,9 +22,11 @@ import lombok.NoArgsConstructor;
public class Instance { public class Instance {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@SequenceGenerator(name = "InstanceSeq", sequenceName = "instance_id_seq", allocationSize = 1, initialValue = 1)
public Long id; public Long id;
public String name; public String name;
public String ssh; public String ssh;
public Long port;
public String pwd; public String pwd;
@JsonBackReference @JsonBackReference
@ -35,10 +38,11 @@ public class Instance {
@JoinColumn(name = "practical_id") @JoinColumn(name = "practical_id")
public Tp tp; public Tp tp;
public Instance(String name, String ssh, String pwd, User user, Tp tp) { public Instance(String name, String ssh, String pwd, Long port, User user, Tp tp) {
this.name = name; this.name = name;
this.ssh = ssh; this.ssh = ssh;
this.pwd = pwd; this.pwd = pwd;
this.port = port;
this.user = user; this.user = user;
this.tp = tp; this.tp = tp;
} }

View File

@ -5,6 +5,7 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table; import jakarta.persistence.Table;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -19,6 +20,7 @@ import lombok.NoArgsConstructor;
public class Tp { public class Tp {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@SequenceGenerator(name = "TpSeq", sequenceName = "tp_id_seq", allocationSize = 1, initialValue = 1)
public Long id; public Long id;
public String name; public String name;
public String description; public String description;

View File

@ -10,6 +10,7 @@ import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.OneToMany; import jakarta.persistence.OneToMany;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table; import jakarta.persistence.Table;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
@ -28,6 +29,7 @@ import lombok.Setter;
public class User { public class User {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@SequenceGenerator(name = "UserSeq", sequenceName = "user_id_seq", allocationSize = 1, initialValue = 1)
public Long id; public Long id;
public String name; public String name;

View File

@ -6,4 +6,9 @@ package fr.la_banquise.backend.rest.request;
public class UserRequest { public class UserRequest {
public String name; public String name;
public String email; public String email;
public String password;
public String instance_name;
public String instance_ssh;
public Long instance_port;
public String instance_pwd;
} }

View File

@ -41,18 +41,18 @@ public class InstanceService {
} }
@Transactional @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); User user = userRepository.findByName(username);
Tp tp = tpRepository.findById(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); instanceRepository.persist(instance);
return instance; return instance;
} }
@Transactional @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); 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); instanceRepository.persist(instance);
return instance; return instance;
} }

View File

@ -1,7 +1,6 @@
package fr.la_banquise.backend.services; package fr.la_banquise.backend.services;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import fr.la_banquise.backend.data.model.Instance; import fr.la_banquise.backend.data.model.Instance;

View File

@ -55,7 +55,9 @@ public class UserService {
for (UserRequest user : usersRequest.users) { for (UserRequest user : usersRequest.users) {
User newUser = createUser(user.name); User newUser = createUser(user.name);
users.add(newUser); 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<User>(); return new ArrayList<User>();
} }