Skip to content

Commit

Permalink
Merge pull request #20 from ReadyItGo-A-level/yongeun_feat/#19
Browse files Browse the repository at this point in the history
feat:> MypageComment api #19
  • Loading branch information
gdakate authored Aug 4, 2022
2 parents fe5762e + 841c02b commit f721811
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ public class QComment extends EntityPathBase<Comment> {

public final NumberPath<Long> id = createNumber("id", Long.class);

public final com.alevel.backend.domain.post.QPost postId;
public final com.alevel.backend.domain.post.QPost post;

public final com.alevel.backend.domain.user.QUser userId;
public final com.alevel.backend.domain.user.QUser user;

public QComment(String variable) {
this(Comment.class, forVariable(variable), INITS);
Expand All @@ -48,8 +48,8 @@ public QComment(PathMetadata metadata, PathInits inits) {

public QComment(Class<? extends Comment> type, PathMetadata metadata, PathInits inits) {
super(type, metadata, inits);
this.postId = inits.isInitialized("postId") ? new com.alevel.backend.domain.post.QPost(forProperty("postId"), inits.get("postId")) : null;
this.userId = inits.isInitialized("userId") ? new com.alevel.backend.domain.user.QUser(forProperty("userId")) : null;
this.post = inits.isInitialized("post") ? new com.alevel.backend.domain.post.QPost(forProperty("post"), inits.get("post")) : null;
this.user = inits.isInitialized("user") ? new com.alevel.backend.domain.user.QUser(forProperty("user")) : null;
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.alevel.backend.controller;

import com.alevel.backend.controller.dto.MypageCommentResponseDto;
import com.alevel.backend.service.MypageCommentService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RequiredArgsConstructor
@RestController
public class MypageCommentController {
private final MypageCommentService mypageCommentService;

@GetMapping("/user/{id}/comment")
public MypageCommentResponseDto findByUserId(@PathVariable Long id){
return mypageCommentService.findByUserId(id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.alevel.backend.controller.dto;

import com.alevel.backend.domain.comment.Comment;
import lombok.Getter;

@Getter
public class MypageCommentResponseDto {
private String content;

public MypageCommentResponseDto(Comment entity){
this.content=entity.getContent();
}
}
12 changes: 10 additions & 2 deletions src/main/java/com/alevel/backend/domain/comment/Comment.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.alevel.backend.domain.BaseTimeEntity;
import com.alevel.backend.domain.post.Post;
import com.alevel.backend.domain.user.User;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
Expand All @@ -20,12 +21,19 @@ public class Comment extends BaseTimeEntity {

@ManyToOne(targetEntity = User.class)
@JoinColumn(name = "user_id")
private Long userId;
private User user;

@ManyToOne(targetEntity = Post.class)
@JoinColumn(name = "post_id")
private Long postId;
private Post post;

@Column(columnDefinition = "TEXT")
private String content;

// @Builder
// public Comment(User user, Post post,String content){
// this.user=user;
// this.post=post;
// this.content=content;
// }
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface CommentRepository extends JpaRepository<Comment, Long> {

Optional<Comment> findByUserId(Long id);
}

21 changes: 21 additions & 0 deletions src/main/java/com/alevel/backend/service/MypageCommentService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.alevel.backend.service;

import com.alevel.backend.controller.dto.MypageCommentResponseDto;
import com.alevel.backend.domain.comment.Comment;
import com.alevel.backend.domain.comment.CommentRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@RequiredArgsConstructor
@Service
public class MypageCommentService {
private final CommentRepository commentRepository;

@Transactional
public MypageCommentResponseDto findByUserId(Long id){
Comment entity = commentRepository.findByUserId(id).orElseThrow(()
-> new IllegalArgumentException("작성한 댓글이 없습니다. id="+id));
return new MypageCommentResponseDto(entity);
}
}

0 comments on commit f721811

Please sign in to comment.