Skip to content

Commit 938c396

Browse files
authored
Merge pull request #314 from CSE-Shaco/develop
feat: support core application admin detail and lead guest edits
2 parents 8d7c839 + 6f83033 commit 938c396

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

src/main/java/inha/gdgoc/domain/admin/recruit/core/controller/RecruitCoreAdminController.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import inha.gdgoc.domain.admin.recruit.core.dto.response.RecruitCoreApplicationDecisionResponse;
77
import inha.gdgoc.domain.admin.recruit.core.dto.response.RecruitCoreApplicationPageResponse;
88
import inha.gdgoc.domain.admin.recruit.core.service.RecruitCoreAdminService;
9+
import inha.gdgoc.domain.recruit.core.dto.response.RecruitCoreApplicantDetailResponse;
910
import inha.gdgoc.domain.recruit.core.entity.RecruitCoreApplication;
1011
import inha.gdgoc.domain.recruit.core.enums.RecruitCoreResultStatus;
1112
import inha.gdgoc.domain.user.enums.TeamType;
@@ -65,6 +66,12 @@ public RecruitCoreApplicationPageResponse list(
6566
);
6667
}
6768

69+
@PreAuthorize(ORGANIZER_OR_HR_LEAD_RULE)
70+
@GetMapping("/{applicationId}")
71+
public ResponseEntity<RecruitCoreApplicantDetailResponse> detail(@PathVariable Long applicationId) {
72+
return ResponseEntity.ok(adminService.getApplicationDetail(applicationId));
73+
}
74+
6875
@PreAuthorize(ORGANIZER_OR_HR_LEAD_RULE)
6976
@PostMapping("/{applicationId}/accept")
7077
public ResponseEntity<RecruitCoreApplicationDecisionResponse> accept(

src/main/java/inha/gdgoc/domain/admin/recruit/core/service/RecruitCoreAdminService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import inha.gdgoc.domain.admin.recruit.core.dto.request.RecruitCoreApplicationAcceptRequest;
44
import inha.gdgoc.domain.admin.recruit.core.dto.request.RecruitCoreApplicationRejectRequest;
5+
import inha.gdgoc.domain.recruit.core.dto.response.RecruitCoreApplicantDetailResponse;
56
import inha.gdgoc.domain.admin.recruit.core.dto.response.RecruitCoreApplicationDecisionResponse;
67
import inha.gdgoc.domain.recruit.core.entity.RecruitCoreApplication;
78
import inha.gdgoc.domain.recruit.core.enums.RecruitCoreResultStatus;
@@ -43,6 +44,11 @@ public Page<RecruitCoreApplication> searchApplications(
4344
return repository.findAll(spec, pageable);
4445
}
4546

47+
@Transactional(readOnly = true)
48+
public RecruitCoreApplicantDetailResponse getApplicationDetail(Long applicationId) {
49+
return RecruitCoreApplicantDetailResponse.from(getApplication(applicationId));
50+
}
51+
4652
@Transactional
4753
public RecruitCoreApplicationDecisionResponse accept(
4854
Long applicationId,

src/main/java/inha/gdgoc/domain/admin/user/service/UserAdminService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,11 @@ private void validateLeadAndCorePolicy(
236236
}
237237

238238
if (editorRole == UserRole.LEAD) {
239-
if (!(targetCurrentRole == UserRole.MEMBER || targetCurrentRole == UserRole.CORE)) {
240-
throw new BusinessException(GlobalErrorCode.FORBIDDEN_USER, "LEAD는 MEMBER/CORE만 수정할 수 있습니다.");
239+
if (!(targetCurrentRole == UserRole.GUEST || targetCurrentRole == UserRole.MEMBER || targetCurrentRole == UserRole.CORE)) {
240+
throw new BusinessException(GlobalErrorCode.FORBIDDEN_USER, "LEAD는 GUEST/MEMBER/CORE만 수정할 수 있습니다.");
241241
}
242-
if (!(newRole == UserRole.MEMBER || newRole == UserRole.CORE)) {
243-
throw new BusinessException(GlobalErrorCode.FORBIDDEN_USER, "LEAD는 MEMBER/CORE로만 변경할 수 있습니다.");
242+
if (!(newRole == UserRole.GUEST || newRole == UserRole.MEMBER || newRole == UserRole.CORE)) {
243+
throw new BusinessException(GlobalErrorCode.FORBIDDEN_USER, "LEAD는 GUEST/MEMBER/CORE로만 변경할 수 있습니다.");
244244
}
245245
}
246246

0 commit comments

Comments
 (0)