11package project .flipnote .cardset .service ;
22
33import java .util .List ;
4- import java .util .Optional ;
54import java .util .Set ;
65
76import org .springframework .beans .factory .annotation .Value ;
1110
1211import lombok .RequiredArgsConstructor ;
1312import lombok .extern .slf4j .Slf4j ;
13+ import project .flipnote .bookmark .entity .BookmarkTargetType ;
14+ import project .flipnote .bookmark .service .BookmarkReader ;
15+ import project .flipnote .bookmark .service .BookmarkService ;
1416import project .flipnote .cardset .entity .CardSet ;
1517import project .flipnote .cardset .entity .CardSetManager ;
1618import project .flipnote .cardset .entity .CardSetMetadata ;
4042import project .flipnote .image .entity .ReferenceType ;
4143import project .flipnote .image .service .ImageRefService ;
4244import project .flipnote .image .service .ImageService ;
45+ import project .flipnote .like .entity .LikeTargetType ;
46+ import project .flipnote .like .service .LikeReader ;
4347import project .flipnote .user .entity .UserProfile ;
4448import project .flipnote .user .entity .UserStatus ;
4549import project .flipnote .user .exception .UserErrorCode ;
@@ -61,6 +65,8 @@ public class CardSetService {
6165 private final ImageService imageService ;
6266 private final ImageRefService imageRefService ;
6367 private final GroupService groupService ;
68+ private final LikeReader likeReader ;
69+ private final BookmarkReader bookmarkReader ;
6470
6571 @ Value ("${image.default.cardSet}" )
6672 private String defaultCardSetImage ;
@@ -116,7 +122,7 @@ public CreateCardSetResponse createCardSet(Long groupId, AuthPrinciple authPrinc
116122
117123 cardSetRepository .save (cardSet );
118124
119- if (req .imageRefId ()!= null ) {
125+ if (req .imageRefId () != null ) {
120126 // 이미지 활성화
121127 imageService .changeUrlStatus (req .imageRefId (), REFERENCE_TYPE , cardSet .getId ());
122128 }
@@ -147,7 +153,7 @@ public CreateCardSetResponse createCardSet(Long groupId, AuthPrinciple authPrinc
147153 public PagingResponse <CardSetSummaryResponse > getCardSets (CardSetSearchRequest req ) {
148154 // TODO: Projection 튜닝 필요
149155 Page <CardSetInfo > cardSetPage = cardSetRepository .searchByNameContainingAndCategory (
150- req .getKeyword (), Category .from (req .getCategory ()), req .getPageRequest ()
156+ req .getKeyword (), Category .from (req .getCategory ()), req .getPageRequest ()
151157 );
152158
153159 Page <CardSetSummaryResponse > res = cardSetPage .map (CardSetSummaryResponse ::from );
@@ -169,13 +175,14 @@ public CardSetDetailResponse getCardSet(Long userId, Long groupId, Long cardSetI
169175
170176 cardSetPolicyService .validateCardSetViewable (cardSet , userId );
171177
172- Optional <ImageRef > imageRef = imageRefService .findByTypeAndReferenceId (REFERENCE_TYPE , cardSetId );
178+ boolean liked = likeReader .isLiked (userId , LikeTargetType .CARD_SET , cardSetId );
179+ boolean bookmarked = bookmarkReader .isBookmarked (userId , BookmarkTargetType .CARD_SET , cardSetId );
173180
174181 Long imageRefId = imageRefService .findByTypeAndReferenceId (REFERENCE_TYPE , cardSetId )
175182 .map (ImageRef ::getId )
176183 .orElse (null );
177184
178- return CardSetDetailResponse .from (cardSet , imageRefId );
185+ return CardSetDetailResponse .from (cardSet , liked , bookmarked , imageRefId );
179186 }
180187
181188 /**
@@ -201,7 +208,10 @@ public CardSetDetailResponse updateCardSet(Long userId, Long groupId, Long cardS
201208
202209 cardSetRepository .saveAndFlush (cardSet );
203210
204- return CardSetDetailResponse .from (cardSet , imageMeta .imageRefId ());
211+ boolean liked = likeReader .isLiked (userId , LikeTargetType .CARD_SET , cardSetId );
212+ boolean bookmarked = bookmarkReader .isBookmarked (userId , BookmarkTargetType .CARD_SET , cardSetId );
213+
214+ return CardSetDetailResponse .from (cardSet , liked , bookmarked , imageMeta .imageRefId ());
205215 }
206216
207217 /**
0 commit comments