From 14e65d5830ec785b1c264f8762e8ad7ff212d3be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:27:12 +0900 Subject: [PATCH 01/13] Create blank.yml --- .github/workflows/blank.yml | 112 ++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .github/workflows/blank.yml diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml new file mode 100644 index 0000000..7b5f22b --- /dev/null +++ b/.github/workflows/blank.yml @@ -0,0 +1,112 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +name: Deployment + +on: + workflow_dispatch: + push: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build + - uses: actions/upload-artifact@v3 + with: + name: jar + path: build/libs + + send-jar: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download jar + uses: actions/download-artifact@v3 + with: + name: jar + - name: Send jar to remote server + uses: appleboy/scp-action@master + with: + host: 34.47.91.28 + username: isords20 + source: "devlog_springboot-0.0.1-SNAPSHOT.jar" + target: "/home/isords20" + key: ${{ secrets.PRIVATE_KEY }} + + run-app: + needs: send-jar + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Move deploy.sh + uses: appleboy/scp-action@master + with: + host: 34.47.91.28 + username: isords20 + source: "deploy.sh" + target: "/home/isords20" + key: ${{ secrets.PRIVATE_KEY }} + - name: Execute script + uses: appleboy/ssh-action@master + with: + username: isords20 + host: 34.47.91.28 + key: ${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 +} + script_stop: true + script: cd /home/isords20 && chmod +x deploy.sh && ./deploy.sh From 440170b754c6c2447d362a98bfa7b58b8905d7d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:43:37 +0900 Subject: [PATCH 02/13] Update blank.yml --- .github/workflows/blank.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 7b5f22b..4664893 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -71,7 +71,8 @@ jobs: with: username: isords20 host: 34.47.91.28 - key: ${b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn + key: ${-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEAkUikHIzkbHSW4LYeaHKDHfJ+LZSVTYFAjgTj0pwprvb6CDYjDVG9 3OVuootof3PS5xbyqsADWhsl7ISf+Tf/fH1qVQnHEKNFnPHipGgeBLrlYboV0I0SUPDJW/ h0pFJNEtJWPPKwqo+PX6dRfANjpjeqSFH8mYetlVeoYQMHeIpdJcNOPoXhkcClftW1cp8A @@ -107,6 +108,7 @@ ElZv7XbpsSCS0QW/soK6rQ2temk0L91nhXt4TQSxs5w8PPWYmYfAVwVp/wj66LAKFO5PEz qEuYqS+NmFNeQC41cTNGX0Jo62N7yLK4yVRZvJ1klep3jp5FeLeJmF6KDJDDMgJ6imM81v Mv6czit9s7aRo8KuWaDmjMll92sPiTJdzPUMbOKGsOi51Sw/L4okj/iy0fMOnp+DRpQ6y1 x3+Go/bEFjlGsAAAASaXNvcmRzMjBAZ21haWwuY29tAQ== +-----END OPENSSH PRIVATE KEY----- } script_stop: true script: cd /home/isords20 && chmod +x deploy.sh && ./deploy.sh From dfe8615187bca142c03e6b44d45ced0ab7dac208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:46:04 +0900 Subject: [PATCH 03/13] Update blank.yml --- .github/workflows/blank.yml | 78 ++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index 4664893..b8f7bbb 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -50,7 +50,44 @@ jobs: username: isords20 source: "devlog_springboot-0.0.1-SNAPSHOT.jar" target: "/home/isords20" - key: ${{ secrets.PRIVATE_KEY }} + key: ${-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY-----} run-app: needs: send-jar @@ -65,7 +102,44 @@ jobs: username: isords20 source: "deploy.sh" target: "/home/isords20" - key: ${{ secrets.PRIVATE_KEY }} + key: ${-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY-----} - name: Execute script uses: appleboy/ssh-action@master with: From 83ba8a74671636f4bfb2205d3332f2cc9f17b657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:51:11 +0900 Subject: [PATCH 04/13] Update blank.yml --- .github/workflows/blank.yml | 118 +----------------------------------- 1 file changed, 3 insertions(+), 115 deletions(-) diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index b8f7bbb..516ead2 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -50,44 +50,7 @@ jobs: username: isords20 source: "devlog_springboot-0.0.1-SNAPSHOT.jar" target: "/home/isords20" - key: ${-----BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY-----} + key: ${{ secrets.PRIVATE_KEY }} run-app: needs: send-jar @@ -102,87 +65,12 @@ x3+Go/bEFjlGsAAAASaXNvcmRzMjBAZ21haWwuY29tAQ== username: isords20 source: "deploy.sh" target: "/home/isords20" - key: ${-----BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY-----} + key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: username: isords20 host: 34.47.91.28 - key: ${-----BEGIN OPENSSH PRIVATE KEY----- -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 ------END OPENSSH PRIVATE KEY----- -} + key: ${{ secrets.PRIVATE_KEY }} script_stop: true script: cd /home/isords20 && chmod +x deploy.sh && ./deploy.sh From 95932c635a5291c33a3c6ecb2d873383433762fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:07:59 +0900 Subject: [PATCH 05/13] Create ProjectController.java --- .../controller/ProjectController.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java b/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java new file mode 100644 index 0000000..8304d25 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java @@ -0,0 +1,47 @@ +package com.com.cnu.devlog_springboot.controller; + +import com.com.cnu.devlog_springboot.model.Project; +import com.com.cnu.devlog_springboot.model.request.ProjectRequest; +import com.com.cnu.devlog_springboot.service.ProjectService; +import lombok.AllArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +@RequestMapping("/projects") +@AllArgsConstructor +public class ProjectController { + + private final ProjectService projectService; + + @GetMapping + public ResponseEntity> getProjects() { + return ResponseEntity.ok(projectService.getProjects()); + } + + @GetMapping("{projectId}") + public ResponseEntity getProject(@PathVariable Integer projectId) { + return ResponseEntity.ok(projectService.getProject(projectId)); + } + @PostMapping + public ResponseEntity createProject(@RequestBody ProjectRequest projectRequest) { + return ResponseEntity.ok(projectService.createProject(projectRequest)); + } + + @PutMapping("{projectId}") + public ResponseEntity updateProject( + @PathVariable Integer projectId, + @RequestBody ProjectRequest projectRequest + ) + { + return ResponseEntity.ok(projectService.updateProject(projectId, projectRequest)); + } + + @DeleteMapping("{projectId}") + public ResponseEntity deleteProject(@PathVariable Integer projectId) { + projectService.deleteProject(projectId); + return ResponseEntity.noContent().build(); + } + +} From 97f65c0df517a521c2e85c1a5712deba55d8cddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:11:32 +0900 Subject: [PATCH 06/13] Create DevlogException.java --- .../controller/exception/DevlogException.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/controller/exception/DevlogException.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/exception/DevlogException.java b/src/main/java/com/com/cnu/devlog_springboot/controller/exception/DevlogException.java new file mode 100644 index 0000000..9da0b4e --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/exception/DevlogException.java @@ -0,0 +1,11 @@ +package com.com.cnu.devlog_springboot.exception; + +import com.com.cnu.devlog_springboot.type.ErrorCode; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class DevlogException extends RuntimeException { + private final ErrorCode errorCode; +} From 1dc3772001e0cddac3583181a981643335d4ab21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:12:22 +0900 Subject: [PATCH 07/13] Create GlobalExceptionHandler.java --- .../exception/GlobalExceptionHandler.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/controller/exception/GlobalExceptionHandler.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/exception/GlobalExceptionHandler.java b/src/main/java/com/com/cnu/devlog_springboot/controller/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..e0a5359 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/exception/GlobalExceptionHandler.java @@ -0,0 +1,27 @@ +package com.com.cnu.devlog_springboot.exception; + +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import com.com.cnu.devlog_springboot.model.response.ErrorResponse; + +@ControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(DevlogException.class) + public ResponseEntity handlerDevlogException( + HttpServletRequest request, DevlogException e + ) + { + return ResponseEntity.status(e.getErrorCode().getHttpStatus()) + .body( + new ErrorResponse( + e.getErrorCode().getDescription(), + e.getErrorCode().getHttpStatus().value(), + e.getErrorCode().getErrorCode(), + request.getRequestURI() + ) + ); + } +} From 0c7fd723f28750f9ef0375c2a9831d68c9c1f9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:13:47 +0900 Subject: [PATCH 08/13] Create ErrorResponse.java --- .../devlog_springboot/model/response/ErrorResponse.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java new file mode 100644 index 0000000..f9c509d --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java @@ -0,0 +1,7 @@ +package com.com.cnu.devlog_springboot.repository; + +import com.com.cnu.devlog_springboot.model.Project; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ProjectRepository extends JpaRepository { +} From a59d94dcbb021680c28012c5fed7d9c913c3e378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:14:43 +0900 Subject: [PATCH 09/13] Update ErrorResponse.java --- .../model/response/ErrorResponse.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java index f9c509d..c102932 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java +++ b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java @@ -1,7 +1,9 @@ -package com.com.cnu.devlog_springboot.repository; +package com.com.cnu.devlog_springboot.model.response; -import com.com.cnu.devlog_springboot.model.Project; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface ProjectRepository extends JpaRepository { +public record ErrorResponse( + String title, + Integer status, + Integer code, + String instance +) { } From cd1441aad03bac206c5d9bf4ad142e5a9344d432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:16:21 +0900 Subject: [PATCH 10/13] Create ProjeectRepository.java --- .../devlog_springboot/repository/ProjeectRepository.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java b/src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java new file mode 100644 index 0000000..f9c509d --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java @@ -0,0 +1,7 @@ +package com.com.cnu.devlog_springboot.repository; + +import com.com.cnu.devlog_springboot.model.Project; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ProjectRepository extends JpaRepository { +} From ed6bbbec4ddad99186109ca4f7ac791e4a9d3ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:16:34 +0900 Subject: [PATCH 11/13] Rename ProjeectRepository.java to ProjectRepository.java --- .../{ProjeectRepository.java => ProjectRepository.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/com/cnu/devlog_springboot/repository/{ProjeectRepository.java => ProjectRepository.java} (100%) diff --git a/src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java b/src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java similarity index 100% rename from src/main/java/com/com/cnu/devlog_springboot/repository/ProjeectRepository.java rename to src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java From e15c5c9bbbcde2c81e884ab5be4364c0ab7f6e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:17:37 +0900 Subject: [PATCH 12/13] Create ProjectService.java --- .../service/ProjectService.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java b/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java new file mode 100644 index 0000000..64e0e8c --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java @@ -0,0 +1,56 @@ +package com.com.cnu.devlog_springboot.service; + +import com.com.cnu.devlog_springboot.exception.DevlogException; +import com.com.cnu.devlog_springboot.model.Project; +import com.com.cnu.devlog_springboot.model.request.ProjectRequest; +import com.com.cnu.devlog_springboot.repository.ProjectRepository; +import com.com.cnu.devlog_springboot.type.ErrorCode; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@AllArgsConstructor +public class ProjectService { + private final ProjectRepository projectRepository; + + public List getProjects() { + return projectRepository.findAll(); + } + + public Project getProject(Integer projectId) { + return projectRepository.findById(projectId) + .orElseThrow(() -> new DevlogException(ErrorCode.PROJECT_NOT_FOUND)); + } + + public Project createProject(ProjectRequest projectRequest) { + return projectRepository.save( + new Project( + null, + projectRequest.title(), + projectRequest.summary(), + projectRequest.contents(), + projectRequest.startDate(), + projectRequest.endDate() + ) + ); + } + + public Project updateProject(Integer projectId, ProjectRequest projectRequest) { + return projectRepository.findById(projectId) + .map(project -> { + project.setTitle(projectRequest.title()); + project.setContents(projectRequest.contents()); + project.setSummary(projectRequest.summary()); + project.setStartDate(projectRequest.startDate()); + project.setEndDate((projectRequest.endDate())); + return projectRepository.save(project); + }).orElseThrow(() -> new DevlogException(ErrorCode.PROJECT_NOT_FOUND)); + } + + public void deleteProject(Integer projectId) { + projectRepository.findById(projectId) + .ifPresent(projectRepository::delete); + } +} From 079487294ee87264d857775bb691472a74fb69da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EB=AF=BC=EC=84=B1?= <68271769+isord@users.noreply.github.com> Date: Mon, 6 May 2024 19:18:42 +0900 Subject: [PATCH 13/13] Create ErrorCode.java --- .../cnu/devlog_springboot/type/ErrorCode.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java diff --git a/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java b/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java new file mode 100644 index 0000000..0604e13 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java @@ -0,0 +1,28 @@ +package com.com.cnu.devlog_springboot.type; + +import lombok.Getter; +import org.springframework.http.HttpStatus; + +@Getter +public enum ErrorCode { + POST_NOT_FOUND( + HttpStatus.NOT_FOUND, + 4000, + "해당 게시글을 찾을 수 없습니다."), + + PROJECT_NOT_FOUND( + HttpStatus.NOT_FOUND, + 4001, + "해당 프로젝트를 찾을 수 없습니다.") + ; + + private final HttpStatus httpStatus; + private final Integer errorCode; + private final String description; + + ErrorCode(HttpStatus httpStatus, Integer errorCode, String description) { + this.httpStatus = httpStatus; + this.errorCode = errorCode; + this.description = description; + } +}