Skip to content

Commit c1db12b

Browse files
authored
feat: include notes tags (#13)
1 parent 1eab863 commit c1db12b

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed
Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package br.com.tasknoteapp.server.service;
22

3+
import br.com.tasknoteapp.server.response.NoteResponse;
34
import br.com.tasknoteapp.server.response.TaskResponse;
45
import java.util.HashSet;
56
import java.util.List;
@@ -16,10 +17,11 @@ public class HomeService {
1617

1718
private final TaskService taskService;
1819

19-
private static final String N_TASKS_FOUND = "%d tasks found!";
20+
private final NoteService noteService;
2021

21-
public HomeService(TaskService taskService) {
22+
public HomeService(TaskService taskService, NoteService noteService) {
2223
this.taskService = taskService;
24+
this.noteService = noteService;
2325
}
2426

2527
/**
@@ -28,20 +30,24 @@ public HomeService(TaskService taskService) {
2830
* @return List of String with the tags.
2931
*/
3032
public List<String> getTopTasksTag() {
31-
logger.info("Getting all tags for the tasks");
33+
logger.info("Getting all tags for tasks and notes");
3234

3335
List<TaskResponse> tasks = taskService.getTasksByFilter("all");
34-
logger.info(String.format(N_TASKS_FOUND, tasks.size()));
36+
List<NoteResponse> notes = noteService.getAllNotes();
3537

3638
Set<String> tags = new HashSet<>();
37-
for (TaskResponse task : tasks) {
38-
String tag = task.tag();
39-
if (tag.isBlank()) {
40-
tag = "untagged";
41-
}
42-
tags.add(tag);
39+
tags.addAll(tasks.stream().map(TaskResponse::tag).filter(tag -> !tag.isBlank()).toList());
40+
tags.addAll(notes.stream().map(NoteResponse::tag).filter(tag -> !tag.isBlank()).toList());
41+
42+
boolean hasBlankTags =
43+
tasks.stream().anyMatch(task -> task.tag().isBlank())
44+
|| notes.stream().anyMatch(note -> note.tag().isBlank());
45+
if (hasBlankTags) {
46+
tags.add("untagged");
4347
}
4448

49+
logger.info("Found {} tags", tags.size());
50+
4551
return tags.stream().sorted().toList();
4652
}
4753
}

server/src/test/java/br/com/tasknoteapp/server/service/HomeServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class HomeServiceTest {
2828

2929
@BeforeEach
3030
void setUp() {
31-
homeService = new HomeService(taskService);
31+
homeService = new HomeService(taskService, noteService);
3232
}
3333

3434
@Test

0 commit comments

Comments
 (0)