From e4df63752ec2459798cb9ffd3a6cd28e63a850ec Mon Sep 17 00:00:00 2001 From: Paul Cancel <paul.cancel.etu@univ-lille.fr> Date: Tue, 26 Nov 2024 11:50:04 +0100 Subject: [PATCH] Ajout dao et dto --- pom.xml | 4 ++ .../infoetu/MeetingPlannr/pojo/Meeting.java | 37 +++++++++++++ .../infoetu/MeetingPlannr/pojo/Request.java | 28 ++++++++++ .../but/infoetu/MeetingPlannr/pojo/User.java | 53 +++++++++++++++++++ .../repository/MeetingRepository.java | 9 ++++ .../repository/RequestRepository.java | 9 ++++ .../repository/UserRepository.java | 9 ++++ 7 files changed, 149 insertions(+) create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java create mode 100644 src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java diff --git a/pom.xml b/pom.xml index f6f35e0..39fff25 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,10 @@ <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-validation</artifactId> + </dependency> </dependencies> <build> diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java new file mode 100644 index 0000000..724a4f7 --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java @@ -0,0 +1,37 @@ +package fr.but.infoetu.MeetingPlannr.pojo; + +import java.sql.Date; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Entity +@AllArgsConstructor +@Data +@NoArgsConstructor +public class Meeting { + private static final String REQUIRED = "is required"; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int mno; + + @ManyToOne + @JoinColumn(name = "rno") + private Request request; + + @ManyToOne + @JoinColumn(name = "rno") + private User user; + + @NotNull(message = REQUIRED) + private Date date; +} diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java new file mode 100644 index 0000000..002d7ab --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Request.java @@ -0,0 +1,28 @@ +package fr.but.infoetu.MeetingPlannr.pojo; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Entity +@AllArgsConstructor +@Data +@NoArgsConstructor +public class Request { + private static final String REQUIRED = "is required"; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int rno; + + @NotNull(message = REQUIRED) + private String reason; + + @NotNull(message = REQUIRED) + private String description; +} diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java new file mode 100644 index 0000000..4ae05b3 --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java @@ -0,0 +1,53 @@ +package fr.but.infoetu.MeetingPlannr.pojo; + +import java.sql.Date; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PastOrPresent; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Entity +@AllArgsConstructor +@Data +@NoArgsConstructor +public class User { + private static final String REQUIRED = "is required"; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int uno; + + @NotNull(message = REQUIRED) + @Email(message = "email not valid") + private String email; + + @NotNull(message = REQUIRED) + private String name; + + @NotNull(message = REQUIRED) + private String surname; + + @NotNull(message = REQUIRED) + @Pattern( + regexp = "^0[1-9]([-. ]?[0-9]{2}){4}$", + message = "invalid phone number" + ) + private String phoneNumber; + + @NotNull(message = REQUIRED) + @PastOrPresent(message = "date must be within the past") + private Date birthdate; + + @NotNull(message = REQUIRED) + @Size(min = 8, message = "password too short") + private String password; +} diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java new file mode 100644 index 0000000..d4225a7 --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/MeetingRepository.java @@ -0,0 +1,9 @@ +package fr.but.infoetu.MeetingPlannr.repository; + +import org.springframework.data.repository.CrudRepository; + +import fr.but.infoetu.MeetingPlannr.pojo.Meeting; + +public interface MeetingRepository extends CrudRepository<Meeting, Integer>{ + +} diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java new file mode 100644 index 0000000..6385482 --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/RequestRepository.java @@ -0,0 +1,9 @@ +package fr.but.infoetu.MeetingPlannr.repository; + +import org.springframework.data.repository.CrudRepository; + +import fr.but.infoetu.MeetingPlannr.pojo.Request; + +public interface RequestRepository extends CrudRepository<Request, Integer>{ + +} diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java new file mode 100644 index 0000000..3905be5 --- /dev/null +++ b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java @@ -0,0 +1,9 @@ +package fr.but.infoetu.MeetingPlannr.repository; + +import org.springframework.data.repository.CrudRepository; + +import fr.but.infoetu.MeetingPlannr.pojo.User; + +public interface UserRepository extends CrudRepository<User, Integer>{ + +} -- GitLab