aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/encora/Main.java
diff options
context:
space:
mode:
authorAdrián Oliva <adrian.oliva@cimat.mx>2023-05-25 19:29:46 -0600
committerAdrián Oliva <adrian.oliva@cimat.mx>2023-05-25 19:29:46 -0600
commitf48cf17ecedade7502c4d09f6f7a90e84f3776f3 (patch)
tree10347681442bcafede777eab2fd9a331c3780d2f /src/main/java/com/encora/Main.java
parent7bf30fc960b07a7cdc93ac469a5c2982f6cf53aa (diff)
downloadToDo-App-BE-f48cf17ecedade7502c4d09f6f7a90e84f3776f3.tar.gz
ToDo-App-BE-f48cf17ecedade7502c4d09f6f7a90e84f3776f3.zip
POST to set done.
POST on /todos/{id}/done to set the to do with {id} done. :3
Diffstat (limited to 'src/main/java/com/encora/Main.java')
-rw-r--r--src/main/java/com/encora/Main.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/com/encora/Main.java b/src/main/java/com/encora/Main.java
index ec23015..108e657 100644
--- a/src/main/java/com/encora/Main.java
+++ b/src/main/java/com/encora/Main.java
@@ -54,4 +54,20 @@ public class Main {
todo.setPriority(toDo.priority());
toDosRepository.save(todo);
}
+
+ // Update a to do with "done".
+ @ResponseStatus(value=HttpStatus.BAD_REQUEST, reason="No to do with such index.")
+ public static class toDoNotFound extends RuntimeException {}
+
+ @PostMapping("/todos/{id}/done")
+ @ResponseStatus(value=HttpStatus.OK)
+ public void setDone(@PathVariable("id") Integer id) {
+ ToDos selectedToDo = toDosRepository.getById(id);
+ if (selectedToDo == null) throw new toDoNotFound();
+ if (selectedToDo.isDone()) return;
+
+ selectedToDo.setDone(true);
+ selectedToDo.setDoneDate(new Date());
+ toDosRepository.save(selectedToDo);
+ }
}