Skip to content

Commit

Permalink
#82 feat : 리더, 프로젝트 유저 검증
Browse files Browse the repository at this point in the history
  • Loading branch information
rivkode committed Apr 26, 2024
1 parent 69e0c0c commit 6a81934
Showing 1 changed file with 23 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,29 @@ public String createProject(String userId, CreateProjectRequest request) {
return savedProject.getId();
}

private void validateProjectUser(String userId, String projectId) {
Project project = findProjectById(projectId);
List<String> userListIds = project.getProjectUsers().stream().map(projectUser -> projectUser.getUser().getId()).toList();

if (!userListIds.contains(userId)) {
throw new ProjectBadRequestException("프로젝트 변경 권한이 없습니다.");
}
}

private void validateProjectLeader(String leaderId, String projectId) {
Project project = findProjectById(projectId);

if (!project.getLeaderId().equals(leaderId)) {
throw new ProjectBadRequestException("프로젝트 변경 권한이 없습니다.");
}
}

@Transactional
public void updateProject(String userId, UpdateProjectRequest request) {
// todo
// 프로젝트 멤버 검증
validateProjectUser(userId, request.projectId());

Project project = this.findProjectById(request.projectId());
Project updatedProject = project.updateProject(request);
projectRepository.save(updatedProject);
Expand All @@ -81,9 +100,9 @@ public void updateProject(String userId, UpdateProjectRequest request) {
public GetProjectResponse deleteProject(String userId, String projectId) {
// todo
// 프로젝트 리더 검증
Project project = this.findProjectById(projectId);

validateProjectLeader(userId, projectId);

Project project = this.findProjectById(projectId);
projectRepository.delete(project);

return GetProjectResponse.builder().build();
Expand All @@ -98,6 +117,7 @@ public GetProjectResponse getProject(String projectId) {

return GetProjectResponse.builder()
.projectId(projectId)
.projectSequence(project.getSeq())
.name(project.getName().getName())
.content(project.getContent().getContent())
.field(project.getField().name())
Expand All @@ -111,7 +131,7 @@ public GetProjectResponse getProject(String projectId) {
}

public ListResponse<GetProjectResponse> getProjectList(Long end) {
List<Project> projects = projectRepository.findAllByEndId(end);
List<Project> projects = projectRepository.findAllByEndSequence(end);

return (ListResponse<GetProjectResponse>) new ListResponse(projects);
}
Expand Down

0 comments on commit 6a81934

Please sign in to comment.