09.21 save

This commit is contained in:
minseokkang
2022-09-21 17:55:38 +09:00
parent 7a923f2aa9
commit aa39f98495
4 changed files with 49 additions and 11 deletions

View File

@@ -3,6 +3,7 @@ package com.io.realworld.domain.aggregate.user.controller;
import com.io.realworld.domain.aggregate.user.dto.UserAuth;
import com.io.realworld.domain.aggregate.user.dto.UserResponse;
import com.io.realworld.domain.aggregate.user.dto.UserSignupRequest;
import com.io.realworld.domain.aggregate.user.dto.UserUpdate;
import com.io.realworld.domain.aggregate.user.entity.User;
import com.io.realworld.domain.aggregate.user.service.UserService;
import com.io.realworld.domain.aggregate.user.service.UserServiceImpl;
@@ -10,11 +11,10 @@ import lombok.AllArgsConstructor;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
@RestController
@Slf4j
@@ -31,4 +31,9 @@ public class UserController {
public UserResponse currentUser(@AuthenticationPrincipal UserAuth userAuth) {
return userService.getCurrentUser(userAuth);
}
@PutMapping
public UserResponse updateUser(@Valid @RequestBody UserUpdate userUpdate){
return userService.updateUser(userUpdate);
}
}

View File

@@ -0,0 +1,25 @@
package com.io.realworld.domain.aggregate.user.dto;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
@Builder
@Getter
@ToString
@JsonTypeName("user")
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT)
public class UserUpdate {
@Email
private String email;
private String username;
private String password;
private String bio;
private String image;
}

View File

@@ -1,9 +1,6 @@
package com.io.realworld.domain.aggregate.user.service;
import com.io.realworld.domain.aggregate.user.dto.UserAuth;
import com.io.realworld.domain.aggregate.user.dto.UserResponse;
import com.io.realworld.domain.aggregate.user.dto.UserSigninRequest;
import com.io.realworld.domain.aggregate.user.dto.UserSignupRequest;
import com.io.realworld.domain.aggregate.user.dto.*;
import com.io.realworld.domain.aggregate.user.entity.User;
public interface UserService {
@@ -12,4 +9,6 @@ public interface UserService {
UserResponse signin(UserSigninRequest userSigninRequest);
UserResponse getCurrentUser(UserAuth userAuth);
UserResponse updateUser(UserUpdate userUpdate);
}

View File

@@ -1,9 +1,6 @@
package com.io.realworld.domain.aggregate.user.service;
import com.io.realworld.domain.aggregate.user.dto.UserAuth;
import com.io.realworld.domain.aggregate.user.dto.UserResponse;
import com.io.realworld.domain.aggregate.user.dto.UserSigninRequest;
import com.io.realworld.domain.aggregate.user.dto.UserSignupRequest;
import com.io.realworld.domain.aggregate.user.dto.*;
import com.io.realworld.domain.service.JwtService;
import com.io.realworld.exception.CustomException;
import com.io.realworld.exception.Error;
@@ -62,6 +59,18 @@ public class UserServiceImpl implements UserService {
}
}
@Override
public UserResponse updateUser(UserUpdate userUpdate){
System.out.println(userUpdate.toString());
userRepository.save(User.builder()
.username(userUpdate.getUsername())
.image(userUpdate.getImage())
.bio(userUpdate.getBio())
.password(userUpdate.getPassword())
.email(userUpdate.getEmail()).build());
return convertUser();
}
private UserResponse convertUser(User user){
return UserResponse.builder().username(user.getUsername())