11package eatda .domain .story ;
22
33import eatda .domain .AuditingEntity ;
4+ import eatda .domain .ImageKey ;
45import eatda .domain .member .Member ;
56import eatda .domain .store .StoreCategory ;
67import eatda .exception .BusinessErrorCode ;
78import eatda .exception .BusinessException ;
89import jakarta .persistence .Column ;
10+ import jakarta .persistence .Embedded ;
911import jakarta .persistence .Entity ;
1012import jakarta .persistence .EnumType ;
1113import jakarta .persistence .Enumerated ;
1618import jakarta .persistence .JoinColumn ;
1719import jakarta .persistence .ManyToOne ;
1820import jakarta .persistence .Table ;
21+ import jakarta .validation .constraints .NotNull ;
1922import lombok .AccessLevel ;
2023import lombok .Builder ;
2124import lombok .Getter ;
@@ -54,8 +57,9 @@ public class Story extends AuditingEntity {
5457 @ Column (name = "description" , nullable = false )
5558 private String description ;
5659
57- @ Column (name = "image_key" , nullable = false )
58- private String imageKey ;
60+ @ NotNull
61+ @ Embedded
62+ private ImageKey imageKey ;
5963
6064 @ Builder
6165 private Story (
@@ -66,7 +70,7 @@ private Story(
6670 String storeRoadAddress ,
6771 String storeLotNumberAddress ,
6872 String description ,
69- String imageKey
73+ ImageKey imageKey
7074 ) {
7175 validateMember (member );
7276 validateStore (storeKakaoId , storeCategory , storeName , storeRoadAddress , storeLotNumberAddress );
@@ -102,7 +106,7 @@ private void validateStore(
102106 validateStoreLotNumberAddress (lotNumberAddress );
103107 }
104108
105- private void validateStory (String description , String imageKey ) {
109+ private void validateStory (String description , ImageKey imageKey ) {
106110 validateDescription (description );
107111 validateImage (imageKey );
108112 }
@@ -120,7 +124,7 @@ private void validateStoreName(String storeName) {
120124 }
121125
122126 private void validateStoreRoadAddress (String roadAddress ) {
123- if (roadAddress == null || roadAddress . isBlank () ) {
127+ if (roadAddress == null ) {
124128 throw new BusinessException (BusinessErrorCode .INVALID_STORE_ADDRESS );
125129 }
126130 }
@@ -143,8 +147,8 @@ private void validateDescription(String description) {
143147 }
144148 }
145149
146- private void validateImage (String imageKey ) {
147- if (imageKey == null || imageKey .isBlank ()) {
150+ private void validateImage (ImageKey imageKey ) {
151+ if (imageKey == null || imageKey .isEmpty ()) {
148152 throw new BusinessException (BusinessErrorCode .INVALID_STORY_IMAGE_KEY );
149153 }
150154 }
0 commit comments