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 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; 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)); } } 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..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 @@ -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; @@ -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) {