|
4 | 4 | import lombok.extern.slf4j.Slf4j; |
5 | 5 | import moadong.club.entity.*; |
6 | 6 | import moadong.club.enums.SemesterTerm; |
7 | | -import moadong.club.payload.dto.*; |
| 7 | +import moadong.club.payload.dto.ApplicantStatusEvent; |
| 8 | +import moadong.club.payload.dto.ClubApplicantsResult; |
8 | 9 | import moadong.club.payload.request.*; |
9 | 10 | import moadong.club.payload.response.ClubApplicationFormsResponse; |
10 | 11 | import moadong.club.payload.response.ClubApplyInfoResponse; |
@@ -128,6 +129,23 @@ public void deleteClubApplicationForm(String applicationFormId, CustomUserDetail |
128 | 129 | clubApplicationFormsRepository.delete(applicationForm); |
129 | 130 | } |
130 | 131 |
|
| 132 | + @Transactional |
| 133 | + public void duplicateClubApplicationForm(String applicationFormId, CustomUserDetails user) { |
| 134 | + ClubApplicationForm oldApplicationForm = clubApplicationFormsRepository.findByClubIdAndId(user.getClubId(), applicationFormId) |
| 135 | + .orElseThrow(() -> new RestApiException(ErrorCode.APPLICATION_NOT_FOUND)); |
| 136 | + |
| 137 | + ClubApplicationForm newApplicationForm = ClubApplicationForm.builder() |
| 138 | + .title("무제") |
| 139 | + .clubId(oldApplicationForm.getClubId()) |
| 140 | + .description(oldApplicationForm.getDescription()) |
| 141 | + .formMode(oldApplicationForm.getFormMode()) |
| 142 | + .questions(oldApplicationForm.getQuestions()) |
| 143 | + .externalApplicationUrl(oldApplicationForm.getExternalApplicationUrl()) |
| 144 | + .build(); |
| 145 | + |
| 146 | + clubApplicationFormsRepository.save(newApplicationForm); |
| 147 | + } |
| 148 | + |
131 | 149 | public ClubApplyInfoResponse getClubApplyInfo(String applicationFormId, CustomUserDetails user) { |
132 | 150 | ClubApplicationForm applicationForm = clubApplicationFormsRepository.findByClubIdAndId(user.getClubId(), applicationFormId) |
133 | 151 | .orElseThrow(() -> new RestApiException(ErrorCode.APPLICATION_NOT_FOUND)); |
|
0 commit comments