diff --git a/src/main/java/site/easystartup/easystartupcore/project/domain/model/Project.java b/src/main/java/site/easystartup/easystartupcore/project/domain/model/Project.java index b922ff3..c8a6fa6 100644 --- a/src/main/java/site/easystartup/easystartupcore/project/domain/model/Project.java +++ b/src/main/java/site/easystartup/easystartupcore/project/domain/model/Project.java @@ -43,7 +43,7 @@ public class Project { @JoinColumn(name = "owner_id") private User owner; - @OneToMany(mappedBy = "project") + @OneToMany(mappedBy = "project", cascade = {CascadeType.ALL}) private List participants; @Column(name = "created_date") diff --git a/src/main/java/site/easystartup/easystartupcore/project/service/ProjectService.java b/src/main/java/site/easystartup/easystartupcore/project/service/ProjectService.java index c24551f..77ccff9 100644 --- a/src/main/java/site/easystartup/easystartupcore/project/service/ProjectService.java +++ b/src/main/java/site/easystartup/easystartupcore/project/service/ProjectService.java @@ -4,46 +4,62 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import site.easystartup.easystartupcore.project.domain.model.Project; import site.easystartup.easystartupcore.project.repo.ProjectRepo; +import site.easystartup.easystartupcore.service.UserService; import java.security.Principal; +import java.util.Arrays; import java.util.Set; @Service @RequiredArgsConstructor public class ProjectService { private final ProjectRepo projectRepo; + private final UserService userService; public Project createProject(Project project, Principal principal) { - return null; - } - public Project updateProject(Project map, Long projectId, Principal principal) { - } + project.setTechnology(technologyToString(project.getTechnology())); + project.setOwner(userService.getUserByPrincipal(principal)); - public void deleteProject(Long projectId, Principal principal) { + return projectRepo.save(project); } +// +// public Project updateProject(Project map, Long projectId, Principal principal) { +// } +// +// public void deleteProject(Long projectId, Principal principal) { +// } +// +// public Project getProjectById(Long projectId) { +// } +// +// public Set getAllProjectsForUser(Long userId) { +// +// +// } +// +// public Set getAllProjectsWithTechnology(String technology) { +// } +// +// public Set getAllProjectsForCurrentUser(Principal principal) { +// } +// +// public Set getAllProjectsWithPosition(String nameOfPosition) { +// } +// +// public Object applayOnProject(Long projectId, Principal principal) { +// } +// +// public Object confirmParticipant(Long projectId, Long participantId, Principal principal) { +// } - public Project getProjectById(Long projectId) { - } - public Set getAllProjectsForUser(Long userId) { - - - } - public Set getAllProjectsWithTechnology(String technology) { - } - public Set getAllProjectsForCurrentUser(Principal principal) { - } - - public Set getAllProjectsWithPosition(String nameOfPosition) { - } - - public Object applayOnProject(Long projectId, Principal principal) { - } - - public Object confirmParticipant(Long projectId, Long participantId, Principal principal) { + private String technologyToString(String technology) { + StringBuilder technologyResult = new StringBuilder(); + Arrays.stream(technology.split(",")).forEach(tech -> technologyResult.append(tech.trim() + " ")); + return technologyResult.toString(); } } diff --git a/src/main/java/site/easystartup/easystartupcore/service/UserService.java b/src/main/java/site/easystartup/easystartupcore/service/UserService.java new file mode 100644 index 0000000..b01d713 --- /dev/null +++ b/src/main/java/site/easystartup/easystartupcore/service/UserService.java @@ -0,0 +1,20 @@ +package site.easystartup.easystartupcore.service; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import site.easystartup.easystartupcore.domain.User; +import site.easystartup.easystartupcore.repo.UserRepo; + +import java.security.Principal; + +@Service +@RequiredArgsConstructor +public class UserService { + private final UserRepo userRepo; + + + + public User getUserByPrincipal(Principal principal) { + return userRepo.findByUsername(principal.getName()); + } +}