diff --git a/pom.xml b/pom.xml
index 4f4bfcc..de94826 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,16 +30,44 @@
17
+
org.springframework.boot
spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jdbc
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
+
org.springframework.boot
spring-boot-starter-test
test
+
+
+
+ org.projectlombok
+ lombok
+ annotationProcessor
+
diff --git a/src/main/java/fr/teamflash/archy/controller/userController.java b/src/main/java/fr/teamflash/archy/controller/userController.java
index 3028fc0..457c0b4 100644
--- a/src/main/java/fr/teamflash/archy/controller/userController.java
+++ b/src/main/java/fr/teamflash/archy/controller/userController.java
@@ -2,19 +2,28 @@ package fr.teamflash.archy.controller;
import fr.teamflash.archy.dto.userDTO;
import fr.teamflash.archy.dto.userDisplayDTO;
+import fr.teamflash.archy.entity.userEntity;
import fr.teamflash.archy.fonction.calcule;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
+import fr.teamflash.archy.repository.userRepository;
+
import java.time.LocalDate;
import java.time.Period;
import java.util.List;
+import java.util.Optional;
@RestController
@RequestMapping("user")
public class userController {
+ @Autowired
+ private userRepository userRepository;
+
@PostMapping("add")
public ResponseEntity afficher (@RequestBody userDTO dto){
// calcule l'age
@@ -41,4 +50,27 @@ public class userController {
return new ResponseEntity(respond, HttpStatusCode.valueOf(200));
}
+ @GetMapping("get/{id}")
+ public ResponseEntity get(@PathVariable String id) {
+ Integer ID;
+
+ // Vérifie si le paramètre est un entier
+ try {
+ ID = Integer.parseInt(id);
+ } catch (NumberFormatException e) {
+ return new ResponseEntity("ID invalide : ce n'est pas un entier.", HttpStatusCode.valueOf(400));
+ }
+
+ // Recherche dans la base
+ Optional result = userRepository.findById(ID);
+
+ // Vérifie si l'utilisateur existe
+ if (result.isEmpty()) {
+ return new ResponseEntity("Aucun utilisateur trouvé avec l'ID " + ID, HttpStatusCode.valueOf(404));
+ }
+
+ // Retourne l'utilisateur trouvé
+ return new ResponseEntity(result.get(), HttpStatusCode.valueOf(200));
+ }
+
}
diff --git a/src/main/java/fr/teamflash/archy/entity/userEntity.java b/src/main/java/fr/teamflash/archy/entity/userEntity.java
new file mode 100644
index 0000000..c7e5ea1
--- /dev/null
+++ b/src/main/java/fr/teamflash/archy/entity/userEntity.java
@@ -0,0 +1,35 @@
+package fr.teamflash.archy.entity;
+
+import fr.teamflash.archy.fonction.letter;
+import jakarta.persistence.*;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "users")
+@Data
+public class userEntity {
+
+ @Column(name = "id")
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private int id;
+
+ @Column(name = "nom")
+ private String nom;
+
+ @Column(name = "prenom")
+ private String prenom;
+
+ @Column(name = "date_naissance")
+ private LocalDate dateNaissance;
+
+ public String getNom() {
+ return nom.toUpperCase();
+ }
+
+ public String getPrenom() {
+ return letter.firstLetterCapitalize(prenom);
+ }
+}
diff --git a/src/main/java/fr/teamflash/archy/fonction/letter.java b/src/main/java/fr/teamflash/archy/fonction/letter.java
new file mode 100644
index 0000000..3c485fb
--- /dev/null
+++ b/src/main/java/fr/teamflash/archy/fonction/letter.java
@@ -0,0 +1,13 @@
+package fr.teamflash.archy.fonction;
+
+public class letter {
+
+ public static String firstLetterCapitalize(String inputString) {
+ if (inputString == null || inputString.isEmpty()) {
+ return inputString;
+ }
+
+ inputString = inputString.toLowerCase();
+ return inputString.substring(0, 1).toUpperCase() + inputString.substring(1);
+ }
+}
diff --git a/src/main/java/fr/teamflash/archy/repository/userRepository.java b/src/main/java/fr/teamflash/archy/repository/userRepository.java
new file mode 100644
index 0000000..8de3ef0
--- /dev/null
+++ b/src/main/java/fr/teamflash/archy/repository/userRepository.java
@@ -0,0 +1,10 @@
+package fr.teamflash.archy.repository;
+
+import fr.teamflash.archy.entity.userEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface userRepository extends JpaRepository {
+
+}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 83751ec..e4aeb1d 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1 +1,5 @@
spring.application.name=Archy
+spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
+spring.datasource.url=jdbc:mysql://lehub.tf:3306/Lan_ipi_archy
+spring.datasource.username=Lan_ipi_archy
+spring.datasource.password=Azerty1234.
\ No newline at end of file
diff --git a/src/test/java/fr/teamflash/archy/ArchyApplicationTests.java b/src/test/java/fr/teamflash/archy/ArchyApplicationTests.java
index c423717..9a1fbd7 100644
--- a/src/test/java/fr/teamflash/archy/ArchyApplicationTests.java
+++ b/src/test/java/fr/teamflash/archy/ArchyApplicationTests.java
@@ -4,10 +4,4 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
-class ArchyApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
+class ArchyApplicationTests {}