Skip to content

Commit

Permalink
feat: api 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
yeonjookang committed Oct 17, 2024
1 parent 33defeb commit 78430d6
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 6 deletions.
12 changes: 10 additions & 2 deletions src/main/java/server/poptato/todo/api/TodoController.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import server.poptato.todo.application.response.BacklogListResponseDto;
import server.poptato.todo.application.response.PaginatedHistoryResponseDto;
import server.poptato.todo.application.response.TodayListResponseDto;
import server.poptato.todo.application.response.TodoDetailResponseDto;
import server.poptato.user.resolver.UserId;

import java.time.LocalDate;
Expand Down Expand Up @@ -73,9 +74,16 @@ public BaseResponse dragAndDrop(@UserId Long userId,
}

@PostMapping("/backlog")
public BaseResponse generateBacklog(//@UserId Long userId,
public BaseResponse generateBacklog(@UserId Long userId,
@Validated @RequestBody BacklogCreateRequestDto backlogCreateRequestDto){
todoService.generateBacklog(1L, backlogCreateRequestDto.getContent());
todoService.generateBacklog(userId, backlogCreateRequestDto.getContent());
return new BaseResponse<>();
}

@GetMapping("/todo/{todoId}")
public BaseResponse<TodoDetailResponseDto> getTodoInfo(@UserId Long userId,
@PathVariable Long todoId){
TodoDetailResponseDto response = todoService.getTodoInfo(userId, todoId);
return new BaseResponse<>(response);
}
}
20 changes: 16 additions & 4 deletions src/main/java/server/poptato/todo/application/TodoService.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@
import server.poptato.todo.api.request.SwipeRequestDto;
import org.springframework.transaction.annotation.Transactional;
import server.poptato.global.response.BaseResponse;
import server.poptato.todo.application.response.BacklogListResponseDto;
import server.poptato.todo.application.response.HistoryResponseDto;
import server.poptato.todo.application.response.PaginatedHistoryResponseDto;
import server.poptato.todo.application.response.TodayListResponseDto;
import server.poptato.todo.application.response.*;
import server.poptato.todo.domain.entity.Todo;
import server.poptato.todo.domain.repository.TodoRepository;
import server.poptato.todo.domain.value.TodayStatus;
Expand All @@ -29,6 +26,7 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

import static server.poptato.todo.exception.errorcode.TodoExceptionErrorCode.TODO_NOT_EXIST;
Expand Down Expand Up @@ -217,4 +215,18 @@ public Long generateBacklog(Long userId, String content) {
Todo newBacklog = todoRepository.save(backlog);
return newBacklog.getId();
}

public TodoDetailResponseDto getTodoInfo(Long userId, Long todoId) {
checkIsExistUser(userId);
Todo findTodo = todoRepository.findById(todoId)
.orElseThrow(() -> new TodoException(TODO_NOT_EXIST));
if(findTodo.getUserId()!=userId)
throw new TodoException(TodoExceptionErrorCode.TODO_USER_NOT_MATCH);

return TodoDetailResponseDto.builder()
.content(findTodo.getContent())
.isBookmark(findTodo.isBookmark())
.deadline(findTodo.getDeadline())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package server.poptato.todo.application.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;

import java.time.LocalDate;

@Getter
@Builder
@AllArgsConstructor
public class TodoDetailResponseDto {
String content;
LocalDate deadline;
Boolean isBookmark;
}

0 comments on commit 78430d6

Please sign in to comment.