Package inha.git.project.api.controller
Class ProjectController
java.lang.Object
inha.git.project.api.controller.ProjectController
ProjectController는 project 관련 엔드포인트를 처리.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateGithubProject
(User user, CreateGithubProjectRequest createGithubProjectRequest) GitHub 프로젝트 생성createProject
(User user, CreateProjectRequest createProjectRequest, org.springframework.web.multipart.MultipartFile file) 프로젝트 생성deleteProject
(User user, Integer projectIdx) 프로젝트 삭제BaseResponse<org.springframework.data.domain.Page<SearchProjectsResponse>>
getCondProjects
(SearchProjectCond searchProjectCond, Integer page, Integer size) 프로젝트 조건 조회 APIgetProject
(User user, Integer projectIdx) 프로젝트 상세 조회 APIgetProjectFile
(User user, Integer projectIdx, String path) 프로젝트 파일 조회 APIupdateProject
(User user, Integer projectIdx, UpdateProjectRequest updateProjectRequest, org.springframework.web.multipart.MultipartFile file) 프로젝트 수정
-
Constructor Details
-
ProjectController
public ProjectController()
-
-
Method Details
-
getCondProjects
@GetMapping("/cond") public BaseResponse<org.springframework.data.domain.Page<SearchProjectsResponse>> getCondProjects(@Validated @ModelAttribute SearchProjectCond searchProjectCond, @RequestParam("page") Integer page, @RequestParam("size") Integer size) 프로젝트 조건 조회 API프로젝트 조건에 맞게 조회합니다.
- Parameters:
searchProjectCond
- 프로젝트 검색 조건page
- 페이지 번호size
- size 페이지 사이즈- Returns:
- 검색된 프로젝트 정보를 포함하는 BaseResponse<Page
>
-
getProject
@GetMapping("/{projectIdx}") public BaseResponse<SearchProjectResponse> getProject(@AuthenticationPrincipal User user, @PathVariable("projectIdx") Integer projectIdx) 프로젝트 상세 조회 API프로젝트 상세를 조회합니다.
- Parameters:
projectIdx
- 프로젝트 ID- Returns:
- 프로젝트 상세 조회 결과를 포함하는 BaseResponse
-
getProjectFile
@GetMapping("/{projectIdx}/file") public BaseResponse<List<SearchFileResponse>> getProjectFile(@AuthenticationPrincipal User user, @PathVariable("projectIdx") Integer projectIdx, @RequestParam(value="path",defaultValue="/") String path) 프로젝트 파일 조회 API프로젝트 파일을 조회합니다.
- Parameters:
projectIdx
- 프로젝트 IDpath
- 파일 경로- Returns:
- 프로젝트 파일 조회 결과를 포함하는 BaseResponse<List
>
-
createProject
@PostMapping(consumes="multipart/form-data") public BaseResponse<ProjectResponse> createProject(@AuthenticationPrincipal User user, @Validated @RequestPart("createProjectRequest") CreateProjectRequest createProjectRequest, @RequestPart("file") org.springframework.web.multipart.MultipartFile file) 프로젝트 생성- Parameters:
user
- 사용자 정보createProjectRequest
- 프로젝트 생성 요청file
- 프로젝트 파일- Returns:
- 생성된 프로젝트 정보
-
createGithubProject
@PostMapping("/github") public BaseResponse<ProjectResponse> createGithubProject(@AuthenticationPrincipal User user, @Validated @RequestBody CreateGithubProjectRequest createGithubProjectRequest) GitHub 프로젝트 생성- Parameters:
user
- 사용자 정보createGithubProjectRequest
- GitHub 프로젝트 생성 요청- Returns:
- 생성된 프로젝트 정보
-
updateProject
@PutMapping(value="/{projectIdx}", consumes="multipart/form-data") public BaseResponse<ProjectResponse> updateProject(@AuthenticationPrincipal User user, @PathVariable("projectIdx") Integer projectIdx, @Validated @RequestPart("updateProjectRequest") UpdateProjectRequest updateProjectRequest, @RequestPart(value="file",required=false) org.springframework.web.multipart.MultipartFile file) 프로젝트 수정- Parameters:
user
- 사용자 정보projectIdx
- 수정할 프로젝트 IDupdateProjectRequest
- 프로젝트 수정 요청file
- (선택 사항) 수정할 프로젝트 파일- Returns:
- 수정된 프로젝트 정보
-
deleteProject
@DeleteMapping("/{projectIdx}") public BaseResponse<ProjectResponse> deleteProject(@AuthenticationPrincipal User user, @PathVariable("projectIdx") Integer projectIdx) 프로젝트 삭제- Parameters:
user
- 사용자 정보projectIdx
- 삭제할 프로젝트 ID- Returns:
- 삭제된 프로젝트 정보
-