diff --git a/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java b/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java index f8cf104..f86081b 100644 --- a/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java +++ b/server/src/main/java/br/com/tasknoteapp/server/service/HomeService.java @@ -1,5 +1,6 @@ package br.com.tasknoteapp.server.service; +import br.com.tasknoteapp.server.response.NoteResponse; import br.com.tasknoteapp.server.response.TaskResponse; import java.util.HashSet; import java.util.List; @@ -16,10 +17,11 @@ public class HomeService { private final TaskService taskService; - private static final String N_TASKS_FOUND = "%d tasks found!"; + private final NoteService noteService; - public HomeService(TaskService taskService) { + public HomeService(TaskService taskService, NoteService noteService) { this.taskService = taskService; + this.noteService = noteService; } /** @@ -28,20 +30,24 @@ public HomeService(TaskService taskService) { * @return List of String with the tags. */ public List getTopTasksTag() { - logger.info("Getting all tags for the tasks"); + logger.info("Getting all tags for tasks and notes"); List tasks = taskService.getTasksByFilter("all"); - logger.info(String.format(N_TASKS_FOUND, tasks.size())); + List notes = noteService.getAllNotes(); Set tags = new HashSet<>(); - for (TaskResponse task : tasks) { - String tag = task.tag(); - if (tag.isBlank()) { - tag = "untagged"; - } - tags.add(tag); + tags.addAll(tasks.stream().map(TaskResponse::tag).filter(tag -> !tag.isBlank()).toList()); + tags.addAll(notes.stream().map(NoteResponse::tag).filter(tag -> !tag.isBlank()).toList()); + + boolean hasBlankTags = + tasks.stream().anyMatch(task -> task.tag().isBlank()) + || notes.stream().anyMatch(note -> note.tag().isBlank()); + if (hasBlankTags) { + tags.add("untagged"); } + logger.info("Found {} tags", tags.size()); + return tags.stream().sorted().toList(); } } diff --git a/server/src/test/java/br/com/tasknoteapp/server/service/HomeServiceTest.java b/server/src/test/java/br/com/tasknoteapp/server/service/HomeServiceTest.java index 861806e..842446f 100644 --- a/server/src/test/java/br/com/tasknoteapp/server/service/HomeServiceTest.java +++ b/server/src/test/java/br/com/tasknoteapp/server/service/HomeServiceTest.java @@ -28,7 +28,7 @@ class HomeServiceTest { @BeforeEach void setUp() { - homeService = new HomeService(taskService); + homeService = new HomeService(taskService, noteService); } @Test