diff --git a/src/main/java/com/back/domain/post/post/dto/request/PostCreateRequestDto.java b/src/main/java/com/back/domain/post/post/dto/request/PostCreateRequestDto.java index e1b8a37d..54940013 100644 --- a/src/main/java/com/back/domain/post/post/dto/request/PostCreateRequestDto.java +++ b/src/main/java/com/back/domain/post/post/dto/request/PostCreateRequestDto.java @@ -12,6 +12,7 @@ public record PostCreateRequestDto( @NotBlank (message = "내용은 필수입니다.") String content, String imageUrl, + String videoUrl, List tags ) { } diff --git a/src/main/java/com/back/domain/post/post/dto/request/PostUpdateRequestDto.java b/src/main/java/com/back/domain/post/post/dto/request/PostUpdateRequestDto.java index a44e5895..65d97457 100644 --- a/src/main/java/com/back/domain/post/post/dto/request/PostUpdateRequestDto.java +++ b/src/main/java/com/back/domain/post/post/dto/request/PostUpdateRequestDto.java @@ -9,6 +9,7 @@ public record PostUpdateRequestDto( String title, String content, String imageUrl, + String videoUrl, List tags ) { } diff --git a/src/main/java/com/back/domain/post/post/dto/response/PostResponseDto.java b/src/main/java/com/back/domain/post/post/dto/response/PostResponseDto.java index c527a7b1..4f06c3a7 100644 --- a/src/main/java/com/back/domain/post/post/dto/response/PostResponseDto.java +++ b/src/main/java/com/back/domain/post/post/dto/response/PostResponseDto.java @@ -15,6 +15,7 @@ public record PostResponseDto( String title, String content, String imageUrl, + String videoUrl, List tags, Integer likeCount, Integer commentCount, @@ -32,6 +33,7 @@ public PostResponseDto(Post post) { post.getTitle(), post.getContent(), post.getImageUrl(), + post.getVideoUrl(), post.getPostTags().stream() .map(postTag -> postTag.getTag().getName()) .toList(), diff --git a/src/main/java/com/back/domain/post/post/entity/Post.java b/src/main/java/com/back/domain/post/post/entity/Post.java index 9ce65b79..da602d18 100644 --- a/src/main/java/com/back/domain/post/post/entity/Post.java +++ b/src/main/java/com/back/domain/post/post/entity/Post.java @@ -79,6 +79,10 @@ public class Post { @Column(name = "image_url") private String imageUrl; + // 게시글 동영상 URL + @Column(name = "video_url") + private String videoUrl; + @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true) private List postTags = new ArrayList<>(); @@ -118,6 +122,10 @@ public void updateImage(String imageUrl) { this.imageUrl = imageUrl; } + public void updateVideo(String videoUrl) { + this.videoUrl = videoUrl; + } + public void addTag(Tag tag) { PostTag postTag = PostTag.create(this, tag); this.postTags.add(postTag); diff --git a/src/main/java/com/back/domain/post/post/service/PostService.java b/src/main/java/com/back/domain/post/post/service/PostService.java index 7f4a390a..c54d2818 100644 --- a/src/main/java/com/back/domain/post/post/service/PostService.java +++ b/src/main/java/com/back/domain/post/post/service/PostService.java @@ -50,6 +50,7 @@ public PostResponseDto createPost(PostCreateRequestDto reqBody) { .title(reqBody.title()) .content(reqBody.content()) .imageUrl(reqBody.imageUrl()) + .videoUrl(reqBody.videoUrl()) .build(); List tagNames = reqBody.tags(); @@ -114,6 +115,9 @@ public PostResponseDto updatePost(Long postId, PostUpdateRequestDto reqBody) { if (reqBody.imageUrl() != null && !reqBody.imageUrl().isBlank()) { post.updateImage(reqBody.imageUrl()); } + if (reqBody.videoUrl() != null && !reqBody.videoUrl().isBlank()) { + post.updateVideo(reqBody.videoUrl()); + } if (reqBody.tags() != null) { // 기존 태그들 삭제 post.clearTags();