From 0e04810ec8d8150a2aba2bc0883023f973e7dedf Mon Sep 17 00:00:00 2001 From: RounakK Date: Thu, 3 Mar 2022 22:13:05 +0530 Subject: [PATCH] Assignment for GET, PATCH, DELETE --- .../todolist/controllers/TasksController.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/todolist/src/main/java/com/scaler/todolist/controllers/TasksController.java b/todolist/src/main/java/com/scaler/todolist/controllers/TasksController.java index a39e36c..fb5cf70 100644 --- a/todolist/src/main/java/com/scaler/todolist/controllers/TasksController.java +++ b/todolist/src/main/java/com/scaler/todolist/controllers/TasksController.java @@ -1,10 +1,14 @@ package com.scaler.todolist.controllers; import com.scaler.todolist.models.Task; + +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.net.http.HttpResponse; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; @@ -39,5 +43,47 @@ ResponseEntity addNewTask(@RequestBody Task task) { * if task 5 does not exist, send 404 */ + @GetMapping("/tasks/{id}") + public ResponseEntity getTaskById(@PathVariable String id){ + Task t = findTaskById(id); + if(t!=null){ + return ResponseEntity.status(404).body(t); + }else{ + return ResponseEntity.ok(t); + } + + + } + private Task findTaskById(String id){ + for(Task t: taskList){ + if(t.getName().equals(id)){ + return t; + } + } + return null; + } + + @PatchMapping("/tasks/{id}") + public ResponseEntity updateTaskById(@PathVariable String id){ + Task t = findTaskById(id); + if(t!=null){ + t.setDue(LocalDate.now().plus(5, ChronoUnit.DAYS)); + return new ResponseEntity(HttpStatus.OK); + }else{ + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + } + + @DeleteMapping("/tasks/{id}") + public ResponseEntity deleteTaskById(@PathVariable String id){ + Task t = findTaskById(id); + if(t!=null){ + taskList.remove(t); + return new ResponseEntity(HttpStatus.OK); + }else{ + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + } + }