From 50b21d3a20c6b23e7665e71b71afd0d944328ba4 Mon Sep 17 00:00:00 2001 From: Sarthak Singh Tomar Date: Tue, 27 Jun 2023 08:42:16 +0530 Subject: [PATCH 1/5] i#1-added the required dependency for the validation --- Backend/Task/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Backend/Task/pom.xml b/Backend/Task/pom.xml index 32475a8..96b3f81 100644 --- a/Backend/Task/pom.xml +++ b/Backend/Task/pom.xml @@ -35,6 +35,12 @@ lombok true + + + org.springframework.boot + spring-boot-starter-validation + + org.springframework.boot spring-boot-starter-test From db425715867da8f8b2e5854673a4033bd9868137 Mon Sep 17 00:00:00 2001 From: Sarthak Singh Tomar Date: Tue, 27 Jun 2023 08:43:09 +0530 Subject: [PATCH 2/5] i#2-changed the datatype --- .../Task/src/main/java/com/taskManager/Task/Dto/TaskDto.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/Task/src/main/java/com/taskManager/Task/Dto/TaskDto.java b/Backend/Task/src/main/java/com/taskManager/Task/Dto/TaskDto.java index 219a37b..8c077c2 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/Dto/TaskDto.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/Dto/TaskDto.java @@ -10,7 +10,7 @@ @NoArgsConstructor @AllArgsConstructor public class TaskDto { - private long task_id; + private Long task_id; private String title; private String description; private String status; From cdda0de2525b41ee150c9a15cea027686c14316e Mon Sep 17 00:00:00 2001 From: Sarthak Singh Tomar Date: Tue, 27 Jun 2023 08:47:51 +0530 Subject: [PATCH 3/5] i#3-modified the injection type and added the validation --- .../com/taskManager/Task/TaskApplication.java | 5 ++-- .../Task/controller/TaskController.java | 26 ++++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Backend/Task/src/main/java/com/taskManager/Task/TaskApplication.java b/Backend/Task/src/main/java/com/taskManager/Task/TaskApplication.java index 47770d9..3a1a420 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/TaskApplication.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/TaskApplication.java @@ -10,11 +10,10 @@ public class TaskApplication implements CommandLineRunner { public static void main(String[] args) { - SpringApplication.run(TaskApplication.class, args); } - @Autowired - private TaskRepository taskRepository; +// @Autowired +// private TaskRepository taskRepository; @Override public void run(String... args) throws Exception { diff --git a/Backend/Task/src/main/java/com/taskManager/Task/controller/TaskController.java b/Backend/Task/src/main/java/com/taskManager/Task/controller/TaskController.java index 7a78a65..e7f22dc 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/controller/TaskController.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/controller/TaskController.java @@ -1,22 +1,24 @@ package com.taskManager.Task.controller; import com.taskManager.Task.Dto.TaskDto; -import com.taskManager.Task.model.Task; -import com.taskManager.Task.repository.TaskRepository; import com.taskManager.Task.services.TaskService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; @CrossOrigin("*") @RestController @RequestMapping("api/v1/tasks") public class TaskController { - @Autowired - public TaskService taskService; + + private final TaskService taskService; + public TaskController(TaskService taskService) { + this.taskService = taskService; + } + @GetMapping public ResponseEntity> getAllTasks(){ List tasks = taskService.getAllTasks(); @@ -24,18 +26,18 @@ public ResponseEntity> getAllTasks(){ } //create Tasks @PostMapping - public ResponseEntity createTask(@RequestBody TaskDto task) { + public ResponseEntity createTask(@Valid @RequestBody TaskDto task) { TaskDto taskDto = taskService.createTask(task); - return new ResponseEntity<>(taskDto, HttpStatus.CREATED); + return ResponseEntity.status(HttpStatus.CREATED).body(taskDto); } - @GetMapping("{task_id}") - public ResponseEntity getTaskById(@PathVariable("task_id") Long taskId){ + @GetMapping("/{taskId}") + public ResponseEntity getTaskById(@PathVariable("taskId") Long taskId){ TaskDto task = taskService.getTaskById(taskId); return ResponseEntity.ok(task); } - @PutMapping("{task_id}") - public ResponseEntity updateTask(@PathVariable("task_id") Long taskId, + @PutMapping("/{taskId}") + public ResponseEntity updateTask(@Valid @PathVariable("taskId") Long taskId, @RequestBody TaskDto employeeDetails) { TaskDto updateTask = taskService.updateTask(taskId, employeeDetails); return ResponseEntity.ok(updateTask); @@ -43,6 +45,6 @@ public ResponseEntity updateTask(@PathVariable("task_id") Long taskId, @DeleteMapping("{task_id}") public ResponseEntity deleteTask(@PathVariable("task_id") Long taskId){ taskService.deleteTask(taskId); - return ResponseEntity.ok("Task deleted successfully!"); + return ResponseEntity.ok(String.format("Task %s deleted successfully!", taskId)); } } From e3888492db33317236e7c5fad394da51f8dac468 Mon Sep 17 00:00:00 2001 From: Sarthak Singh Tomar Date: Tue, 27 Jun 2023 08:49:27 +0530 Subject: [PATCH 4/5] i#4-added validations to the model class --- .../Task/exception/ResourceNotFoundException.java | 1 - .../Task/src/main/java/com/taskManager/Task/model/Task.java | 5 ++++- .../java/com/taskManager/Task/repository/TaskRepository.java | 2 ++ .../com/taskManager/Task/services/Impl/TaskServiceImpl.java | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Backend/Task/src/main/java/com/taskManager/Task/exception/ResourceNotFoundException.java b/Backend/Task/src/main/java/com/taskManager/Task/exception/ResourceNotFoundException.java index b98a416..9254624 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/exception/ResourceNotFoundException.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/exception/ResourceNotFoundException.java @@ -7,6 +7,5 @@ public class ResourceNotFoundException extends RuntimeException{ public ResourceNotFoundException(String message){ super(message); - } } diff --git a/Backend/Task/src/main/java/com/taskManager/Task/model/Task.java b/Backend/Task/src/main/java/com/taskManager/Task/model/Task.java index 74d0993..2e0ed42 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/model/Task.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/model/Task.java @@ -6,6 +6,7 @@ import lombok.Setter; import javax.persistence.*; +import javax.validation.constraints.NotBlank; import java.util.Date; @Getter @@ -17,12 +18,14 @@ public class Task { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - private long task_id; + private Long task_id; + @NotBlank private String title; private String description; + @NotBlank private String status; private String assignee; diff --git a/Backend/Task/src/main/java/com/taskManager/Task/repository/TaskRepository.java b/Backend/Task/src/main/java/com/taskManager/Task/repository/TaskRepository.java index 6c6d7d0..b83f290 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/repository/TaskRepository.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/repository/TaskRepository.java @@ -2,7 +2,9 @@ import com.taskManager.Task.model.Task; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +@Repository public interface TaskRepository extends JpaRepository { } diff --git a/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java b/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java index 4eb5957..df52c8a 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java @@ -2,10 +2,10 @@ import com.taskManager.Task.Dto.TaskDto; import com.taskManager.Task.exception.ResourceNotFoundException; +import com.taskManager.Task.mapper.TaskMapper; import com.taskManager.Task.model.Task; import com.taskManager.Task.repository.TaskRepository; import com.taskManager.Task.services.TaskService; -import com.taskManager.Task.mapper.TaskMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; From c66b3787c84babb987fda6ae192396f32d9a6397 Mon Sep 17 00:00:00 2001 From: Sarthak Singh Tomar Date: Tue, 27 Jun 2023 08:50:15 +0530 Subject: [PATCH 5/5] i#5-made the code more efficient --- .../com/taskManager/Task/services/Impl/TaskServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java b/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java index df52c8a..40bfc25 100644 --- a/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java +++ b/Backend/Task/src/main/java/com/taskManager/Task/services/Impl/TaskServiceImpl.java @@ -20,10 +20,9 @@ public class TaskServiceImpl implements TaskService { @Override public List getAllTasks() { List tasks = taskRepository.findAll(); - List taskDtos = tasks.stream() - .map((task) -> TaskMapper.maptoTaskDto(task)) + return tasks.stream() + .map(TaskMapper::maptoTaskDto) .collect(Collectors.toList()); - return taskDtos; } @Override public TaskDto createTask(TaskDto taskDto) {