프로필 수정 API

This commit is contained in:
2023-08-18 19:15:19 +09:00
parent 9236aece18
commit 25be1a6adc
9 changed files with 290 additions and 0 deletions

View File

@@ -22,6 +22,18 @@ import org.springframework.web.multipart.MultipartFile
@RestController
@RequestMapping("/member")
class MemberController(private val service: MemberService) {
@GetMapping("/check/email")
fun checkEmail(@RequestParam email: String) = service.duplicateCheckEmail(email)
@GetMapping("/check/nickname")
fun checkNickname(@RequestParam nickname: String) = service.duplicateCheckNickname(nickname)
@PutMapping("/change/nickname")
fun changeNickname(
@RequestBody profileUpdateRequest: ProfileUpdateRequest,
@AuthenticationPrincipal user: User
) = ApiResponse.ok(service.updateNickname(profileUpdateRequest, user))
@PostMapping("/signup")
fun signUp(
@RequestPart("profileImage", required = false) profileImage: MultipartFile? = null,
@@ -50,6 +62,16 @@ class MemberController(private val service: MemberService) {
ApiResponse.ok(service.logoutAll(member.id!!))
}
@GetMapping
fun getMember(
@RequestParam container: String,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
ApiResponse.ok(service.getMember(member.id!!, container))
}
@GetMapping("/info")
fun getMemberInfo(
@RequestParam container: String?,
@@ -151,4 +173,24 @@ class MemberController(private val service: MemberService) {
@RequestBody signOutRequest: SignOutRequest,
@AuthenticationPrincipal user: User
) = ApiResponse.ok(service.signOut(signOutRequest, user), "정상적으로 탈퇴 처리되었습니다.")
@GetMapping("/change/nickname/price")
fun getChangeNicknamePrice(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
ApiResponse.ok(service.getChangeNicknamePrice(memberId = member.id!!))
}
@PutMapping
fun profileUpdate(
@RequestBody profileUpdateRequest: ProfileUpdateRequest,
@AuthenticationPrincipal user: User
) = ApiResponse.ok(service.profileUpdate(profileUpdateRequest, user))
@PostMapping("/image")
fun profileImageUpdate(
@RequestParam("image") multipartFile: MultipartFile,
@AuthenticationPrincipal user: User
) = ApiResponse.ok(service.profileImageUpdate(multipartFile, user))
}