Skip to content

Commit

Permalink
✨ Feat: isScrap 필드 내려주기
Browse files Browse the repository at this point in the history
로그인 한 사용자 (true/false), 로그인 안 한 사용자(false)
  • Loading branch information
swa07016 committed Oct 14, 2023
1 parent 94cc8fd commit 0acc776
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
10 changes: 9 additions & 1 deletion src/main/java/briefing/briefing/api/BriefingApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
import briefing.briefing.application.dto.*;
import briefing.briefing.domain.BriefingType;
import java.time.LocalDate;
import java.util.Optional;

import briefing.common.response.CommonResponse;
import briefing.member.domain.Member;
import briefing.scrap.application.ScrapQueryService;
import briefing.security.handler.annotation.AuthMember;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
Expand All @@ -31,6 +33,7 @@ public class BriefingApi {

private final BriefingQueryService briefingQueryService;
private final BriefingCommandService briefingCommandService;
private final ScrapQueryService scrapQueryService;

@GetMapping
public CommonResponse<BriefingResponseDTO.BriefingPreviewListDTO> findBriefings(
Expand All @@ -43,7 +46,12 @@ public CommonResponse<BriefingResponseDTO.BriefingPreviewListDTO> findBriefings(
@GetMapping("/{id}")
@Parameter(name = "member", hidden = true)
public CommonResponse<BriefingResponseDTO.BriefingDetailDTO> findBriefing(@PathVariable final Long id, @AuthMember Member member) {
return CommonResponse.onSuccess(BriefingConverter.toBriefingDetailDTO(briefingQueryService.findBriefing(id)));

Boolean isScrap = Optional.ofNullable(member)
.map(m -> scrapQueryService.existsByMemberIdAndBriefingId(m.getId(), id))
.orElseGet(() -> Boolean.FALSE);

return CommonResponse.onSuccess(BriefingConverter.toBriefingDetailDTO(briefingQueryService.findBriefing(id), isScrap));
}

@PostMapping
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/briefing/briefing/api/BriefingConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public static BriefingResponseDTO.ArticleResponseDTO toArticleResponseDTO(final
.build();
}

public static BriefingResponseDTO.BriefingDetailDTO toBriefingDetailDTO(Briefing briefing){
public static BriefingResponseDTO.BriefingDetailDTO toBriefingDetailDTO(Briefing briefing, Boolean isScrap){

List<BriefingResponseDTO.ArticleResponseDTO> articleResponseDTOList = briefing.getBriefingArticles().stream()
.map(article -> toArticleResponseDTO(article.getArticle())).toList();
Expand All @@ -54,6 +54,7 @@ public static BriefingResponseDTO.BriefingDetailDTO toBriefingDetailDTO(Briefing
.content(briefing.getContent())
.date(briefing.getCreatedAt().toLocalDate())
.articles(articleResponseDTOList)
.isScrap(isScrap)
.build();
}

Expand Down
2 changes: 0 additions & 2 deletions src/main/java/briefing/member/api/MemberApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,8 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.sql.Ref;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;

@Tag(name = "02-Member \uD83D\uDC64",description = "사용자 관련 API")
@RestController
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,9 @@ public class ScrapQueryService {
public List<Scrap> getScrapsByMemberId(Long memberId) {
return scrapRepository.findByMember_Id(memberId);
}


public Boolean existsByMemberIdAndBriefingId(Long memberId, Long briefingId) {
return scrapRepository.existsByMember_IdAndBriefing_Id(memberId, briefingId);
}
}

0 comments on commit 0acc776

Please sign in to comment.