Skip to content

Commit 54a8c17

Browse files
authored
feat(community) : repository 설명 표시, 최신순 정렬 수정
feat(community) : repository 설명 표시, 최신순 정렬 수정
2 parents a8445f2 + 276f989 commit 54a8c17

File tree

4 files changed

+40
-10
lines changed

4 files changed

+40
-10
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
}

front/src/components/community/RepoCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export default function RepositoryCard({ item }: { item: RepositoryItem }) {
4343

4444
{/* 요약 */}
4545
<p className="mt-2 text-gray-700 text-sm leading-relaxed">
46-
{item.summary}
46+
{item.description}
4747
</p>
4848

4949
{/* 점수 */}

front/src/types/community.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22

33
// 공개 상태 repository 목록 조회
44
export interface RepositoryItem {
5-
userName: string;
6-
userImage: string | null;
7-
repositoryId: number;
8-
summary: string;
9-
language: string[];
10-
totalScore: number;
11-
viewingStatus: boolean;
5+
userName: string
6+
userImage: string | null
7+
repositoryName: string
8+
repositoryId: number
9+
summary: string
10+
description: string
11+
language: string[]
12+
totalScore: number
13+
createDate: string // LocalDateTime → string
14+
viewingStatus: boolean
1215
}
1316

17+
1418
// comment 목록 조회
1519
export interface Comment {
1620
id: number

0 commit comments

Comments
 (0)