Skip to content
Snippets Groups Projects
Commit 87db3eaf authored by donghyun's avatar donghyun
Browse files

Merge branch 'anak' into 'master'

feat: post includes s3file

See merge request !5
parents 242c4d5f 120cbf8d
No related branches found
No related tags found
1 merge request!5feat: post includes s3file
...@@ -5,17 +5,10 @@ import lombok.Builder; ...@@ -5,17 +5,10 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import umc.spring.post.data.entity.Post; import umc.spring.post.data.entity.Post;
@Entity
@Getter @Getter
@Embeddable
public class S3File { public class S3File {
@Id @GeneratedValue
Long id;
@ManyToOne
@JoinColumn(name = "project_id")
private Post post;
private String originalFileName; private String originalFileName;
private String uploadFileName; private String uploadFileName;
......
package umc.spring.file.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import umc.spring.file.domain.S3File;
public interface S3FileRepository extends JpaRepository<S3File, Long> {
}
...@@ -3,11 +3,12 @@ package umc.spring.post.data.dto; ...@@ -3,11 +3,12 @@ package umc.spring.post.data.dto;
import lombok.Data; import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import umc.spring.file.domain.S3File;
@Data @Data
public class PostDto { public class PostDto {
String title; String title;
String body; String body;
String image;
int likeCount; int likeCount;
S3File s3File;
} }
...@@ -2,6 +2,7 @@ package umc.spring.post.data.dto; ...@@ -2,6 +2,7 @@ package umc.spring.post.data.dto;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
import umc.spring.file.domain.S3File;
import umc.spring.post.data.entity.Comment; import umc.spring.post.data.entity.Comment;
import umc.spring.post.data.entity.Post; import umc.spring.post.data.entity.Post;
...@@ -12,16 +13,18 @@ import java.util.List; ...@@ -12,16 +13,18 @@ import java.util.List;
@Data @Data
@Builder @Builder
public class PostResDto { public class PostResDto {
Long id; Long id;
Long userId; Long userId;
String title; String title;
String author; String author;
String body; String body;
String image;
int likeCount; int likeCount;
S3File s3File;
Date createdTime; Date createdTime;
Date modifiedTime; Date modifiedTime;
List<CommentResDto> comments; List<CommentResDto> comments;
public static PostResDto toDTO(Post post){ public static PostResDto toDTO(Post post){
List<CommentResDto> resDtos = new ArrayList<>(); List<CommentResDto> resDtos = new ArrayList<>();
post.getComments().forEach(comment -> { post.getComments().forEach(comment -> {
...@@ -31,15 +34,13 @@ public class PostResDto { ...@@ -31,15 +34,13 @@ public class PostResDto {
return PostResDto.builder() return PostResDto.builder()
.id(post.getId()) .id(post.getId())
.userId(post.getUserId()) .userId(post.getUserId())
.s3File(post.getS3File())
.title(post.getTitle()) .title(post.getTitle())
.author(post.getAuthor()) .author(post.getAuthor())
.body(post.getBody()) .body(post.getBody())
.image(post.getImage())
.likeCount(post.getLikes().size()) .likeCount(post.getLikes().size())
.createdTime(post.getCreatedTime()) .createdTime(post.getCreatedTime())
.modifiedTime(post.getModifiedTime()) .modifiedTime(post.getModifiedTime())
.comments(resDtos).build(); .comments(resDtos).build();
} }
} }
...@@ -3,6 +3,8 @@ package umc.spring.post.data.entity; ...@@ -3,6 +3,8 @@ package umc.spring.post.data.entity;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import umc.spring.file.domain.S3File;
import umc.spring.file.domain.S3FileDto;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -27,9 +29,6 @@ public class Post{ ...@@ -27,9 +29,6 @@ public class Post{
@Column(nullable = false) @Column(nullable = false)
private String body; private String body;
@Column(nullable = false)
private String image;
@Column(nullable = false) @Column(nullable = false)
private int likeCount; private int likeCount;
...@@ -42,6 +41,9 @@ public class Post{ ...@@ -42,6 +41,9 @@ public class Post{
@Column(nullable = true) @Column(nullable = true)
private Date modifiedTime; private Date modifiedTime;
@Embedded
private S3File s3File;
@OneToMany(mappedBy = "post", cascade = CascadeType.ALL,fetch = FetchType.EAGER, @OneToMany(mappedBy = "post", cascade = CascadeType.ALL,fetch = FetchType.EAGER,
orphanRemoval = true) orphanRemoval = true)
private List<Comment> comments = new ArrayList<>(); private List<Comment> comments = new ArrayList<>();
...@@ -50,6 +52,4 @@ public class Post{ ...@@ -50,6 +52,4 @@ public class Post{
orphanRemoval = true) orphanRemoval = true)
private List<LikeData> likes = new ArrayList<>(); private List<LikeData> likes = new ArrayList<>();
} }
...@@ -112,7 +112,7 @@ public class PostServiceImpl implements PostService{ ...@@ -112,7 +112,7 @@ public class PostServiceImpl implements PostService{
if(Objects.equals(post.getUserId(), userInfoDto.getUserId())){ if(Objects.equals(post.getUserId(), userInfoDto.getUserId())){
post.setTitle(postDto.getTitle() != null ? postDto.getTitle() : post.getTitle()); post.setTitle(postDto.getTitle() != null ? postDto.getTitle() : post.getTitle());
post.setBody(postDto.getBody() != null ? postDto.getBody() : post.getBody()); post.setBody(postDto.getBody() != null ? postDto.getBody() : post.getBody());
post.setImage(postDto.getImage() != null ? postDto.getImage() : post.getImage()); post.setS3File(postDto.getS3File() != null ? postDto.getS3File() : post.getS3File());
post.setModifiedTime(new Date()); post.setModifiedTime(new Date());
postRepository.save(post); postRepository.save(post);
return true; return true;
...@@ -233,6 +233,6 @@ public class PostServiceImpl implements PostService{ ...@@ -233,6 +233,6 @@ public class PostServiceImpl implements PostService{
post.setTitle(postDto.getTitle()); post.setTitle(postDto.getTitle());
post.setBody(postDto.getBody()); post.setBody(postDto.getBody());
post.setLikeCount(0); post.setLikeCount(0);
post.setImage(postDto.getImage()); post.setS3File(postDto.getS3File());
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment