From 0bb19180e1093a328a8421d9949465a9f4c6a979 Mon Sep 17 00:00:00 2001 From: Sylvain Monmignon Date: Tue, 1 Sep 2026 15:45:35 +0200 Subject: [PATCH] feat: Get de toutes les tasks de la database --- .gitignore | 2 + pom.xml | 41 +++++++++++++------ .../myapi/api/Controller/TaskController.java | 17 +++++--- src/main/java/myapi/api/Data/DAO/TaskDao.java | 22 ---------- .../api/Data/Repository/TaskRepository.java | 8 ++++ src/main/java/myapi/api/Model/Task.java | 40 +++++++++--------- src/main/resources/application.properties | 3 ++ 7 files changed, 72 insertions(+), 61 deletions(-) delete mode 100644 src/main/java/myapi/api/Data/DAO/TaskDao.java create mode 100644 src/main/java/myapi/api/Data/Repository/TaskRepository.java diff --git a/.gitignore b/.gitignore index 37e6a58..f45be04 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ target/ !**/src/test/**/target/ mvnw mvnw.cmd +application-dev.properties + ### STS ### .apt_generated .classpath diff --git a/pom.xml b/pom.xml index 73b6513..27ec576 100644 --- a/pom.xml +++ b/pom.xml @@ -1,30 +1,33 @@ - - + + 4.0.0 org.springframework.boot spring-boot-starter-parent 4.1.1 - + myapi api 0.0.1-SNAPSHOT - - - + + + - + - + - - - - + + + + 26 @@ -40,10 +43,22 @@ spring-boot-starter-test test + org.springframework.boot spring-boot-starter-webmvc + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.postgresql + postgresql + runtime + diff --git a/src/main/java/myapi/api/Controller/TaskController.java b/src/main/java/myapi/api/Controller/TaskController.java index 2f978bf..64292d5 100644 --- a/src/main/java/myapi/api/Controller/TaskController.java +++ b/src/main/java/myapi/api/Controller/TaskController.java @@ -1,21 +1,26 @@ package myapi.api.Controller; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import myapi.api.Data.DAO.TaskDao; +import myapi.api.Data.Repository.TaskRepository; +import myapi.api.Model.Task; @RestController @RequestMapping("/task") public class TaskController { - @Autowired - private TaskDao taskDao; + private final TaskRepository taskRepository; + public TaskController(TaskRepository repository){ + this.taskRepository = repository; + } - @GetMapping("") - public String getTasks(){ - return this.taskDao.getTasks().getFirst(); + @GetMapping + public List getTasks(){ + return this.taskRepository.findAll(); } } \ No newline at end of file diff --git a/src/main/java/myapi/api/Data/DAO/TaskDao.java b/src/main/java/myapi/api/Data/DAO/TaskDao.java deleted file mode 100644 index 23b2541..0000000 --- a/src/main/java/myapi/api/Data/DAO/TaskDao.java +++ /dev/null @@ -1,22 +0,0 @@ -package myapi.api.Data.DAO; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import myapi.api.Model.Enums.Status; -import myapi.api.Model.Task; -import org.springframework.stereotype.Repository; - -@Repository -public class TaskDao { - - /** - * Retourne toutes les tâches de la base de données - * @return Une liste de tâches - */ - public ArrayList getTasks() { - ArrayList result = new ArrayList() {}; - result.add(new Task(1, "test", Status.EnCours, new Date(), 1, 1).toString()); - return result; - } -} diff --git a/src/main/java/myapi/api/Data/Repository/TaskRepository.java b/src/main/java/myapi/api/Data/Repository/TaskRepository.java new file mode 100644 index 0000000..512678c --- /dev/null +++ b/src/main/java/myapi/api/Data/Repository/TaskRepository.java @@ -0,0 +1,8 @@ +package myapi.api.Data.Repository; + +import myapi.api.Model.Task; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TaskRepository extends JpaRepository {} diff --git a/src/main/java/myapi/api/Model/Task.java b/src/main/java/myapi/api/Model/Task.java index 37ddcca..faa8ea8 100644 --- a/src/main/java/myapi/api/Model/Task.java +++ b/src/main/java/myapi/api/Model/Task.java @@ -1,27 +1,27 @@ package myapi.api.Model; import java.util.Date; -import myapi.api.Model.Enums.Status; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name="task") public class Task { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private int id_task; + private String name_task; - private Status status_task; + private String status_task; private Date date_task; - private int priority_task; - private int id_group; + private Integer priority_task; + private Integer id_group; - public Task() {} - - public Task(int id, String name, Status status, Date date, int priority, int group) { - this.id_task = id; - this.name_task = name; - this.status_task = status; - this.date_task = date; - this.priority_task = priority; - this.id_group = group; - } public int getId_task() { return id_task; @@ -39,11 +39,11 @@ public class Task { this.name_task = name_task; } - public Status getStatus_task() { + public String getStatus_task() { return status_task; } - public void setStatus_task(Status status_task) { + public void setStatus_task(String status_task) { this.status_task = status_task; } @@ -55,19 +55,19 @@ public class Task { this.date_task = date_task; } - public int getPriority_task() { + public Integer getPriority_task() { return priority_task; } - public void setPriority_task(int priority_task) { + public void setPriority_task(Integer priority_task) { this.priority_task = priority_task; } - public int getId_group() { + public Integer getId_group() { return id_group; } - public void setId_group(int id_group) { + public void setId_group(Integer id_group) { this.id_group = id_group; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index bbe3a4c..86680e5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,4 @@ spring.application.name=api +spring.profiles.active=dev +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect \ No newline at end of file