From 93c87067ce5d17f27f46d57d999aa6cae2bad23b Mon Sep 17 00:00:00 2001 From: gangnim <81398081+choijingyeong@users.noreply.github.com> Date: Mon, 10 Apr 2023 16:28:54 +0900 Subject: [PATCH 1/3] Update deployment.yml --- .github/workflows/deployment.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 2be1220..329071a 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -46,10 +46,10 @@ jobs: - name: Send jar to remote server uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 34.22.77.104 + username: gyeongee113 source: "real_coding_server-0.0.1-SNAPSHOT.jar" - target: "/home/{나의 userName}" + target: "/home/gyeongee113" key: ${{ secrets.PRIVATE_KEY }} run-app: @@ -61,16 +61,16 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host:34.22.77.104 + username:gyeongee113 source: "deploy.sh" - target: "/home/{나의 userName}" + target: "/home/gyeongee113" key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: - username: {나의 userName} - host: {나의 public ip} + username: gyeongee113 + host: 34.22.77.104 key: ${{ secrets.PRIVATE_KEY }} script_stop: true - script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh + script: cd /home/gyeongee113 && chmod +x deploy.sh && ./deploy.sh From 31cc2bcab2f1231fc0ede9372fae02a70e344094 Mon Sep 17 00:00:00 2001 From: gangnim <81398081+choijingyeong@users.noreply.github.com> Date: Mon, 10 Apr 2023 16:36:18 +0900 Subject: [PATCH 2/3] Update deployment.yml --- .github/workflows/deployment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 329071a..7500ff3 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -61,8 +61,8 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host:34.22.77.104 - username:gyeongee113 + host: 34.22.77.104 + username: gyeongee113 source: "deploy.sh" target: "/home/gyeongee113" key: ${{ secrets.PRIVATE_KEY }} From f03f8b1e633e124960077844dbfd867aee769848 Mon Sep 17 00:00:00 2001 From: choijingyeong Date: Fri, 21 Apr 2023 21:17:56 +0900 Subject: [PATCH 3/3] cmt --- .../controller/PostController.java | 46 +++++++++++++++++-- .../controller/ProjectController | 44 ++++++++++++++++++ .../cnu/real_coding_server/entity/Post.java | 7 +-- .../repository/ProjectRepository.java | 9 ++++ .../service/PostService.java | 38 ++++++++++++++- .../service/ProjectService.java | 46 +++++++++++++++++++ src/main/resources/application.yml | 2 +- 7 files changed, 182 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/cnu/real_coding_server/controller/ProjectController create mode 100644 src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java create mode 100644 src/main/java/com/cnu/real_coding_server/service/ProjectService.java 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 index 8d7b907..c188b71 100644 --- a/src/main/java/com/cnu/real_coding_server/controller/PostController.java +++ b/src/main/java/com/cnu/real_coding_server/controller/PostController.java @@ -1,7 +1,47 @@ -package com.cnu.real_coding_server.controller; -import org.springframework.web.bind.annotation.RestController; +@@ -1,7 +1,44 @@ + package com.cnu.real_coding_server.controller; + + import org.springframework.web.bind.annotation.RestController; + 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 +@RequiredArgsConstructor +@RequestMapping("/posts") 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(); + } +} \ No newline at end of file diff --git a/src/main/java/com/cnu/real_coding_server/controller/ProjectController b/src/main/java/com/cnu/real_coding_server/controller/ProjectController new file mode 100644 index 0000000..3af3250 --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/controller/ProjectController @@ -0,0 +1,44 @@ +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 +@RequiredArgsConstructor +@RequestMapping("/projects") +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(); + } +} \ No newline at end of file diff --git a/src/main/java/com/cnu/real_coding_server/entity/Post.java b/src/main/java/com/cnu/real_coding_server/entity/Post.java index 5cfa06a..73e9d17 100644 --- a/src/main/java/com/cnu/real_coding_server/entity/Post.java +++ b/src/main/java/com/cnu/real_coding_server/entity/Post.java @@ -1,9 +1,7 @@ package com.cnu.real_coding_server.entity; - import com.cnu.real_coding_server.model.type.Tag; import jakarta.persistence.*; import lombok.*; - @Getter @Entity(name = "posts") @NoArgsConstructor(access = AccessLevel.PROTECTED) @@ -11,15 +9,14 @@ public class Post extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; - @Column @Setter private String title; - @Column @Setter private String contents; + @Setter @Enumerated(EnumType.STRING) private Tag tag; @@ -29,4 +26,4 @@ public Post(String title, String contents, Tag tag) { this.contents = contents; this.tag = tag; } -} +} \ No newline at end of file diff --git a/src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java b/src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java new file mode 100644 index 0000000..6d1068a --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java @@ -0,0 +1,9 @@ +package com.cnu.real_coding_server.repository; + +import com.cnu.real_coding_server.entity.Project; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ProjectRepository extends JpaRepository { +} \ No newline at end of file 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 index f79fbb8..8ed9983 100644 --- a/src/main/java/com/cnu/real_coding_server/service/PostService.java +++ b/src/main/java/com/cnu/real_coding_server/service/PostService.java @@ -1,7 +1,43 @@ 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); + } +} \ No newline at end of file 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..589fe7a --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/service/ProjectService.java @@ -0,0 +1,46 @@ +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.setDescription(projectRequest.getDescription()); + project.setSummary(projectRequest.getSummary()); + project.setStartDate(projectRequest.getStartDate()); + project.setEndDate(projectRequest.getEndDate()); + project.setIsInProgress(projectRequest.getIsInProgress()); + return projectRepository.save(project); + }); + } + + public void deleteProject(Integer projectId) { + projectRepository.findById(projectId) + .ifPresent(projectRepository::delete); + } +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9f1e564..97c2720 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: driver-class-name: org.h2.Driver # Database? H2? ?????. url: jdbc:h2:mem:devblog # H2 ?? ?? username: sa # H2 ?? ? ??? username ?? (??? ??? ??) - password: # H2 ?? ? ??? password ?? (??? ??? ??) + password: 1234 # H2 ?? ? ??? password ?? (??? ??? ??) jpa: hibernate: