From 434cc8dd2bf6e5398421e65dc3ad51c61e28ae9d Mon Sep 17 00:00:00 2001 From: LeoMoulin Date: Wed, 6 Mar 2024 20:05:24 +0100 Subject: [PATCH 1/2] - On objectise tout - Ajout des relation --- .../herisson/Clyde/Tables/CursusCourse.java | 28 +++++++++-------- .../ovh/herisson/Clyde/Tables/Secretary.java | 15 +++++----- .../Clyde/Tables/TeacherGivenCourse.java | 29 ++++++++++-------- .../ovh/herisson/Clyde/Tables/UserCursus.java | 30 +++++++++++-------- 4 files changed, 56 insertions(+), 46 deletions(-) diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/CursusCourse.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/CursusCourse.java index e48e6a3..ecdd857 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/CursusCourse.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/CursusCourse.java @@ -8,15 +8,17 @@ public class CursusCourse { @GeneratedValue(strategy = GenerationType.AUTO) private int id; + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Cursus") - private int cursusId; + private Cursus cursus; + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Course") - private int courseId; + private Course course; - public CursusCourse(int cursusId, int courseId){ - this.cursusId = cursusId; - this.courseId = courseId; + public CursusCourse(Cursus cursus, Course course){ + this.cursus = cursus; + this.course = course; } public CursusCourse() {} @@ -25,19 +27,19 @@ public class CursusCourse { return id; } - public int getCourseId() { - return courseId; + public Course getCourse() { + return course; } - public void setCourseId(int courseId){ - this.courseId = courseId; + public void setCourse(Course course){ + this.course = course; } - public int getCursusId() { - return cursusId; + public Cursus getCursus() { + return cursus; } - public void setCursusId(int cursusId) { - this.cursusId = cursusId; + public void setCursus(Cursus cursus) { + this.cursus = cursus; } } diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/Secretary.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/Secretary.java index cf533a0..cc34841 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/Secretary.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/Secretary.java @@ -8,12 +8,13 @@ public class Secretary { @GeneratedValue(strategy = GenerationType.AUTO) private int id; + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Users") - private int regNo; + private User user; private String faculty; - public Secretary(int regNo, String faculty){ - this.regNo = regNo; + public Secretary(User user, String faculty){ + this.user = user; this.faculty = faculty; } @@ -23,12 +24,12 @@ public class Secretary { return id; } - public int getRegNo() { - return regNo; + public User getUser() { + return user; } - public void setRegNo(int regNo) { - this.regNo = regNo; + public void setUser(User user) { + this.user = user; } public String getFaculty() { diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherGivenCourse.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherGivenCourse.java index 9cb931e..a1ee138 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherGivenCourse.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/TeacherGivenCourse.java @@ -8,18 +8,21 @@ public class TeacherGivenCourse { @GeneratedValue(strategy = GenerationType.AUTO) private int id; + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Users") - private int regNo; + private User user; + + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Course") - private int courseId; + private Course course; //This flag helps make the difference between an assistant or a Teacher (who owns the course) private boolean owned; - public TeacherGivenCourse(int regNo, int courseId, boolean owned){ - this.regNo = regNo; - this.courseId = courseId; + public TeacherGivenCourse(User user, Course course, boolean owned){ + this.user = user; + this.course = course; this.owned = owned; } @@ -29,20 +32,20 @@ public class TeacherGivenCourse { return id; } - public int getRegNo() { - return regNo; + public User getUser() { + return user; } - public void setRegNo(int regNo) { - this.regNo = regNo; + public void setUser(User user) { + this.user = user; } - public int getCourseId() { - return courseId; + public Course getCourse() { + return course; } - public void setCourseId(int courseId) { - this.courseId = courseId; + public void setCourse(Course course) { + this.course = course; } public boolean isOwned() { diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCursus.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCursus.java index 4de1559..a5c5153 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCursus.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/UserCursus.java @@ -7,15 +7,19 @@ public class UserCursus { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; + + //Un étudiant peut avoir plusieurs cursus + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Users") - private int regNo; + private User user; + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "Cursus") - private int cursusId; + private Cursus cursus; - public UserCursus(int regNo, int cursusId){ - this.regNo = regNo; - this.cursusId = cursusId; + public UserCursus(User user, Cursus cursus){ + this.user = user; + this.cursus = cursus; } public UserCursus() {} @@ -24,19 +28,19 @@ public class UserCursus { return id; } - public int getRegNo() { - return regNo; + public User getUser() { + return user; } - public void setRegNo(int regNo) { - this.regNo = regNo; + public void setUser(User user) { + this.user = user; } - public int getCursusId() { - return cursusId; + public Cursus getCursus() { + return cursus; } - public void setCursusId(int cursusId) { - this.cursusId = cursusId; + public void setCursus(Cursus cursus) { + this.cursus = cursus; } } -- 2.46.0 From c33b73a1145d109b6c9cd61442d7c567a2a3efe1 Mon Sep 17 00:00:00 2001 From: LeoMoulin Date: Thu, 7 Mar 2024 19:12:48 +0100 Subject: [PATCH 2/2] - Ajout de "l'url" de l'image dans User --- .../src/main/java/ovh/herisson/Clyde/Tables/User.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/ovh/herisson/Clyde/Tables/User.java b/backend/src/main/java/ovh/herisson/Clyde/Tables/User.java index 746ac3b..95467a4 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Tables/User.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Tables/User.java @@ -20,15 +20,17 @@ public class User { private String address; private String country; private Date birthDate; + private String profilePictureUrl; private ovh.herisson.Clyde.Tables.Role role; private String password; - public User(String lastName, String firstName, String email, String address, String country, Date birthDate, Role role, String password){ + public User(String lastName, String firstName, String email, String address, String country, Date birthDate, String profilePictureUrl, Role role, String password){ this.lastName = lastName; this.firstName = firstName; this.email = email; this.address = address; this.country = country; this.birthDate = birthDate; + this.profilePictureUrl = profilePictureUrl; this.role = role; this.password = password; } @@ -86,6 +88,11 @@ public class User { this.birthDate = birthDate; } + public String getProfilePictureUrl(){return this.profilePictureUrl;} + + public void setProfilePictureUrl(String profilePictureUrl){ + this.profilePictureUrl = profilePictureUrl; + } public ovh.herisson.Clyde.Tables.Role getRole() { return role; } -- 2.46.0