From 631b6dffc0fc07a27e06a3d79e6c9811dca48ed7 Mon Sep 17 00:00:00 2001 From: kokoa322 Date: Mon, 18 Jul 2022 12:01:06 +0900 Subject: [PATCH] =?UTF-8?q?#28=20[update]=20=ED=8F=B4=EB=8D=94=20=EB=A6=AC?= =?UTF-8?q?=EB=9E=99=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bookmark/controller/FolderController.java | 28 +++++++++++++------ .../bookmark/service/FolderService.java | 26 +++++++++++------ 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/mpnp/baechelin/bookmark/controller/FolderController.java b/src/main/java/com/mpnp/baechelin/bookmark/controller/FolderController.java index 3b73052..c0aab40 100644 --- a/src/main/java/com/mpnp/baechelin/bookmark/controller/FolderController.java +++ b/src/main/java/com/mpnp/baechelin/bookmark/controller/FolderController.java @@ -5,6 +5,8 @@ import com.mpnp.baechelin.bookmark.dto.FolderResponseDto; import com.mpnp.baechelin.bookmark.service.FolderService; import lombok.RequiredArgsConstructor; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.security.core.userdetails.User; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -16,33 +18,43 @@ public class FolderController { private final FolderService folderService; + /** 폴더 신규 생성 */ @PostMapping("/folder") - public void folder (@RequestBody FolderRequestDto folderRequestDto){ + public void folder (@RequestBody FolderRequestDto folderRequestDto, + @AuthenticationPrincipal User user){ - folderService.folder(folderRequestDto); + if(user==null){ throw new IllegalArgumentException("해당하는 회원 정보가 없습니다."); } + folderService.folder(folderRequestDto, user.getUsername()); } - /** 폴더 삭제 -> 삭제 시 안에 담긴 모든 북마크가 삭제됨 */ + + /** 폴더 삭제 -> 삭제 시 안에 담긴 모든 북마크가 삭제됨 */ @DeleteMapping("/folder/{folderId}") - public void folderDelete (@PathVariable int folderId){ + public void folderDelete (@PathVariable int folderId) { + folderService.folderDelete(folderId); } + + /** 폴더 명 변경 */ @PutMapping("/folderUpdate/{folderId}") - public void folderUpdate (@PathVariable int folderId, @RequestParam String newFolderName){ - System.out.println(newFolderName); + public void folderUpdate (@PathVariable int folderId, + @RequestParam String newFolderName){ + folderService.folderUpdate(folderId, newFolderName); } + + /** 폴더 리스트 */ @PostMapping("/folderList") - public List folderList (int userId){ + public List folderList (@AuthenticationPrincipal User user){ - return folderService.folderList(userId); + return folderService.folderList(user.getUsername()); } } diff --git a/src/main/java/com/mpnp/baechelin/bookmark/service/FolderService.java b/src/main/java/com/mpnp/baechelin/bookmark/service/FolderService.java index b8b9e47..eed5baa 100644 --- a/src/main/java/com/mpnp/baechelin/bookmark/service/FolderService.java +++ b/src/main/java/com/mpnp/baechelin/bookmark/service/FolderService.java @@ -22,42 +22,50 @@ public class FolderService { private final FolderRepository folderRepository; private final UserRepository userRepository; + /** 폴더 생성 */ @Transactional - public void folder(FolderRequestDto folderRequestDto) { - - Optional user = userRepository.findById(1); + public void folder(FolderRequestDto folderRequestDto, String socialId) { + User user = userRepository.findBySocialId(socialId); Folder folder = Folder.builder() .folderName(folderRequestDto.getFolderName()) - .userId(user.get()) + .userId(user) .build(); folderRepository.save(folder); } + /** 폴더 삭제 */ public void folderDelete(int folderId) { folderRepository.deleteById(folderId); } - + /** 폴더 수정 */ public void folderUpdate(int folderId, String newFolderName) { - Optional folder = folderRepository.findById(folderId); + + Optional folder = folderRepository.findById(folderId); folder.get().setFolderName(newFolderName); + folderRepository.save(folder.get()); } + + /** 폴더 조회 */ @Transactional(readOnly = true) - public List folderList(int userId) { - Optional user = userRepository.findById(userId); + public List folderList(String socialId) { + + User user = userRepository.findBySocialId(socialId); List folderResponseDtoList = new ArrayList<>(); - for(Folder obj : user.get().getFolderList()){ + + for(Folder obj : user.getFolderList()){ folderResponseDtoList.add(FolderResponseDto.FolderDtoRes(obj)); } + return folderResponseDtoList; } }