From a80fb2b2971c5ba675041fc0217e4b6d41073a56 Mon Sep 17 00:00:00 2001 From: Bartha Maxime <231026@umons.ac.be> Date: Mon, 18 Mar 2024 00:14:48 +0100 Subject: [PATCH] added DELETE user and prepared tables for cascade deletion --- .../ovh/herisson/Clyde/Services/AuthenticatorService.java | 1 + .../main/java/ovh/herisson/Clyde/Services/UserService.java | 4 ++++ .../java/ovh/herisson/Clyde/Tables/CurriculumCourse.java | 4 ++++ .../java/ovh/herisson/Clyde/Tables/ReInscriptionRequest.java | 4 ++++ .../main/java/ovh/herisson/Clyde/Tables/TeacherCourse.java | 4 ++++ backend/src/main/java/ovh/herisson/Clyde/Tables/Token.java | 3 +++ .../main/java/ovh/herisson/Clyde/Tables/UserCurriculum.java | 5 ++++- 7 files changed, 24 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/ovh/herisson/Clyde/Services/AuthenticatorService.java b/backend/src/main/java/ovh/herisson/Clyde/Services/AuthenticatorService.java index fc29fb6..25c127f 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Services/AuthenticatorService.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Services/AuthenticatorService.java @@ -32,6 +32,7 @@ public class AuthenticatorService { } public InscriptionRequest register(InscriptionRequest inscriptionRequest) { + inscriptionRequest.setState(RequestState.Pending); return inscriptionService.save(inscriptionRequest); } diff --git a/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java b/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java index b4409e9..6a7685b 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java @@ -126,4 +126,8 @@ public class UserService { public User getUserById(long id) { return userRepo.findById(id); } + + public void delete(User user) { + userRepo.delete(user); + } } \ No newline at end of file diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/CurriculumCourse.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/CurriculumCourse.java index 8202e8d..0b660eb 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/CurriculumCourse.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/CurriculumCourse.java @@ -1,6 +1,8 @@ package ovh.herisson.Clyde.Tables; import jakarta.persistence.*; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; @Entity public class CurriculumCourse { @@ -10,9 +12,11 @@ public class CurriculumCourse { @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "Curriculum") + @OnDelete(action = OnDeleteAction.CASCADE) private Curriculum curriculum; @ManyToOne(fetch = FetchType.EAGER) + @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name = "Course") private Course course; diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/ReInscriptionRequest.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/ReInscriptionRequest.java index 9bd3fba..b96ed42 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/ReInscriptionRequest.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/ReInscriptionRequest.java @@ -1,6 +1,8 @@ package ovh.herisson.Clyde.Tables; import jakarta.persistence.*; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; @Entity public class ReInscriptionRequest { @@ -10,10 +12,12 @@ public class ReInscriptionRequest { @ManyToOne @JoinColumn(name = "Users") + @OnDelete(action = OnDeleteAction.CASCADE) private User user; @ManyToOne @JoinColumn(name = "Curriculum") + @OnDelete(action = OnDeleteAction.CASCADE) private Curriculum newCurriculum; private RequestState state; diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherCourse.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherCourse.java index 3392c72..bce123b 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherCourse.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherCourse.java @@ -1,6 +1,8 @@ package ovh.herisson.Clyde.Tables; import jakarta.persistence.*; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; @Entity public class TeacherCourse { @@ -9,11 +11,13 @@ public class TeacherCourse { private int id; @ManyToOne(fetch = FetchType.EAGER) + @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name = "Users") private User user; @ManyToOne(fetch = FetchType.EAGER) + @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name = "Course") private Course course; diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/Token.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/Token.java index 29ef906..a68f15b 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/Token.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/Token.java @@ -1,6 +1,8 @@ package ovh.herisson.Clyde.Tables; import jakarta.persistence.*; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; import java.util.Date; @@ -11,6 +13,7 @@ public class Token { private int id; @ManyToOne(fetch = FetchType.EAGER) + @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name ="Users") private User user; private String token; diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCurriculum.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCurriculum.java index 2202763..bd04113 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCurriculum.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCurriculum.java @@ -1,6 +1,8 @@ package ovh.herisson.Clyde.Tables; import jakarta.persistence.*; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; @Entity public class UserCurriculum { @@ -10,10 +12,11 @@ public class UserCurriculum { //Un étudiant peut avoir plusieurs curriculums @ManyToOne(fetch = FetchType.EAGER) + @OnDelete(action = OnDeleteAction.CASCADE) @JoinColumn(name = "Users") private User user; - @OneToOne(fetch = FetchType.EAGER) + @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "Curriculum") private Curriculum curriculum;