diff --git a/src/main/java/site/easystartup/web/request/UserRequest.java b/src/main/java/site/easystartup/web/request/UserRequest.java index 5468f77..ec05b01 100644 --- a/src/main/java/site/easystartup/web/request/UserRequest.java +++ b/src/main/java/site/easystartup/web/request/UserRequest.java @@ -1,6 +1,7 @@ package site.easystartup.web.request; import lombok.Data; +import org.springframework.web.multipart.MultipartFile; import site.easystartup.web.domain.model.Role; import site.easystartup.web.project.domain.model.Participant; @@ -13,9 +14,6 @@ import java.util.Set; @Data public class UserRequest { - private long id; - private String username; - @NotNull private boolean active; @@ -23,10 +21,9 @@ public class UserRequest { private String full_name; @Size(max = 60, message = "Status should be no more 60 signs") - @NotNull private String status; - private String iconPath; + private MultipartFile icon; @Email(message = "It should have email format") @NotBlank(message = "Email is required") diff --git a/src/main/java/site/easystartup/web/service/UserService.java b/src/main/java/site/easystartup/web/service/UserService.java index 3bc4ba7..37183ff 100644 --- a/src/main/java/site/easystartup/web/service/UserService.java +++ b/src/main/java/site/easystartup/web/service/UserService.java @@ -1,6 +1,7 @@ package site.easystartup.web.service; import lombok.RequiredArgsConstructor; +import org.apache.tomcat.util.http.fileupload.FileUpload; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UsernameNotFoundException; @@ -8,6 +9,7 @@ import org.springframework.stereotype.Service; import site.easystartup.web.domain.model.User; import site.easystartup.web.repo.UserRepo; import site.easystartup.web.request.UserRequest; +import site.easystartup.web.storage.service.StorageService; import java.security.Principal; import java.util.TreeSet; @@ -17,6 +19,8 @@ import java.util.TreeSet; public class UserService { private final UserRepo userRepo; + private final StorageService storageService; + public User getUserByPrincipal(Principal principal) { return userRepo.findByUsername(principal.getName()); } @@ -34,7 +38,10 @@ public class UserService { user.setActive(userRequest.isActive()); user.setFull_name(userRequest.getFull_name()); user.setStatus(userRequest.getStatus()); - user.setIconPath(user.getIconPath() == null ? user.getIconPath() : userRequest.getIconPath()); + + if(userRequest.getIcon() != null) storageService.saveImage(userRequest.getIcon(), username + "-icon"); + user.setIconPath(user.getIconPath() == null ? user.getIconPath() : username + "-icon.jpg"); + user.setEmail(userRequest.getEmail() == null ? user.getEmail() : userRequest.getEmail()); user.setTags(userRequest.getTags() == null ? user.getTags() : userRequest.getTags()); user.setProfessions(userRequest.getProfessions() == null ? user.getProfessions() : userRequest.getProfessions());