Skip to content

Commit

Permalink
Revert "�chore: merge into main (#187)" (#188)
Browse files Browse the repository at this point in the history
This reverts commit b57ae66.
  • Loading branch information
hyunihs authored Aug 14, 2024
1 parent b57ae66 commit 6b85e67
Show file tree
Hide file tree
Showing 18 changed files with 49 additions and 229 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @hyunihs @mushroom1324 @letskuku @yoonsseo @itsme-shawn @YoungGyo-00
* @hyunihs @suhhyun524 @mushroom1324 @haen-su @mirageoasis
13 changes: 4 additions & 9 deletions src/main/java/ceos/backend/domain/admin/AdminController.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import ceos.backend.global.config.user.AdminDetails;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -22,8 +21,6 @@
public class AdminController {

private final AdminService adminService;
private static final String MOBILE = "mobile";
private static final String WEB = "web";

@Operation(summary = "닉네임 확인")
@PostMapping("/username")
Expand All @@ -41,10 +38,9 @@ public void signUp(@RequestBody @Valid SignUpRequest signUpRequest) {

@Operation(summary = "로그인")
@PostMapping("/signin")
public TokenResponse signIn(HttpServletRequest request, @RequestBody @Valid SignInRequest signInRequest) {
public TokenResponse signIn(@RequestBody @Valid SignInRequest signInRequest) {
log.info("로그인");
String device = request.getHeader("User-Agent").contains("mobile") ? MOBILE : WEB;
return adminService.signIn(device, signInRequest);
return adminService.signIn(signInRequest);
}

@Operation(summary = "아이디 찾기")
Expand Down Expand Up @@ -72,10 +68,9 @@ public void resetPwd(

@Operation(summary = "로그아웃")
@PostMapping("/logout")
public void logout(HttpServletRequest request, @AuthenticationPrincipal AdminDetails adminUser) {
public void logout(@AuthenticationPrincipal AdminDetails adminUser) {
log.info("로그아웃");
String device = request.getHeader("User-Agent").contains("mobile") ? MOBILE : WEB;
adminService.logout(device, adminUser);
adminService.logout(adminUser);
}

@Operation(summary = "토큰 재발급")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,16 @@ public void signUp(SignUpRequest signUpRequest) {
}

@Transactional
public TokenResponse signIn(String device, SignInRequest signInRequest) {
public TokenResponse signIn(SignInRequest signInRequest) {

final Admin admin = adminHelper.findForSignIn(signInRequest);
final Authentication authentication = adminHelper.adminAuthorizationInput(admin);

adminHelper.checkRole(admin);

String redisKey = admin.getId().toString() + ":" + device;

// 토큰 발급
final String accessToken = tokenProvider.createAccessToken(admin.getId(), authentication);
final String refreshToken = tokenProvider.createRefreshToken(admin.getId(), authentication, redisKey);
final String refreshToken = tokenProvider.createRefreshToken(admin.getId(), authentication);

return adminMapper.toTokenResponse(accessToken, refreshToken);
}
Expand Down Expand Up @@ -99,13 +97,11 @@ public void resetPwd(ResetPwdRequest resetPwdRequest, AdminDetails adminUser) {
}

@Transactional
public void logout(String device, AdminDetails adminUser) {
public void logout(AdminDetails adminUser) {
final Admin admin = adminUser.getAdmin();

String redisKey = admin.getId().toString() + ":" + device;

// 레디스 삭제
tokenProvider.deleteRefreshToken(redisKey);
tokenProvider.deleteRefreshToken(admin.getId());
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

package ceos.backend.domain.application;


Expand All @@ -8,13 +7,16 @@
import ceos.backend.domain.application.dto.request.UpdateAttendanceRequest;
import ceos.backend.domain.application.dto.request.UpdateInterviewTime;
import ceos.backend.domain.application.dto.request.UpdatePassStatus;
import ceos.backend.domain.application.dto.response.*;
import ceos.backend.domain.application.dto.response.GetApplication;
import ceos.backend.domain.application.dto.response.GetApplicationQuestion;
import ceos.backend.domain.application.dto.response.GetApplications;
import ceos.backend.domain.application.dto.response.GetCreationTime;
import ceos.backend.domain.application.dto.response.GetInterviewTime;
import ceos.backend.domain.application.dto.response.GetResultResponse;
import ceos.backend.domain.application.service.ApplicationExcelService;
import ceos.backend.domain.application.service.ApplicationService;
import ceos.backend.global.common.entity.Part;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import java.nio.file.Path;
Expand All @@ -24,7 +26,15 @@
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
Expand All @@ -38,13 +48,10 @@ public class ApplicationController {
@Operation(summary = "지원자 목록 보기")
@GetMapping
public GetApplications getApplications(
@Parameter(schema = @Schema(allowableValues = {"PRODUCT", "DESIGN", "FRONTEND", "BACKEND"}))
@RequestParam(value = "part", required = false, defaultValue = "") Part part,
@Parameter(schema = @Schema(allowableValues = {"PASS", "FAIL"}))
@RequestParam(value = "docPass", required = false, defaultValue = "") Pass docPass,
@Parameter(schema = @Schema(allowableValues = {"PASS", "FAIL"}))
@RequestParam(value = "finalPass", required = false, defaultValue = "") Pass finalPass,
@RequestParam(value = "applicantName", required = false, defaultValue = "") String applicantName,
@RequestParam(value = "part", required = false) Part part,
@RequestParam(value = "docPass", required = false) Pass docPass,
@RequestParam(value = "finalPass", required = false) Pass finalPass,
@RequestParam(value = "applicantName", required = false) String applicantName,
@RequestParam("pageNum") int pageNum,
@RequestParam("limit") int limit) {
log.info("지원자 목록 보기");
Expand Down Expand Up @@ -143,13 +150,6 @@ public void updateDocumentPassStatus(
applicationService.updateDocumentPassStatus(applicationId, updatePassStatus);
}

@Operation(summary = "면접 참여 가능 여부 확인", description = "resultDateDoc ~ resultDateFinal 전날")
@GetMapping(value = "/{applicationId}/interview/availability")
public GetInterviewAvailability getInterviewAvailability(@PathVariable("applicationId") Long applicationId) {
log.info("면접 참여 가능 여부 확인");
return applicationService.getInterviewAvailability(applicationId);
}

@Operation(summary = "최종 합격 여부 변경", description = "resultDateDoc ~ ResultDateFinal 전날")
@PatchMapping(value = "/{applicationId}/final")
public void updateFinalPassStatus(
Expand All @@ -159,13 +159,6 @@ public void updateFinalPassStatus(
applicationService.updateFinalPassStatus(applicationId, updatePassStatus);
}

@Operation(summary = "활동 가능 여부 확인", description = "resultDateDoc ~ resultDateFinal 전날")
@GetMapping(value = "/{applicationId}/final/availability")
public GetFinalAvailability getFinalPass(@PathVariable("applicationId") Long applicationId) {
log.info("활동 가능 여부 확인");
return applicationService.getFinalAvailability(applicationId);
}

@Operation(summary = "지원서 엑셀 파일 생성")
@GetMapping(value = "/file/create")
public GetCreationTime createApplicationExcel() {
Expand Down Expand Up @@ -198,11 +191,4 @@ public GetCreationTime getApplicationExcelCreationTime() {
log.info("지원서 엑셀 파일 생성 시각 확인");
return applicationExcelService.getApplicationExcelCreationTime();
}

@Operation(summary = "지원서 전체 삭제")
@DeleteMapping(value = "/delete")
public void deleteAllApplications() {
log.info("지원서 전체 삭제");
applicationService.deleteAllApplications();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import jakarta.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;

import jakarta.validation.constraints.Size;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
Expand Down Expand Up @@ -38,20 +36,17 @@ public class Application extends BaseEntity {
@ColumnDefault("false")
private boolean interviewCheck;

@Size(max = 100)
private String unableReason;

@NotNull
@Enumerated(EnumType.STRING)
private Pass documentPass;

@NotNull
@ColumnDefault("false")
private boolean finalCheck; // 활동 가능 여부
private boolean finalCheck;

@NotNull
@Enumerated(EnumType.STRING)
private Pass finalPass; // 최종 합격 결과
private Pass finalPass;

@OneToMany(mappedBy = "application", cascade = CascadeType.ALL)
private List<ApplicationAnswer> applicationAnswers = new ArrayList<>();
Expand Down Expand Up @@ -90,8 +85,6 @@ public void updateInterviewCheck(boolean check) {
this.interviewCheck = check;
}

public void updateUnableReason(String reason) { this.unableReason = reason; }

public void updateFinalCheck(boolean check) {
this.finalCheck = check;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class ApplicationAnswer extends BaseEntity {
private Long id;

// Question : Answer = 1:1 (단방향)
@OneToOne
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "application_question_id")
private ApplicationQuestion applicationQuestion;

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ public enum ApplicationErrorCode implements BaseErrorCode {
SAME_PASS_STATUS(BAD_REQUEST, "APPLICATION_400_7", "같은 상태로 변경할 수 없습니다."),
NOT_SET_INTERVIEW_TIME(BAD_REQUEST, "APPLICATION_400_8", "면접 시간이 정해지지 않았습니다."),
APPLICATION_STILL_EXIST(BAD_REQUEST, "APPLICATION_400_9", "기존 지원자 데이터가 남아있습니다."),
NOT_DELETABLE_DURING_RECRUITMENT(BAD_REQUEST, "APPLICATION_400_10", "최종 발표 전 지원자를 삭제할 수 없습니다."),

APPLICANT_NOT_FOUND(BAD_REQUEST, "APPLICATION_404_3", "존재하지 않는 지원자입니다."),

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@
import ceos.backend.domain.application.dto.request.UpdateAttendanceRequest;
import ceos.backend.domain.application.dto.request.UpdateInterviewTime;
import ceos.backend.domain.application.dto.request.UpdatePassStatus;
import ceos.backend.domain.application.dto.response.*;
import ceos.backend.domain.application.exception.exceptions.NotDeletableDuringRecruitment;
import ceos.backend.domain.application.dto.response.GetApplication;
import ceos.backend.domain.application.dto.response.GetApplicationQuestion;
import ceos.backend.domain.application.dto.response.GetApplications;
import ceos.backend.domain.application.dto.response.GetInterviewTime;
import ceos.backend.domain.application.dto.response.GetResultResponse;
import ceos.backend.domain.application.helper.ApplicationHelper;
import ceos.backend.domain.application.mapper.ApplicationMapper;
import ceos.backend.domain.application.repository.ApplicationAnswerRepository;
Expand All @@ -32,8 +35,6 @@
import ceos.backend.global.common.entity.Part;
import ceos.backend.global.util.InterviewDateTimeConvertor;
import ceos.backend.global.util.ParsedDurationConvertor;

import java.time.LocalDateTime;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
Expand Down Expand Up @@ -164,7 +165,6 @@ public void updateInterviewAttendance(
application.updateInterviewCheck(true);
applicationRepository.save(application);
} else {
application.updateUnableReason(request.getReason());
applicationHelper.sendSlackUnableReasonMessage(application, request, false);
}
}
Expand Down Expand Up @@ -193,7 +193,6 @@ public void updateParticipationAvailability(
application.updateFinalCheck(true);
applicationRepository.save(application);
} else {
application.updateUnableReason(request.getReason());
applicationHelper.sendSlackUnableReasonMessage(application, request, true);
}
}
Expand Down Expand Up @@ -247,16 +246,6 @@ public void updateInterviewTime(Long applicationId, UpdateInterviewTime updateIn
application.updateInterviewTime(duration);
}

@Transactional(readOnly = true)
public GetInterviewAvailability getInterviewAvailability(Long applicationId) {
applicationValidator.validateExistingApplicant(applicationId); // 유저 검증
final Application application = applicationHelper.getApplicationById(applicationId);
applicationValidator.validateDocumentPassStatus(application); // 서류 통과 검증

return GetInterviewAvailability.of(application);
}


@Transactional
public void updateDocumentPassStatus(Long applicationId, UpdatePassStatus updatePassStatus) {
recruitmentValidator.validateBetweenStartDateDocAndResultDateDoc(); // 기간 검증
Expand All @@ -275,26 +264,4 @@ public void updateFinalPassStatus(Long applicationId, UpdatePassStatus updatePas

application.updateFinalPass(updatePassStatus.getPass());
}

@Transactional(readOnly = true)
public GetFinalAvailability getFinalAvailability(Long applicationId) {
applicationValidator.validateExistingApplicant(applicationId); // 유저 검증
final Application application = applicationHelper.getApplicationById(applicationId);
applicationValidator.validateFinalPassStatus(application); // 최종 합격 검증

return GetFinalAvailability.of(application);
}


@Transactional
public void deleteAllApplications() {
Recruitment recruitment = recruitmentHelper.takeRecruitment();
// 현재 시간이 resultDateFinal 이전이면 삭제 불가
if(LocalDateTime.now().isBefore(recruitment.getResultDateFinal())) {
throw NotDeletableDuringRecruitment.EXCEPTION;
}
// application, applicationAnswer, applicationInterview 삭제 (cascade)
applicationRepository.deleteAll();
}

}
Loading

0 comments on commit 6b85e67

Please sign in to comment.