diff --git a/src/main/java/com/codeit/todo/service/goal/impl/GoalServiceImpl.java b/src/main/java/com/codeit/todo/service/goal/impl/GoalServiceImpl.java index a2d1a2d..e48ec34 100644 --- a/src/main/java/com/codeit/todo/service/goal/impl/GoalServiceImpl.java +++ b/src/main/java/com/codeit/todo/service/goal/impl/GoalServiceImpl.java @@ -19,6 +19,7 @@ import com.codeit.todo.web.dto.response.goal.CreateGoalResponse; import com.codeit.todo.web.dto.response.goal.ReadGoalsResponse; import com.codeit.todo.web.dto.response.goal.UpdateGoalResponse; +import com.codeit.todo.web.dto.response.slice.CustomSlice; import com.codeit.todo.web.dto.response.todo.ReadTodosResponse; import com.codeit.todo.web.dto.response.todo.ReadTodosWithGoalsResponse; import lombok.RequiredArgsConstructor; @@ -124,7 +125,11 @@ public Slice findAllGoals(int userId, ReadTodoComple List sortedGoalsResponses = sortAllGoals(goalsResponses); - return new SliceImpl<>(sortedGoalsResponses, pageable, goals.hasNext()); + + Integer nextCursor = goals.hasNext() + ? goals.getContent().get(goals.getContent().size() -1).getGoalId() + : null; + return new CustomSlice<>(sortedGoalsResponses, pageable, goals.hasNext(), nextCursor); } private Slice getGoalsPagination(int userId, ReadTodoCompleteWithGoalRequest request, Pageable pageable){ diff --git a/src/main/java/com/codeit/todo/service/todo/impl/TodoServiceImpl.java b/src/main/java/com/codeit/todo/service/todo/impl/TodoServiceImpl.java index a01a70a..dd0af5a 100644 --- a/src/main/java/com/codeit/todo/service/todo/impl/TodoServiceImpl.java +++ b/src/main/java/com/codeit/todo/service/todo/impl/TodoServiceImpl.java @@ -291,15 +291,4 @@ public List makeTodosResponses(List todos){ return ReadTodosResponse.from(todo, completeResponses); }).toList(); } - - public Slice getGoalsPagination(int userId, ReadTodoCompleteWithGoalRequest request, Pageable pageable){ - Slice goals; - if (Objects.isNull(request.lastGoalId()) || request.lastGoalId() <= 0) { - goals = goalRepository.findByUser_UserId(userId, pageable); - } else { - goals = goalRepository.findByGoalIdAndUser_UserId(request.lastGoalId(), userId, pageable); - } - - return goals; - } }