diff options
Diffstat (limited to 'src/main/java/com/encora/Main.java')
-rw-r--r-- | src/main/java/com/encora/Main.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/com/encora/Main.java b/src/main/java/com/encora/Main.java index 63c6a48..a233550 100644 --- a/src/main/java/com/encora/Main.java +++ b/src/main/java/com/encora/Main.java @@ -2,11 +2,13 @@ package com.encora; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.domain.Sort; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; +import java.util.Objects; @SpringBootApplication @RestController @@ -100,4 +102,23 @@ public class Main { selectedToDo.setDoneDate(null); toDosRepository.save(selectedToDo); } + + + // Getting sorted to dos. + enum SortingsFields { + Id, Priority, DueDate + } + enum SortingOrders { + ASC, DESC + } + @GetMapping("/todos/{field}/{order}") + @ResponseStatus(value=HttpStatus.OK) + public List<ToDos> getFilteredToDos(@PathVariable("field") SortingsFields field, @PathVariable("order") SortingOrders order) { + Sort sortingMethod = Sort.by(String.valueOf(field)); + if (Objects.equals(String.valueOf(order), "DESC")) { + sortingMethod = sortingMethod.descending(); + } + + return toDosRepository.findAll(sortingMethod); + } } |