Skip to content

Commit 00e4f3d

Browse files
committed
refactor : Article 에 ImageKey 객체 도입
1 parent d246067 commit 00e4f3d

File tree

4 files changed

+12
-17
lines changed

4 files changed

+12
-17
lines changed

src/main/java/eatda/domain/article/Article.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package eatda.domain.article;
22

33
import eatda.domain.AuditingEntity;
4+
import eatda.domain.ImageKey;
45
import jakarta.persistence.Column;
6+
import jakarta.persistence.Embedded;
57
import jakarta.persistence.Entity;
68
import jakarta.persistence.GeneratedValue;
79
import jakarta.persistence.GenerationType;
810
import jakarta.persistence.Id;
911
import jakarta.persistence.Table;
12+
import jakarta.validation.constraints.NotNull;
1013
import lombok.AccessLevel;
1114
import lombok.Getter;
1215
import lombok.NoArgsConstructor;
@@ -30,10 +33,11 @@ public class Article extends AuditingEntity {
3033
@Column(name = "article_url", nullable = false, length = 511)
3134
private String articleUrl;
3235

33-
@Column(name = "image_key", nullable = false, length = 511)
34-
private String imageKey;
36+
@NotNull
37+
@Embedded
38+
private ImageKey imageKey;
3539

36-
public Article(String title, String subtitle, String articleUrl, String imageKey) {
40+
public Article(String title, String subtitle, String articleUrl, ImageKey imageKey) {
3741
this.title = title;
3842
this.subtitle = subtitle;
3943
this.articleUrl = articleUrl;

src/main/java/eatda/domain/story/Story.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import jakarta.persistence.JoinColumn;
1919
import jakarta.persistence.ManyToOne;
2020
import jakarta.persistence.Table;
21+
import jakarta.validation.constraints.NotNull;
2122
import lombok.AccessLevel;
2223
import lombok.Builder;
2324
import lombok.Getter;
@@ -56,6 +57,7 @@ public class Story extends AuditingEntity {
5657
@Column(name = "description", nullable = false)
5758
private String description;
5859

60+
@NotNull
5961
@Embedded
6062
private ImageKey imageKey;
6163

src/main/java/eatda/service/article/ArticleService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import eatda.controller.article.ArticleResponse;
44
import eatda.controller.article.ArticlesResponse;
5-
import eatda.domain.Image;
6-
import eatda.domain.ImageKey;
75
import eatda.repository.article.ArticleRepository;
86
import eatda.storage.image.ImageStorage;
97
import java.util.List;
@@ -26,7 +24,7 @@ public ArticlesResponse getAllArticles(int size) {
2624
article.getTitle(),
2725
article.getSubtitle(),
2826
article.getArticleUrl(),
29-
imageStorage.getPreSignedUrl(new ImageKey(article.getImageKey()))
27+
imageStorage.getPreSignedUrl(article.getImageKey())
3028
))
3129
.toList();
3230

src/test/java/eatda/fixture/ArticleGenerator.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package eatda.fixture;
22

3-
import eatda.controller.article.ArticleResponse;
3+
import eatda.domain.ImageKey;
44
import eatda.domain.article.Article;
55
import eatda.repository.article.ArticleRepository;
66
import org.springframework.stereotype.Component;
@@ -36,16 +36,7 @@ public Article generate(String title, String subtitle, String articleUrl) {
3636
}
3737

3838
public Article generate(String title, String subtitle, String articleUrl, String imageKey) {
39-
Article article = new Article(title, subtitle, articleUrl, imageKey);
39+
Article article = new Article(title, subtitle, articleUrl, new ImageKey(imageKey));
4040
return articleRepository.save(article);
4141
}
42-
43-
public ArticleResponse toResponse(Article article) {
44-
return new ArticleResponse(
45-
article.getTitle(),
46-
article.getSubtitle(),
47-
article.getArticleUrl(),
48-
"https://s3.bucket.com/" + article.getImageKey()
49-
);
50-
}
5142
}

0 commit comments

Comments
 (0)