Added User API

This commit is contained in:
redtea committed 2022-08-31 17:13:39 +03:00
1 parent 4daf890555
commit 94931f1638
2 files changed
+10 -6

No files matched your search

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