Skip to content

Commit b4266ae

Browse files
authored
Merge pull request #1059 from Moadong/develop/be
[release] BE v1.1.1 릴리즈
2 parents 53bdef4 + 226396c commit b4266ae

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

backend/src/main/java/moadong/club/controller/ClubApplyAdminController.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,16 @@ public ResponseEntity<?> deleteClubApplicationForm(@PathVariable String applicat
8080
return Response.ok("success delete application");
8181
}
8282

83+
@PostMapping("/application/{applicationFormId}/duplicate")
84+
@Operation(summary = "클럽 지원서 양식 복제", description = "클럽의 지원서 양식을 복제합니다")
85+
@PreAuthorize("isAuthenticated()")
86+
@SecurityRequirement(name = "BearerAuth")
87+
public ResponseEntity<?> duplicateClubApplicationForm(@PathVariable String applicationFormId,
88+
@CurrentUser CustomUserDetails user) {
89+
clubApplyAdminService.duplicateClubApplicationForm(applicationFormId, user);
90+
return Response.ok("success duplicate application");
91+
}
92+
8393
@GetMapping("/apply/info/{applicationFormId}")
8494
@Operation(summary = "클럽 지원자 현황", description = "클럽 지원자 현황을 불러옵니다")
8595
@PreAuthorize("isAuthenticated()")

backend/src/main/java/moadong/club/entity/ClubApplicationForm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
@Getter
2828
@Builder(toBuilder = true)
2929
public class ClubApplicationForm implements Persistable<String> {
30-
private static final String[] externalApplicationUrlAllowed = {"https://forms.gle", "https://docs.google.com/forms", "https://form.naver.com", "https://naver.me"};
30+
private static final String[] externalApplicationUrlAllowed = {"https://forms.gle", "https://docs.google.com/forms", "https://form.naver.com", "https://naver.me", "https://everytime.kr"};
3131

3232
@Id
3333
private String id;

backend/src/main/java/moadong/club/service/ClubApplyAdminService.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import lombok.extern.slf4j.Slf4j;
55
import moadong.club.entity.*;
66
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;
89
import moadong.club.payload.request.*;
910
import moadong.club.payload.response.ClubApplicationFormsResponse;
1011
import moadong.club.payload.response.ClubApplyInfoResponse;
@@ -128,6 +129,23 @@ public void deleteClubApplicationForm(String applicationFormId, CustomUserDetail
128129
clubApplicationFormsRepository.delete(applicationForm);
129130
}
130131

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+
131149
public ClubApplyInfoResponse getClubApplyInfo(String applicationFormId, CustomUserDetails user) {
132150
ClubApplicationForm applicationForm = clubApplicationFormsRepository.findByClubIdAndId(user.getClubId(), applicationFormId)
133151
.orElseThrow(() -> new RestApiException(ErrorCode.APPLICATION_NOT_FOUND));

0 commit comments

Comments
 (0)