Skip to content

Commit 051633c

Browse files
committed
feaet(community) : DTO repository description 추가, 최신순 정렬 추가
1 parent b70db51 commit 051633c

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

backend/src/main/java/com/backend/domain/community/controller/CommunityController.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@
1212
import com.backend.domain.repository.entity.Repositories;
1313
import com.backend.domain.repository.service.RepositoryService;
1414
import com.backend.domain.user.entity.User;
15+
import com.backend.domain.user.util.JwtUtil;
16+
import com.backend.global.exception.BusinessException;
17+
import com.backend.global.exception.ErrorCode;
18+
import jakarta.servlet.http.HttpServlet;
19+
import jakarta.servlet.http.HttpServletRequest;
1520
import lombok.RequiredArgsConstructor;
1621
import org.springframework.http.ResponseEntity;
22+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1723
import org.springframework.web.bind.annotation.*;
1824

1925
import java.util.ArrayList;
@@ -26,6 +32,7 @@ public class CommunityController {
2632
private final CommunityService communityService;
2733
private final AnalysisService analysisService;
2834
private final RepositoryService repositoryService;
35+
private final JwtUtil jwtUtil;
2936

3037
/**
3138
* 커뮤니티 관련 기능이 있는 컨트롤러 입니다.
@@ -59,7 +66,10 @@ public ResponseEntity<List<CommunityResponseDto>> getPublicRepositories(){
5966
communityRepositories.add(dto);
6067
}
6168
}
62-
return ResponseEntity.ok(communityRepositories);
69+
70+
communityRepositories.sort((a, b) -> b.createDate().compareTo(a.createDate()));
71+
72+
return ResponseEntity.ok(communityRepositories);
6373
}
6474

6575

@@ -68,8 +78,19 @@ public ResponseEntity<List<CommunityResponseDto>> getPublicRepositories(){
6878
@PostMapping("/{analysisResultId}/write")
6979
public ResponseEntity<CommentResponseDto> addComment(
7080
@PathVariable Long analysisResultId,
71-
@RequestBody CommentRequestDto requestDto
81+
@RequestBody CommentRequestDto requestDto,
82+
HttpServletRequest httpRequest
7283
) {
84+
// userId를 api url에서 받지 않는다.
85+
// 여기서 받은 유저 정보가 userDB에 존재하는지 확인
86+
// -> 존재하지 않는다면 회원이 아닙니다.
87+
// -> 존재한다면 회원이니까 댓글 작성 가능
88+
Long jwtUserId = jwtUtil.getUserId(httpRequest);
89+
// if(!idUserPresent(jwtUserId)){
90+
//
91+
// }
92+
93+
7394
Comment saved = communityService.addComment(
7495
analysisResultId,
7596
requestDto.memberId(),

backend/src/main/java/com/backend/domain/community/dto/response/CommunityResponseDto.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.backend.domain.analysis.entity.Score;
55
import com.backend.domain.repository.entity.Repositories;
66

7+
import java.time.LocalDateTime;
78
import java.util.List;
89
import java.util.stream.Collectors;
910

@@ -13,8 +14,10 @@ public record CommunityResponseDto(
1314
String repositoryName,
1415
Long repositoryId,
1516
String summary,
17+
String description,
1618
List<String> language,
1719
int totalScore,
20+
LocalDateTime createDate,
1821
boolean vewingStatus
1922
) {
2023
public CommunityResponseDto(Repositories repositories, AnalysisResult analysis, Score score) {
@@ -24,10 +27,12 @@ public CommunityResponseDto(Repositories repositories, AnalysisResult analysis,
2427
repositories.getName(),
2528
repositories.getId(),
2629
analysis.getSummary(),
30+
repositories.getDescription(),
2731
repositories.getLanguages().stream()
2832
.map(language -> language.getLanguage().name())
2933
.collect(Collectors.toList()),
3034
score.getTotalScore(),
35+
analysis.getCreateDate(),
3136
repositories.isPublicRepository()
3237
);
3338
}

0 commit comments

Comments
 (0)