Skip to content

Commit 87a6547

Browse files
authored
feat: 코스 상세 조회에서 작성자와 접속 유저 비교하는 필드 추가 (#154)
1 parent b33191a commit 87a6547

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

src/main/java/org/runnect/server/course/controller/CourseController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public ApiResponseDto<CourseGetByUserResponseDto> getPrivateCourseByUser(
7171
public ApiResponseDto<GetCourseDetailResponseDto> getCourseDetail(@UserId Long userId,
7272
@PathVariable Long courseId) {
7373
return ApiResponseDto.success(SuccessStatus.GET_COURSE_DETAIL_SUCCESS,
74-
courseService.getCourseDetail(courseId));
74+
courseService.getCourseDetail(courseId, userId));
7575
}
7676

7777
@PatchMapping("/{courseId}")

src/main/java/org/runnect/server/course/dto/response/GetCourseDetailResponseDto.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public class GetCourseDetailResponseDto {
1919
private UserResponseCourseDetail user;
2020
private CourseDetailResponse course;
2121

22-
public static GetCourseDetailResponseDto from(Course course) {
22+
public static GetCourseDetailResponseDto of(Course course, Boolean isNowUser) {
2323
return new GetCourseDetailResponseDto(
2424
UserResponseCourseDetail.from(course.getRunnectUser()),
25-
CourseDetailResponse.of(course)
25+
CourseDetailResponse.of(course, isNowUser)
2626
);
2727
}
2828

@@ -51,16 +51,18 @@ public static class CourseDetailResponse {
5151
private String image;
5252
private String title;
5353
private DepartureResponse departure;
54+
private Boolean isNowUser;
5455

55-
public static CourseDetailResponse of(Course course) {
56+
public static CourseDetailResponse of(Course course, Boolean isNowUser) {
5657
return new CourseDetailResponse(
5758
course.getId(),
5859
course.getCreatedAt(),
5960
CoordinatePathConverter.pathConvertCoor(course.getPath()),
6061
course.getDistance(),
6162
course.getImage(),
6263
course.getTitle(),
63-
DepartureResponse.from(course)
64+
DepartureResponse.from(course),
65+
isNowUser
6466
);
6567
}
6668
}

src/main/java/org/runnect/server/course/service/CourseService.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,17 @@ public CourseGetByUserResponseDto getPrivateCourseByUser(Long userId) {
113113
}
114114

115115
@Transactional(readOnly = true)
116-
public GetCourseDetailResponseDto getCourseDetail(Long courseId) {
116+
public GetCourseDetailResponseDto getCourseDetail(Long courseId, Long userId) {
117+
RunnectUser requestUser = userRepository.findById(userId)
118+
.orElseThrow(() -> new NotFoundUserException(NOT_FOUND_USER_EXCEPTION,
119+
NOT_FOUND_USER_EXCEPTION.getMessage()));
117120

118121
Course course = courseRepository.findById(courseId)
119122
.orElseThrow(() -> new NotFoundException(NOT_FOUND_COURSE_EXCEPTION,
120123
NOT_FOUND_COURSE_EXCEPTION.getMessage()));
124+
RunnectUser uploader = course.getRunnectUser();
121125

122-
return GetCourseDetailResponseDto.from(course);
126+
return GetCourseDetailResponseDto.of(course,uploader != null && uploader.equals(requestUser));
123127
}
124128

125129
@Transactional

0 commit comments

Comments
 (0)