Skip to content

Commit

Permalink
Merge pull request #240 from bankidz/refactor/familyMapper
Browse files Browse the repository at this point in the history
refactor: 가족 API Mapper 구조 리팩토링
  • Loading branch information
ozzing authored Sep 26, 2022
2 parents 42c543c + 9f93bbd commit 3de094b
Showing 21 changed files with 362 additions and 307 deletions.
Original file line number Diff line number Diff line change
@@ -37,7 +37,7 @@ public void postAppleLogin(@RequestBody MultiValueMap<String, String> formData,

User user = appleMapper.postAppleLogin(formData);

LoginDTO loginDTO = userMapper.refreshUserToken(user);
LoginDTO loginDTO = userMapper.updateUserToken(user);

response.sendRedirect(
"https://bankidz.com/auth/apple/callback?isKid=" + loginDTO.getIsKid() + "&level="
93 changes: 93 additions & 0 deletions src/main/java/com/ceos/bankids/controller/FamilyController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package com.ceos.bankids.controller;

import com.ceos.bankids.config.CommonResponse;
import com.ceos.bankids.controller.request.FamilyRequest;
import com.ceos.bankids.domain.User;
import com.ceos.bankids.dto.FamilyDTO;
import com.ceos.bankids.dto.KidListDTO;
import com.ceos.bankids.mapper.FamilyMapper;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Slf4j
@Controller
@RequestMapping("/family")
@RequiredArgsConstructor
public class FamilyController {

private final FamilyMapper familyMapper;

@ApiOperation(value = "가족 생성하기")
@PostMapping(value = "", produces = "application/json; charset=utf-8")
@ResponseBody
public CommonResponse<FamilyDTO> postNewFamily(@AuthenticationPrincipal User authUser) {

log.info("api = 가족 생성하기, user = {}", authUser.getUsername());

FamilyDTO familyDTO = familyMapper.createFamily(authUser);

return CommonResponse.onSuccess(familyDTO);
}

@ApiOperation(value = "가족 정보 조회하기")
@GetMapping(value = "", produces = "application/json; charset=utf-8")
@ResponseBody
public CommonResponse<FamilyDTO> getFamily(@AuthenticationPrincipal User authUser) {

log.info("api = 가족 정보 조회하기, user = {}", authUser.getUsername());

FamilyDTO familyDTO = familyMapper.readFamily(authUser);

return CommonResponse.onSuccess(familyDTO);
}

@ApiOperation(value = "아이들 목록 조회하기")
@GetMapping(value = "/kid", produces = "application/json; charset=utf-8")
@ResponseBody
public CommonResponse<List<KidListDTO>> getFamilyKidList(
@AuthenticationPrincipal User authUser) {

log.info("api = 아이들 목록 조회하기, user = {}", authUser.getUsername());

List<KidListDTO> kidListDTOList = familyMapper.readFamilyKidList(authUser);

return CommonResponse.onSuccess(kidListDTOList);
}

@ApiOperation(value = "가족 참여하기")
@PostMapping(value = "/user", produces = "application/json; charset=utf-8")
@ResponseBody
public CommonResponse<FamilyDTO> postFamilyUser(@AuthenticationPrincipal User authUser,
@Valid @RequestBody FamilyRequest familyRequest) {

log.info("api = 가족 참여하기, user = {}", authUser.getUsername());

FamilyDTO familyDTO = familyMapper.createFamilyUser(authUser, familyRequest);

return CommonResponse.onSuccess(familyDTO);
}

@ApiOperation(value = "가족 나가기")
@DeleteMapping(value = "/user", produces = "application/json; charset=utf-8")
@ResponseBody
public CommonResponse<FamilyDTO> deleteFamilyUser(@AuthenticationPrincipal User authUser,
@Valid @RequestBody FamilyRequest familyRequest) {

log.info("api = 가족 나가기, user = {}", authUser.getUsername());

FamilyDTO familyDTO = familyMapper.deleteFamilyUser(authUser, familyRequest);

return CommonResponse.onSuccess(familyDTO);
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.ceos.bankids.controller;

import com.ceos.bankids.config.CommonResponse;
import com.ceos.bankids.controller.request.KakaoRequest;
import com.ceos.bankids.domain.User;
import com.ceos.bankids.dto.LoginDTO;
import com.ceos.bankids.mapper.KakaoMapper;
import com.ceos.bankids.mapper.UserMapper;
import com.ceos.bankids.controller.request.KakaoRequest;
import io.swagger.annotations.ApiOperation;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -34,7 +34,7 @@ public CommonResponse<LoginDTO> postKakaoLogin(@Valid @RequestBody KakaoRequest

User user = kakaoMapper.postKakaoLogin(kakaoRequest);

LoginDTO loginDTO = userMapper.refreshUserToken(user);
LoginDTO loginDTO = userMapper.updateUserToken(user);

return CommonResponse.onSuccess(loginDTO);
}
9 changes: 5 additions & 4 deletions src/main/java/com/ceos/bankids/controller/UserController.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package com.ceos.bankids.controller;

import com.ceos.bankids.config.CommonResponse;
import com.ceos.bankids.controller.request.ExpoRequest;
import com.ceos.bankids.controller.request.UserTypeRequest;
import com.ceos.bankids.controller.request.WithdrawalRequest;
import com.ceos.bankids.domain.User;
import com.ceos.bankids.dto.LoginDTO;
import com.ceos.bankids.dto.MyPageDTO;
import com.ceos.bankids.dto.OptInDTO;
import com.ceos.bankids.dto.UserDTO;
import com.ceos.bankids.mapper.UserMapper;
import com.ceos.bankids.controller.request.ExpoRequest;
import com.ceos.bankids.controller.request.UserTypeRequest;
import com.ceos.bankids.controller.request.WithdrawalRequest;
import io.swagger.annotations.ApiOperation;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
@@ -52,7 +52,7 @@ public CommonResponse<LoginDTO> patchRefreshToken(@AuthenticationPrincipal User

log.info("api = 토큰 리프레시, user = {}", authUser.getUsername());

LoginDTO loginDTO = userMapper.refreshUserToken(authUser);
LoginDTO loginDTO = userMapper.updateUserToken(authUser);

return CommonResponse.onSuccess(loginDTO);
}
@@ -89,6 +89,7 @@ public CommonResponse<UserDTO> deleteUserAccount(@AuthenticationPrincipal User a

log.info("api = 유저 탈퇴, user = {}", authUser.getUsername());

userMapper.deleteFamilyUserIfExists(authUser);
UserDTO userDTO = userMapper.deleteUserAccount(authUser, withdrawalRequest);

return CommonResponse.onSuccess(userDTO);
4 changes: 2 additions & 2 deletions src/main/java/com/ceos/bankids/mapper/AppleMapper.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.ceos.bankids.mapper;

import com.ceos.bankids.controller.request.AppleRequest;
import com.ceos.bankids.domain.User;
import com.ceos.bankids.dto.oauth.AppleKeyListDTO;
import com.ceos.bankids.dto.oauth.AppleSubjectDTO;
import com.ceos.bankids.dto.oauth.AppleTokenDTO;
import com.ceos.bankids.controller.request.AppleRequest;
import com.ceos.bankids.service.AppleServiceImpl;
import com.ceos.bankids.service.UserServiceImpl;
import java.io.IOException;
@@ -34,7 +34,7 @@ public User postAppleLogin(MultiValueMap<String, String> formData) throws IOExce
appleKeyListDTO);
AppleTokenDTO appleTokenDTO = appleService.getAppleAccessToken(appleRequest, "login");

Optional<User> registeredUser = userService.readUserByAuthenticationCodeNullable(
Optional<User> registeredUser = userService.findUserByAuthenticationCodeNullable(
appleSubjectDTO.getAuthenticationCode());

User user;
4 changes: 2 additions & 2 deletions src/main/java/com/ceos/bankids/mapper/ChallengeMapper.java
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@

import com.ceos.bankids.constant.ChallengeStatus;
import com.ceos.bankids.constant.ErrorCode;
import com.ceos.bankids.controller.request.ChallengeRequest;
import com.ceos.bankids.controller.request.KidChallengeRequest;
import com.ceos.bankids.domain.Challenge;
import com.ceos.bankids.domain.ChallengeUser;
import com.ceos.bankids.domain.Kid;
@@ -18,8 +20,6 @@
import com.ceos.bankids.dto.WeekDTO;
import com.ceos.bankids.exception.BadRequestException;
import com.ceos.bankids.exception.ForbiddenException;
import com.ceos.bankids.controller.request.ChallengeRequest;
import com.ceos.bankids.controller.request.KidChallengeRequest;
import com.ceos.bankids.service.ChallengeServiceImpl;
import com.ceos.bankids.service.ChallengeUserServiceImpl;
import com.ceos.bankids.service.ExpoNotificationServiceImpl;
157 changes: 0 additions & 157 deletions src/main/java/com/ceos/bankids/mapper/FamilyController.java

This file was deleted.

Loading

0 comments on commit 3de094b

Please sign in to comment.