From 253b5799b6fec7818b2c457530ac1f5449f2c560 Mon Sep 17 00:00:00 2001 From: JongKyeong Kim Date: Thu, 30 Nov 2023 14:01:43 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A6=AC=EB=93=9C=EB=AF=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Glog/controller/BlogController.java | 8 ++++--- .../Glog/dto/response/blog/ReadMeDto.java | 16 +++++++++++++ .../Glog/repository/BlogRepository.java | 4 ++++ .../com/project/Glog/service/BlogService.java | 23 +++++++++++++++++-- 4 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 server/src/main/java/com/project/Glog/dto/response/blog/ReadMeDto.java diff --git a/server/src/main/java/com/project/Glog/controller/BlogController.java b/server/src/main/java/com/project/Glog/controller/BlogController.java index 72f1ea0b..cff1de78 100644 --- a/server/src/main/java/com/project/Glog/controller/BlogController.java +++ b/server/src/main/java/com/project/Glog/controller/BlogController.java @@ -3,6 +3,7 @@ import com.project.Glog.domain.Blog; import com.project.Glog.dto.request.user.UserCreateRequest; import com.project.Glog.dto.response.blog.MyPageResponse; +import com.project.Glog.dto.response.blog.ReadMeDto; import com.project.Glog.repository.BlogRepository; import com.project.Glog.security.CurrentUser; import com.project.Glog.security.UserPrincipal; @@ -54,11 +55,12 @@ public ResponseEntity getBlogId(@RequestParam String blogUrl){ } @GetMapping("/read-me") - public ResponseEntity readReadme(@RequestParam Long blogId){ + public ResponseEntity readReadme(@CurrentUser UserPrincipal userPrincipal, + @RequestParam Long blogId){ - String readme = blogService.getReadme(blogId); + ReadMeDto readMeDto = blogService.getReadme(userPrincipal, blogId); - return new ResponseEntity<>(readme, HttpStatus.OK); + return new ResponseEntity<>(readMeDto, HttpStatus.OK); } @PutMapping("/read-me") diff --git a/server/src/main/java/com/project/Glog/dto/response/blog/ReadMeDto.java b/server/src/main/java/com/project/Glog/dto/response/blog/ReadMeDto.java new file mode 100644 index 00000000..6098cdd2 --- /dev/null +++ b/server/src/main/java/com/project/Glog/dto/response/blog/ReadMeDto.java @@ -0,0 +1,16 @@ +package com.project.Glog.dto.response.blog; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class ReadMeDto { + private String blogName; + private String content; + private Boolean isMe; +} diff --git a/server/src/main/java/com/project/Glog/repository/BlogRepository.java b/server/src/main/java/com/project/Glog/repository/BlogRepository.java index 4b28d4a8..adf0841d 100644 --- a/server/src/main/java/com/project/Glog/repository/BlogRepository.java +++ b/server/src/main/java/com/project/Glog/repository/BlogRepository.java @@ -1,6 +1,7 @@ package com.project.Glog.repository; import com.project.Glog.domain.Blog; +import com.project.Glog.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -13,6 +14,9 @@ public interface BlogRepository extends JpaRepository { @Query("SELECT b FROM Blog b JOIN b.user u WHERE u.id=:userId") Optional findByUserId(@Param("userId") Long uid); + @Query("SELECT b.user FROM Blog b WHERE b.id=:blogId") + Optional findByBlogId(@Param("blogId") Long blogid); + @Query("SELECT b.id FROM Blog b WHERE b.blogUrl=:blogUrl") Long findByBlogUrl(@Param("blogUrl") String blogUrl); diff --git a/server/src/main/java/com/project/Glog/service/BlogService.java b/server/src/main/java/com/project/Glog/service/BlogService.java index 1cf7fd6d..34d91dca 100644 --- a/server/src/main/java/com/project/Glog/service/BlogService.java +++ b/server/src/main/java/com/project/Glog/service/BlogService.java @@ -5,6 +5,7 @@ import com.project.Glog.domain.User; import com.project.Glog.dto.request.user.UserCreateRequest; import com.project.Glog.dto.response.blog.MyPageResponse; +import com.project.Glog.dto.response.blog.ReadMeDto; import com.project.Glog.repository.BlogRepository; import com.project.Glog.repository.GuestbookRepository; import com.project.Glog.repository.UserRepository; @@ -56,8 +57,26 @@ public Long getBlogId(String blogUrl){ return blogRepository.findByBlogUrl(blogUrl); } - public String getReadme(Long blogId){ - return blogRepository.getReferenceById(blogId).getReadme(); + public ReadMeDto getReadme(UserPrincipal userPrincipal, Long blogId){ + ReadMeDto readMeDto = new ReadMeDto(); + Blog blog = blogRepository.getReferenceById(blogId); + Boolean isMe; + + if(userPrincipal == null){ + isMe = false; + } + else{ + if(userPrincipal.getId() == blogRepository.findByBlogId(blogId).get().getId()){ + isMe = true; + } + else{ + isMe = false; + } + } + readMeDto.setBlogName(blog.getBlogName()); + readMeDto.setContent(blog.getReadme()); + readMeDto.setIsMe(isMe); + return readMeDto; } public void registerReadme(UserPrincipal userPrincipal, String readme){