Skip to content

Commit

Permalink
[MERGE/#86] 선배 상세 프로필 조회 API 구현
Browse files Browse the repository at this point in the history
[FEAT] #86 - 선배 상세 프로필 조회 API 구현
  • Loading branch information
ckkim817 authored Jul 15, 2024
2 parents 155e828 + c9428cf commit ac7a4fd
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import lombok.RequiredArgsConstructor;
import org.sopt.seonyakServer.domain.senior.dto.SeniorListResponse;
import org.sopt.seonyakServer.domain.senior.dto.SeniorProfileRequest;
import org.sopt.seonyakServer.domain.senior.dto.SeniorProfileResponse;
import org.sopt.seonyakServer.domain.senior.model.PreferredTimeList;
import org.sopt.seonyakServer.domain.senior.service.SeniorService;
import org.springframework.http.ResponseEntity;
Expand Down Expand Up @@ -44,4 +45,11 @@ public ResponseEntity<List<SeniorListResponse>> searchFieldPosition(
) {
return ResponseEntity.ok(seniorService.searchSeniorFieldPosition(field, position));
}

@GetMapping("/{seniorId}")
public ResponseEntity<SeniorProfileResponse> getSeniorProfile(
@PathVariable final Long seniorId
) {
return ResponseEntity.ok(seniorService.getSeniorProfile(seniorId));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package org.sopt.seonyakServer.domain.senior.dto;

public record SeniorProfileResponse(
String level,
String career,
String award,
String catchphrase,
String story
) {
public static SeniorProfileResponse of(
final String level,
final String career,
final String award,
final String catchphrase,
final String story
) {
return new SeniorProfileResponse(
level,
career,
award,
catchphrase,
story
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.sopt.seonyakServer.domain.member.model.Member;
import org.sopt.seonyakServer.domain.senior.dto.SeniorListResponse;
import org.sopt.seonyakServer.domain.senior.dto.SeniorProfileRequest;
import org.sopt.seonyakServer.domain.senior.dto.SeniorProfileResponse;
import org.sopt.seonyakServer.domain.senior.model.PreferredTimeList;
import org.sopt.seonyakServer.domain.senior.model.Senior;
import org.sopt.seonyakServer.domain.senior.repository.SeniorRepository;
Expand Down Expand Up @@ -64,4 +65,17 @@ public PreferredTimeList getSeniorPreferredTime(Long seniorId) {
public List<SeniorListResponse> searchSeniorFieldPosition(List<String> field, List<String> position) {
return seniorRepository.searchSeniorFieldPosition(field, position);
}

@Transactional(readOnly = true)
public SeniorProfileResponse getSeniorProfile(final Long seniorId) {
Senior senior = seniorRepository.findSeniorByIdOrThrow(seniorId);

return SeniorProfileResponse.of(
senior.getLevel(),
senior.getCareer(),
senior.getAward(),
senior.getCatchphrase(),
senior.getStory()
);
}
}

0 comments on commit ac7a4fd

Please sign in to comment.