diff --git a/src/main/java/com/cnu/real_coding_server/controller/PostController.java b/src/main/java/com/cnu/real_coding_server/controller/PostController.java deleted file mode 100644 index c31c90e..0000000 --- a/src/main/java/com/cnu/real_coding_server/controller/PostController.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.cnu.real_coding_server.controller; - -import com.cnu.real_coding_server.entity.Post; -import com.cnu.real_coding_server.model.request.PostRequest; -import com.cnu.real_coding_server.service.PostService; -import lombok.RequiredArgsConstructor; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/posts") -@RequiredArgsConstructor -public class PostController { - private final PostService postService; - - @PostMapping - public ResponseEntity createPost(@RequestBody PostRequest postRequest) { - return ResponseEntity.ok(postService.createPost(postRequest)); - } - - @GetMapping - public ResponseEntity> getPosts() { - return ResponseEntity.ok(postService.getPosts()); - } - - @GetMapping("/{postId}") - public ResponseEntity getPost(@PathVariable("postId") Integer postId) { - return ResponseEntity.ok(postService.getPost(postId).orElse(null)); - } - - @PutMapping("/{postId}") - public ResponseEntity updatePost(@PathVariable("postId")Integer postId, - @RequestBody PostRequest postRequest) { - return ResponseEntity.ok(postService.updatePost(postId, postRequest).orElse(null)); - } - - @DeleteMapping("/{postId}") - public ResponseEntity deletePost(@PathVariable("postId") Integer postId) { - postService.deletePost(postId); - - return ResponseEntity.noContent().build(); - } -} diff --git a/src/main/java/com/cnu/real_coding_server/controller/ProjectController.java b/src/main/java/com/cnu/real_coding_server/controller/ProjectController.java new file mode 100644 index 0000000..1ba6c5c --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/controller/ProjectController.java @@ -0,0 +1,45 @@ +package com.cnu.real_coding_server.controller; + +import com.cnu.real_coding_server.entity.Project; +import com.cnu.real_coding_server.model.request.ProjectRequest; +import com.cnu.real_coding_server.service.ProjectService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/projects") +@RequiredArgsConstructor +public class ProjectController { + private final ProjectService projectService; + + @PostMapping + public ResponseEntity createProject(@RequestBody ProjectRequest projectRequest) { + return ResponseEntity.ok(projectService.createProject(projectRequest)); + } + + @GetMapping + public ResponseEntity> getProjects() { + return ResponseEntity.ok(projectService.getProjects()); + } + + @GetMapping("/{projectId}") + public ResponseEntity getProject(@PathVariable("projectId") Integer projectId) { + return ResponseEntity.ok(projectService.getProject(projectId).orElse(null)); + } + + @PutMapping("/{projectId}") + public ResponseEntity updateProject(@PathVariable("projectId")Integer projectId, + @RequestBody ProjectRequest projectRequest) { + return ResponseEntity.ok(projectService.updateProject(projectId, projectRequest).orElse(null)); + } + + @DeleteMapping("/{projectId}") + public ResponseEntity deleteProject(@PathVariable("projectId") Integer projectId) { + projectService.deleteProject(projectId); + + return ResponseEntity.noContent().build(); + } +} diff --git a/src/main/java/com/cnu/real_coding_server/entity/Project.java b/src/main/java/com/cnu/real_coding_server/entity/Project.java index 07203b9..a593317 100644 --- a/src/main/java/com/cnu/real_coding_server/entity/Project.java +++ b/src/main/java/com/cnu/real_coding_server/entity/Project.java @@ -37,6 +37,7 @@ public class Project extends BaseEntity { @Setter private Boolean isInProgress; + @Builder private Project(String title, String summary, diff --git a/src/main/java/com/cnu/real_coding_server/service/PostService.java b/src/main/java/com/cnu/real_coding_server/service/PostService.java deleted file mode 100644 index 490a745..0000000 --- a/src/main/java/com/cnu/real_coding_server/service/PostService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.cnu.real_coding_server.service; - -import com.cnu.real_coding_server.entity.Post; -import com.cnu.real_coding_server.model.request.PostRequest; -import com.cnu.real_coding_server.repository.PostRepository; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; - -@Service -@RequiredArgsConstructor -public class PostService { - - private final PostRepository postRepository; - - public Post createPost(PostRequest postRequest) { - return postRepository.save(postRequest.toEntity()); - } - - public List getPosts() { - return postRepository.findAll(); - } - - public Optional getPost(Integer postId) { - return postRepository.findById(postId); - } - - public Optional updatePost(Integer postId, PostRequest postRequest) { - return postRepository.findById(postId) - .map(post -> { - post.setTitle(postRequest.getTitle()); - post.setContents(postRequest.getContents()); - post.setTag(postRequest.getTag()); - return postRepository.save(post); - }); - } - - public void deletePost(Integer postId) { - postRepository.findById(postId) - .ifPresent(postRepository::delete); - } -} diff --git a/src/main/java/com/cnu/real_coding_server/service/ProjectService.java b/src/main/java/com/cnu/real_coding_server/service/ProjectService.java new file mode 100644 index 0000000..63132fa --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/service/ProjectService.java @@ -0,0 +1,47 @@ +package com.cnu.real_coding_server.service; + +import com.cnu.real_coding_server.entity.Project; +import com.cnu.real_coding_server.model.request.ProjectRequest; +import com.cnu.real_coding_server.repository.ProjectRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +@RequiredArgsConstructor +public class ProjectService { + + private final ProjectRepository projectRepository; + + public Project createProject(ProjectRequest projectRequest) { + return projectRepository.save(projectRequest.toEntity()); + } + + public List getProjects() { + return projectRepository.findAll(); + } + + public Optional getProject(Integer projectId) { + return projectRepository.findById(projectId); + } + + public Optional updateProject(Integer projectId, ProjectRequest projectRequest) { + return projectRepository.findById(projectId) + .map(project -> { + project.setTitle(projectRequest.getTitle()); + project.setStartDate(projectRequest.getStartDate()); + project.setEndDate(projectRequest.getEndDate()); + project.setSummary(projectRequest.getSummary()); + project.setDescription(projectRequest.getDescription()); + return projectRepository.save(project); + + }); + } + + public void deleteProject(Integer projectId) { + projectRepository.findById(projectId) + .ifPresent(projectRepository::delete); + } +}