Skip to content

Commit

Permalink
refactor: 돈길 삭제 API Mapper 구조로 리팩토링 #232
Browse files Browse the repository at this point in the history
  • Loading branch information
sanbonai06 committed Sep 19, 2022
1 parent 03ca19f commit 90e90fb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
14 changes: 14 additions & 0 deletions src/main/java/com/ceos/bankids/controller/ChallengeController.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
Expand All @@ -35,4 +37,16 @@ public CommonResponse<ChallengeDTO> postChallenge(@AuthenticationPrincipal User
return CommonResponse.onSuccess(challengeDTO);
}

@ApiOperation(value = "돈길 포기하기")
@DeleteMapping(value = "/{challengeId}", produces = "application/json; charset=utf-8")
public CommonResponse<ChallengeDTO> deleteChallenge(@AuthenticationPrincipal User authUser,
@PathVariable Long challengeId) {

log.info("api = 돈길 포기하기, user = {} challengeId = {}", authUser.getUsername(), challengeId);

ChallengeDTO challengeDTO = challengeMapper.deleteChallenge(authUser, challengeId);

return CommonResponse.onSuccess(challengeDTO);
}

}
24 changes: 6 additions & 18 deletions src/main/java/com/ceos/bankids/mapper/ChallengeMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand All @@ -65,8 +64,7 @@ public class ChallengeMapper {
private final KidServiceImpl kidService;

// 돈길 생성 API Mapper
public ChallengeDTO postChallenge(@AuthenticationPrincipal User authUser,
@Valid @RequestBody ChallengeRequest challengeRequest) {
public ChallengeDTO postChallenge(User authUser, ChallengeRequest challengeRequest) {

// validation
sundayValidation();
Expand All @@ -90,13 +88,7 @@ public ChallengeDTO postChallenge(@AuthenticationPrincipal User authUser,
return challengeDTO;
}

@ApiOperation(value = "돈길 포기하기")
@DeleteMapping(value = "/{challengeId}", produces = "application/json; charset=utf-8")
public CommonResponse<ChallengeDTO> deleteChallenge(
@AuthenticationPrincipal User authUser,
@PathVariable Long challengeId) {

log.info("api = 돈길 포기하기, user = {} challengeId = {}", authUser.getUsername(), challengeId);
public ChallengeDTO deleteChallenge(User authUser, Long challengeId) {

userRoleValidation(authUser, true);
ChallengeUser challengeUser = challengeUserService.getChallengeUser(challengeId);
Expand All @@ -107,28 +99,24 @@ public CommonResponse<ChallengeDTO> deleteChallenge(
if (deleteChallenge.getChallengeStatus() == ChallengeStatus.WALKING) {
kidService.checkKidDeleteChallenge(authUser);
challengeUserService.deleteChallengeUser(authUser, challengeId);
ChallengeDTO deleteWalkingChallengeDTO = challengeService.deleteWalkingChallenge(
return challengeService.deleteWalkingChallenge(
authUser,
challengeUser);
return CommonResponse.onSuccess(deleteWalkingChallengeDTO);
} else if (deleteChallenge.getChallengeStatus() == ChallengeStatus.FAILED) {
challengeUserService.deleteChallengeUser(authUser, challengeId);
ChallengeDTO deleteFailedChallengeDTO = challengeService.deleteWalkingChallenge(
return challengeService.deleteWalkingChallenge(
authUser,
challengeUser);
return CommonResponse.onSuccess(deleteFailedChallengeDTO);
} else if (deleteChallenge.getChallengeStatus() == ChallengeStatus.REJECTED) {
challengeUserService.deleteChallengeUser(authUser, challengeId);
ChallengeDTO deleteRejectedChallengeDTO = challengeService.deleteRejectedChallenge(
return challengeService.deleteRejectedChallenge(
authUser,
challengeUser);
return CommonResponse.onSuccess(deleteRejectedChallengeDTO);
} else if (deleteChallenge.getChallengeStatus() == ChallengeStatus.PENDING) {
challengeUserService.deleteChallengeUser(authUser, challengeId);
ChallengeDTO deletePendingChallengeDTO = challengeService.deletePendingChallenge(
return challengeService.deletePendingChallenge(
authUser,
challengeUser);
return CommonResponse.onSuccess(deletePendingChallengeDTO);
}

throw new BadRequestException(ErrorCode.CANT_DELETE_CHALLENGE_STATUS.getErrorCode());
Expand Down

0 comments on commit 90e90fb

Please sign in to comment.