Skip to content

Commit

Permalink
인터뷰 API 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
unanchoi committed Jan 11, 2024
1 parent cde84c6 commit f40612b
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 10 deletions.
Empty file added script/run.sh
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,32 @@

import com.startlion.startlionserver.domain.entity.Interview;
import com.startlion.startlionserver.dto.response.interviewanswer.InterviewAnswerResponse;
import io.swagger.v3.oas.annotations.media.Schema;

import java.util.List;


@Schema(description = "인터뷰 상세 페이지 데이터")
public record InterviewDetailResponse(
@Schema(description = "인터뷰 ID")
Long interviewId,

@Schema(description = "활동 기수")
Long generation,

@Schema(description = "인터뷰 대상자 지원 파트")
String part,

@Schema(description = "인터뷰 대상자 이름")
String name,

@Schema(description = "인터뷰 대상자 전공")
String major,
String oneLineAnswer,

@Schema(description = "인터뷰 목록 페이지에서 사용하는 섬네일 텍스트")
String thumbnailText,

@Schema(description = "인터뷰 대상자 image url")
String imageUrl,
List<InterviewAnswerResponse> interviewAnswers
) {
Expand All @@ -21,7 +37,7 @@ public static InterviewDetailResponse of(Interview interview, List<InterviewAnsw
return new InterviewDetailResponse(
interview.getInterviewId(),
interview.getGeneration(),
interview.getPart(),
interview.getPart().toString(),
interview.getName(),
interview.getMajor(),
interview.getOneLineAnswer(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
import java.util.List;

public record InterviewListResponse(
List<InterviewDetailResponse> interviews
List<InterviewResponse> interviews
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,34 @@


import com.startlion.startlionserver.domain.entity.Interview;
import io.swagger.v3.oas.annotations.media.Schema;

public record InterviewResponse(
@Schema(description = "인터뷰 ID")
Long interviewId,

@Schema(description = "활동 기수")
Long generation,
String name,

@Schema(description = "인터뷰 대상자 지원 파트")
String part,
String OneLineContent,

@Schema(description = "인터뷰 대상자 이름")
String name,

@Schema(description = "인터뷰 목록 페이지에서 사용하는 섬네일 텍스트")
String thumbnailText,

@Schema(description = "인터뷰 대상자 image url")
String imageUrl
) {

public static InterviewResponse of(Interview interview) {
return new InterviewResponse(
interview.getInterviewId(),
interview.getGeneration(),
interview.getPart().toString(),
interview.getName(),
interview.getPart(),
interview.getOneLineContent(),
interview.getImageUrl()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@
import io.swagger.v3.oas.annotations.media.Schema;

public record InterviewAnswerResponse(
@Schema(description = "인터뷰 응답 ID")
Long interviewAnswerId,
@Schema(description = "질문", example = "자기소개를 해주세요.", required = true)
String question,
String boldAnswer,
String answer

@Schema(description = "인터뷰 응답 제목")
String answerTitle,
@Schema(description = "인터뷰 응답 내용")
String answerContent

) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.startlion.startlionserver.repository.InterviewQueryRepository;
import jakarta.persistence.EntityNotFoundException;
import lombok.RequiredArgsConstructor;
import lombok.val;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -25,8 +26,7 @@ public class InterviewService {
private final InterviewQueryRepository interviewQueryRepository;

public InterviewDetailResponse getInterviewById(Long interviewId) {
Interview interview = interviewJpaRepository.findById(interviewId)
.orElseThrow( () -> new IllegalArgumentException("해당하는 인터뷰가 없습니다."));
val interview = getById(interviewId);

List<InterviewAnswerResponse> interviewAnswerResponses = interviewAnswerJpaRepository.findByInterview(interview)
.stream()
Expand Down

0 comments on commit f40612b

Please sign in to comment.