diff --git a/src/main/java/com/codiary/backend/global/converter/PostConverter.java b/src/main/java/com/codiary/backend/global/converter/PostConverter.java index b17d2c93..5a5a4354 100644 --- a/src/main/java/com/codiary/backend/global/converter/PostConverter.java +++ b/src/main/java/com/codiary/backend/global/converter/PostConverter.java @@ -201,6 +201,7 @@ public static PostResponseDTO.TeamPostInProjectPreviewDTO toTeamPostInProjectPre return PostResponseDTO.TeamPostInProjectPreviewDTO.builder() .projectId(post.getProject().getProjectId()) .teamId(post.getTeam().getTeamId()) + .memberId(post.getMember().getMemberId()) .postId(post.getPostId()) .teamId(post.getTeam() != null ? post.getTeam().getTeamId() : null) .postTitle(post.getPostTitle()) @@ -238,6 +239,7 @@ public static PostResponseDTO.MemberPostInTeamPreviewDTO toMemberPostInTeamPrevi .memberId(post.getMember().getMemberId()) .postId(post.getPostId()) .teamId(post.getTeam() != null ? post.getTeam().getTeamId() : null) + .projectId(post.getProject().getProjectId()) .postTitle(post.getPostTitle()) .postStatus(post.getPostStatus()) .postCategory(post.getPostCategory()) diff --git a/src/main/java/com/codiary/backend/global/domain/entity/Post.java b/src/main/java/com/codiary/backend/global/domain/entity/Post.java index 92b69758..e74e1518 100644 --- a/src/main/java/com/codiary/backend/global/domain/entity/Post.java +++ b/src/main/java/com/codiary/backend/global/domain/entity/Post.java @@ -76,6 +76,8 @@ public void setTeam(Team team) { this.team = team; } + public void setProject(Project project) { this.project = project;} + public void update(PostRequestDTO.UpdatePostDTO request) { this.postTitle = request.getPostTitle(); this.postBody = request.getPostBody(); diff --git a/src/main/java/com/codiary/backend/global/service/PostService/PostCommandService.java b/src/main/java/com/codiary/backend/global/service/PostService/PostCommandService.java index 60b1ef60..2438003f 100644 --- a/src/main/java/com/codiary/backend/global/service/PostService/PostCommandService.java +++ b/src/main/java/com/codiary/backend/global/service/PostService/PostCommandService.java @@ -6,7 +6,7 @@ public interface PostCommandService { // 포스트 생성 - Post createPost(Long memberId, Long teamId,PostRequestDTO.CreatePostRequestDTO request); + Post createPost(Long memberId, Long teamId, Long projectId, PostRequestDTO.CreatePostRequestDTO request); //포스트 수정 Post updatePost(Long memberId, Long postId, PostRequestDTO.UpdatePostDTO request); //포스트 삭제 diff --git a/src/main/java/com/codiary/backend/global/service/PostService/PostCommandServiceImpl.java b/src/main/java/com/codiary/backend/global/service/PostService/PostCommandServiceImpl.java index 5fa670b2..9382ec46 100644 --- a/src/main/java/com/codiary/backend/global/service/PostService/PostCommandServiceImpl.java +++ b/src/main/java/com/codiary/backend/global/service/PostService/PostCommandServiceImpl.java @@ -3,10 +3,12 @@ import com.codiary.backend.global.converter.PostConverter; import com.codiary.backend.global.domain.entity.Member; import com.codiary.backend.global.domain.entity.Post; +import com.codiary.backend.global.domain.entity.Project; import com.codiary.backend.global.domain.entity.Team; import com.codiary.backend.global.domain.entity.mapping.Authors; import com.codiary.backend.global.repository.MemberRepository; import com.codiary.backend.global.repository.PostRepository; +import com.codiary.backend.global.repository.ProjectRepository; import com.codiary.backend.global.repository.TeamRepository; import com.codiary.backend.global.web.dto.Post.PostRequestDTO; import lombok.RequiredArgsConstructor; @@ -25,10 +27,11 @@ public class PostCommandServiceImpl implements PostCommandService{ private final PostRepository postRepository; private final MemberRepository memberRepository; - private final TeamRepository teamRepository; // 추가 + private final TeamRepository teamRepository; + private final ProjectRepository projectRepository; @Override - public Post createPost(Long memberId, Long teamId, PostRequestDTO.CreatePostRequestDTO request) { + public Post createPost(Long memberId, Long teamId, Long projectId, PostRequestDTO.CreatePostRequestDTO request) { Post newPost = PostConverter.toPost(request); @@ -38,8 +41,12 @@ public Post createPost(Long memberId, Long teamId, PostRequestDTO.CreatePostRequ Team getTeam = teamRepository.findById(teamId) .orElseThrow(() -> new IllegalArgumentException("Team not found")); + Project getProject = projectRepository.findById(projectId) + .orElseThrow(() -> new IllegalArgumentException("Project not found")); + newPost.setMember(getMember); newPost.setTeam(getTeam); + newPost.setProject(getProject); Post savedPost = postRepository.save(newPost); diff --git a/src/main/java/com/codiary/backend/global/web/controller/PostController.java b/src/main/java/com/codiary/backend/global/web/controller/PostController.java index 3879cf9e..a480a9e9 100644 --- a/src/main/java/com/codiary/backend/global/web/controller/PostController.java +++ b/src/main/java/com/codiary/backend/global/web/controller/PostController.java @@ -42,7 +42,8 @@ public ApiResponse createPost( @RequestBody PostRequestDTO.CreatePostRequestDTO request ){ Long teamId = 1L; - Post newPost = postCommandService.createPost(memberId, teamId, request); + Long projectId = 1L; + Post newPost = postCommandService.createPost(memberId, teamId, projectId, request); return ApiResponse.onSuccess( SuccessStatus.POST_OK, PostConverter.toCreateResultDTO(newPost) diff --git a/src/main/java/com/codiary/backend/global/web/dto/Post/PostRequestDTO.java b/src/main/java/com/codiary/backend/global/web/dto/Post/PostRequestDTO.java index 2915f40e..0a8b6b67 100644 --- a/src/main/java/com/codiary/backend/global/web/dto/Post/PostRequestDTO.java +++ b/src/main/java/com/codiary/backend/global/web/dto/Post/PostRequestDTO.java @@ -17,6 +17,7 @@ public class PostRequestDTO { @NoArgsConstructor public static class CreatePostRequestDTO { private Long teamId; + private Long projectId; private String postTitle; private String postBody; private Boolean postStatus;