diff --git a/src/main/java/kr/re/etri/autoflow/controllers/WorkFlowController.java b/src/main/java/kr/re/etri/autoflow/controllers/WorkFlowController.java index 8ef6b4a..fc343ab 100644 --- a/src/main/java/kr/re/etri/autoflow/controllers/WorkFlowController.java +++ b/src/main/java/kr/re/etri/autoflow/controllers/WorkFlowController.java @@ -38,6 +38,16 @@ public class WorkFlowController { .orElse(ResponseEntity.notFound().build()); } + @Operation(summary = "파이프라인 ID로 워크플로우 단건 조회") + @GetMapping("/pipeline/{pipelineId}") + public ResponseEntity getWorkflowByPipelineId( + @Parameter(description = "파이프라인 ID", example = "b935cc31-0db5-405e-8ae9-f4dbdc418c59") @PathVariable("pipelineId") String pipelineId) { + + return workflowService.findBypipelineId(pipelineId) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + @Operation(summary = "워크플로우 검색 및 페이지네이션 프로젝트 목록 조회") @GetMapping("/search") public ResponseEntity> searchProjects( diff --git a/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java b/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java index efbb29e..1068722 100644 --- a/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java +++ b/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java @@ -4,5 +4,8 @@ import kr.re.etri.autoflow.entity.WorkflowEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import java.util.Optional; + public interface WorkflowRepository extends JpaRepository, JpaSpecificationExecutor { + Optional findByPipelineId(String pipelineId); } diff --git a/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java b/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java index 3e73d7a..23870ae 100644 --- a/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java +++ b/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java @@ -81,4 +81,9 @@ public class WorkFlowService { return workflowRepository.findAll(spec, pageable); } + + public Optional findBypipelineId(String pipelineId) { + return workflowRepository.findByPipelineId(pipelineId); + } + }