diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 2be1220..b5cf649 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -1,3 +1,4 @@ + # 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 @@ -46,10 +47,10 @@ jobs: - name: Send jar to remote server uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 34.22.65.56 + username: bdqueen3250 source: "real_coding_server-0.0.1-SNAPSHOT.jar" - target: "/home/{나의 userName}" + target: "/home/bdqueen3250" key: ${{ secrets.PRIVATE_KEY }} run-app: @@ -61,16 +62,16 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 34.22.65.56 + username: bdqueen3250 source: "deploy.sh" - target: "/home/{나의 userName}" + target: "/home/bdqueen3250" key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: - username: {나의 userName} - host: {나의 public ip} + username: bdqueen3250 + host: 34.22.65.56 key: ${{ secrets.PRIVATE_KEY }} script_stop: true - script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh + script: cd /home/bdqueen3250 && chmod +x deploy.sh && ./deploy.sh diff --git a/build/classes/java/main/com/cnu/real_coding_server/RealCodingServerApplication.class b/build/classes/java/main/com/cnu/real_coding_server/RealCodingServerApplication.class new file mode 100644 index 0000000..7cce177 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/RealCodingServerApplication.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/config/WebMVCConfig.class b/build/classes/java/main/com/cnu/real_coding_server/config/WebMVCConfig.class new file mode 100644 index 0000000..f7d9936 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/config/WebMVCConfig.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/controller/PostController.class b/build/classes/java/main/com/cnu/real_coding_server/controller/PostController.class new file mode 100644 index 0000000..7f61b74 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/controller/PostController.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/controller/ProjectController.class b/build/classes/java/main/com/cnu/real_coding_server/controller/ProjectController.class new file mode 100644 index 0000000..e45456c Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/controller/ProjectController.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/entity/BaseEntity.class b/build/classes/java/main/com/cnu/real_coding_server/entity/BaseEntity.class new file mode 100644 index 0000000..e9d65d0 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/entity/BaseEntity.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/entity/Post$PostBuilder.class b/build/classes/java/main/com/cnu/real_coding_server/entity/Post$PostBuilder.class new file mode 100644 index 0000000..742dbbe Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/entity/Post$PostBuilder.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/entity/Post.class b/build/classes/java/main/com/cnu/real_coding_server/entity/Post.class new file mode 100644 index 0000000..10babb8 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/entity/Post.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/entity/Project$ProjectBuilder.class b/build/classes/java/main/com/cnu/real_coding_server/entity/Project$ProjectBuilder.class new file mode 100644 index 0000000..c7f8b75 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/entity/Project$ProjectBuilder.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/entity/Project.class b/build/classes/java/main/com/cnu/real_coding_server/entity/Project.class new file mode 100644 index 0000000..c46c3b4 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/entity/Project.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/model/request/PostRequest.class b/build/classes/java/main/com/cnu/real_coding_server/model/request/PostRequest.class new file mode 100644 index 0000000..589e57b Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/model/request/PostRequest.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/model/request/ProjectRequest.class b/build/classes/java/main/com/cnu/real_coding_server/model/request/ProjectRequest.class new file mode 100644 index 0000000..19211ca Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/model/request/ProjectRequest.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/model/type/Tag.class b/build/classes/java/main/com/cnu/real_coding_server/model/type/Tag.class new file mode 100644 index 0000000..46a921e Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/model/type/Tag.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/repository/PostRepository.class b/build/classes/java/main/com/cnu/real_coding_server/repository/PostRepository.class new file mode 100644 index 0000000..746a7e5 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/repository/PostRepository.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/repository/ProjectRepository.class b/build/classes/java/main/com/cnu/real_coding_server/repository/ProjectRepository.class new file mode 100644 index 0000000..424df76 Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/repository/ProjectRepository.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/service/PostService.class b/build/classes/java/main/com/cnu/real_coding_server/service/PostService.class new file mode 100644 index 0000000..c7225ef Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/service/PostService.class differ diff --git a/build/classes/java/main/com/cnu/real_coding_server/service/ProjectService.class b/build/classes/java/main/com/cnu/real_coding_server/service/ProjectService.class new file mode 100644 index 0000000..e3c03ee Binary files /dev/null and b/build/classes/java/main/com/cnu/real_coding_server/service/ProjectService.class differ diff --git a/build/resources/main/application.yml b/build/resources/main/application.yml new file mode 100644 index 0000000..9f1e564 --- /dev/null +++ b/build/resources/main/application.yml @@ -0,0 +1,22 @@ +spring: + # H2 Setting Info (H2 Console? ???? ?? ???? ??) + h2: + console: + enabled: true # H2 Console? ???? ?? (H2 Console? H2 Database? UI? ????? ??) + path: /h2-console # H2 Console? Path +# Database Setting Info (Database? H2? ???? ?? H2?? ?? ??) + datasource: + driver-class-name: org.h2.Driver # Database? H2? ?????. + url: jdbc:h2:mem:devblog # H2 ?? ?? + username: sa # H2 ?? ? ??? username ?? (??? ??? ??) + password: # H2 ?? ? ??? password ?? (??? ??? ??) + + jpa: + hibernate: + ddl-auto: create # ??????? ??? ? ??????? ????? ?? ??? ?? + properties: + hibernate: + format_sql: true # ???? query? ??? + +logging.level: + org.hibernate.SQL: debug \ No newline at end of file diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ProjectController.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectController.class.uniqueId0 new file mode 100644 index 0000000..b0c6dab Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectController.class.uniqueId0 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRepository.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRepository.class.uniqueId2 new file mode 100644 index 0000000..abaaf3b Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRepository.class.uniqueId2 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRequest.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRequest.class.uniqueId1 new file mode 100644 index 0000000..e9dc50f Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectRequest.class.uniqueId1 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ProjectService.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectService.class.uniqueId3 new file mode 100644 index 0000000..00b5c9a Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ProjectService.class.uniqueId3 differ diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000..043f7a9 Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ 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 c31c90e..54631c5 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 @@ -10,7 +10,7 @@ import java.util.List; @RestController -@RequestMapping("/posts") +@RequestMapping({"/posts"}) @RequiredArgsConstructor public class PostController { private final PostService postService; @@ -24,7 +24,6 @@ public ResponseEntity createPost(@RequestBody PostRequest postRequest) { 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)); 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..ba08feb --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/controller/ProjectController.java @@ -0,0 +1,46 @@ +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 postId) { + return ResponseEntity.ok(projectService.getProject(postId).orElse(null)); + } + + @PutMapping("/{projectId}") + public ResponseEntity updateProject(@PathVariable("projectId")Integer postId, + @RequestBody ProjectRequest projectRequest) { + return ResponseEntity.ok(projectService.updateProject(postId, projectRequest).orElse(null)); + } + + @DeleteMapping("/{projectId}") + public ResponseEntity deleteProject(@PathVariable("projectId") Integer postId) { + projectService.deleteProject(postId); + + 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..ba833fe 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 @@ -1,10 +1,9 @@ package com.cnu.real_coding_server.entity; +import com.cnu.real_coding_server.model.type.Tag; import jakarta.persistence.*; import lombok.*; -import java.time.LocalDateTime; - @Getter @Entity(name = "projects") @NoArgsConstructor(access = AccessLevel.PROTECTED) @@ -19,36 +18,16 @@ public class Project extends BaseEntity { @Column @Setter - private String summary; - - @Column - @Setter - private String description; + private String contents; - @Column - @Setter - private LocalDateTime startDate; - - @Column - @Setter - private LocalDateTime endDate; - - @Column @Setter - private Boolean isInProgress; + @Enumerated(EnumType.STRING) + private Tag tag; @Builder - private Project(String title, - String summary, - String description, - LocalDateTime startDate, - LocalDateTime endDate, - Boolean isInProgress) { + public Project(String title, String contents, Tag tag) { this.title = title; - this.summary = summary; - this.description = description; - this.startDate = startDate; - this.endDate = endDate; - this.isInProgress = isInProgress; + this.contents = contents; + this.tag = tag; } -} +} \ No newline at end of file diff --git a/src/main/java/com/cnu/real_coding_server/model/request/ProjectRequest.java b/src/main/java/com/cnu/real_coding_server/model/request/ProjectRequest.java index 2e80181..8c9e488 100644 --- a/src/main/java/com/cnu/real_coding_server/model/request/ProjectRequest.java +++ b/src/main/java/com/cnu/real_coding_server/model/request/ProjectRequest.java @@ -1,32 +1,23 @@ -package com.cnu.real_coding_server.model.request; - -import com.cnu.real_coding_server.entity.Project; -import lombok.Getter; - -import java.time.LocalDateTime; - -@Getter -public class ProjectRequest { - private String title; - - private String summary; - - private String description; - - private LocalDateTime startDate; - - private LocalDateTime endDate; - - private Boolean isInProgress; - - public Project toEntity() { - return Project.builder() - .title(title) - .summary(summary) - .description(description) - .startDate(startDate) - .endDate(endDate) - .isInProgress(isInProgress) - .build(); - } -} +package com.cnu.real_coding_server.model.request; + +import com.cnu.real_coding_server.entity.Project; +import com.cnu.real_coding_server.model.type.Tag; +import jakarta.validation.Valid; +import lombok.Getter; + +@Getter +public class ProjectRequest { + @Valid + private String title; + private String contents; + + private Tag tag; + + public Project toEntity() { + return Project.builder() + .title(title) + .contents(contents) + .tag(tag) + .build(); + } +} 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 index 2296df6..6dcf1f3 100644 --- a/src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java +++ b/src/main/java/com/cnu/real_coding_server/repository/ProjectRepository.java @@ -1,13 +1,14 @@ -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 { -// Project save(Project post); -// List findAll(); -// Optional findById(Integer projectId); -// void delete(Project projectId); -} +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 { +// Project save(Project post); +// List findAll(); +// Optional findById(Integer projectId); +// void delete(Project projectId); +} + 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 490a745..74556f2 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 @@ -15,18 +15,22 @@ 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 -> { @@ -37,8 +41,10 @@ public Optional updatePost(Integer postId, PostRequest postRequest) { }); } + 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..f1223e5 --- /dev/null +++ b/src/main/java/com/cnu/real_coding_server/service/ProjectService.java @@ -0,0 +1,39 @@ +package com.cnu.real_coding_server.service; + +import com.cnu.real_coding_server.entity.Post; +import com.cnu.real_coding_server.entity.Project; +import com.cnu.real_coding_server.model.request.ProjectRequest; +import com.cnu.real_coding_server.repository.PostRepository; +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 postId) { + return projectRepository.findById(postId); + } + public Optional updateProject(Integer postId, ProjectRequest projectRequest) { + return projectRepository.findById(postId) + .map(post -> { + post.setTitle(projectRequest.getTitle()); + post.setContents(projectRequest.getContents()); + post.setTag(projectRequest.getTag()); + return projectRepository.save(post); + }); + } + public void deleteProject(Integer postId) { + projectRepository.findById(postId) + .ifPresent(projectRepository::delete); + } + +}